nixos/hosts/common/disks/zfs/zspeed.nix

84 lines
2.0 KiB
Nix
Raw Normal View History

2024-06-29 17:18:30 +01:00
{
2024-06-29 16:02:38 +01:00
disko.devices = {
disk = {
x = {
type = "disk";
device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";
content = {
type = "gpt";
partitions = {
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "zspeed";
};
};
};
};
};
y = {
type = "disk";
device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3";
content = {
type = "gpt";
partitions = {
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "zspeed";
};
};
};
};
};
};
zpool = {
zspeed = {
type = "zpool";
mode = "mirror";
2024-06-29 17:18:30 +01:00
rootFsOptions = {
2024-06-29 16:02:38 +01:00
"compression" = "zstd-4";
"com.sun:auto-snapshot" = "false";
"xattr" = "sa";
2024-06-29 17:18:30 +01:00
"atime" = "off";
};
options = {
2024-06-29 16:02:38 +01:00
"ashift" = "13";
};
postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^zspeed@blank$' || zfs snapshot zspeed@blank";
datasets = {
postgres = {
type = "zfs_volume";
2024-06-29 16:21:28 +01:00
size = "10G -s";
2024-06-29 17:18:30 +01:00
options = {
"com.sun:auto-snapshot:daily" = "true";
"volblocksize" = "8k";
};
2024-06-29 16:02:38 +01:00
content = {
type = "filesystem";
format = "ext4";
2024-06-29 17:18:30 +01:00
mountpoint = "/postgres";
2024-06-29 16:02:38 +01:00
};
};
2024-06-29 18:13:47 +01:00
test = {
type = "zfs_volume";
size = "10G -s";
options = {
"com.sun:auto-snapshot:daily" = "true";
"volblocksize" = "8k";
};
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/test";
};
};
2024-06-29 16:02:38 +01:00
};
};
};
};
}