mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2025-12-22 17:27:14 +01:00
New backup server just dropped!
This server is awfully slow, and the mdraid setup is awfully slow, and I doubt that this will be a good experience, but we now have a backup server again?
- Tried Disko and nixos-anywhere
- Tried using mdraid
- Found that md is ancient and bad
- Found that disko is 100% extra steps, and a lot more complicated and noisy than just formatting your disks yourself
- Found that systemd-boot doesn't support mdraid
- Found that we probably don't need to mirror the boot partition :)
- Found that old hardware is slow
- Found that old hardware can have poor support for iPXE with UEFI, and might do weird BIOS stuff on you when you least expect it
- Reaffirmed that zfs is love
Current disk layout:
- mdraid for boot/root disk
- 4TB WD Red with 500MiB ESP with systemd-boot, Remaining mdraid - Old?
- 4TB WD Red with 500MiB Unused partition, Remaining mdraid - Old?
- zfs pool "tank" for the actual backup data
- 8TB Toshiba MG08 - New
- 8TB Exos 7E10 - New
TODO:
- Document the death of Toriel on the wiki
- Document Bakke on the wiki
- ... describing the poco loco disk layout
- Start backing stuff up
- Restic? Borg? Rsync?
- Make backup retention policy and zfs snapshot system
- Document backup procedures
Reviewed-on: https://git.pvv.ntnu.no/Drift/pvv-nixos-config/pulls/87
Co-authored-by: Felix Albrigtsen <felix@albrigtsen.it>
Co-committed-by: Felix Albrigtsen <felix@albrigtsen.it>
53 lines
1.8 KiB
Nix
53 lines
1.8 KiB
Nix
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||
# and may be overwritten by future invocations. Please make changes
|
||
# to /etc/nixos/configuration.nix instead.
|
||
{ config, lib, pkgs, modulesPath, ... }:
|
||
|
||
{
|
||
imports =
|
||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||
];
|
||
|
||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||
boot.initrd.kernelModules = [ ];
|
||
boot.kernelModules = [ "kvm-intel" ];
|
||
boot.extraModulePackages = [ ];
|
||
|
||
fileSystems."/" =
|
||
{ device = "/dev/disk/by-uuid/0f63c3d2-fc12-4ed5-a5a5-141bfd67a571";
|
||
fsType = "btrfs";
|
||
options = [ "subvol=root" ];
|
||
};
|
||
|
||
fileSystems."/home" =
|
||
{ device = "/dev/disk/by-uuid/0f63c3d2-fc12-4ed5-a5a5-141bfd67a571";
|
||
fsType = "btrfs";
|
||
options = [ "subvol=home" ];
|
||
};
|
||
|
||
fileSystems."/nix" =
|
||
{ device = "/dev/disk/by-uuid/0f63c3d2-fc12-4ed5-a5a5-141bfd67a571";
|
||
fsType = "btrfs";
|
||
options = [ "subvol=nix" "noatime" ];
|
||
};
|
||
|
||
fileSystems."/boot" =
|
||
{ device = "/dev/sdc2";
|
||
fsType = "vfat";
|
||
options = [ "fmask=0022" "dmask=0022" ];
|
||
};
|
||
|
||
swapDevices = [ ];
|
||
|
||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||
# still possible to use this option, but it's recommended to use it in conjunction
|
||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||
networking.useDHCP = lib.mkDefault false;
|
||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||
# networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;
|
||
|
||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
}
|