postgres zfs setup

This commit is contained in:
mrsu 2024-06-29 16:02:38 +01:00
parent 291a86f71b
commit f3f50b051a
2 changed files with 73 additions and 1 deletions

View File

@ -0,0 +1,72 @@
{
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";
options = {
"compression" = "zstd-4";
"com.sun:auto-snapshot" = "false";
"atime" = "off";
"xattr" = "sa";
"ashift" = "13";
};
mountpoint = "/mnt/zfs";
postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^zspeed@blank$' || zfs snapshot zspeed@blank";
datasets = {
postgres = {
type = "zfs_volume";
size = "10G";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/mnt/postgres";
options = {
"com.sun:auto-snapshot:daily" = "true";
"atime" = "off";
"xattr" = "sa";
"ashift" = "13";
"recordsize" = "8k";
};
};
};
};
};
};
};
}

View File

@ -13,7 +13,7 @@ in
# Create users for this host # Create users for this host
../common/users/${user} ../common/users/${user}
# Disk configuration # Root disk configuration
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
(import ../common/disks { device = dev; impermanence = impermanence; fsType = fsType; encrypted = encrypted; }) (import ../common/disks { device = dev; impermanence = impermanence; fsType = fsType; encrypted = encrypted; })