Site Tools


Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
pi-homeserver

Hardware

  • Memory: 1×260Pin SO-DIMM 8GB DDR4 2400 CL14 1,2V: HX424S14IB2/8 2. Slot available (max 2×16GB DDR4)
  • 8GB eMMC 5.0 (read rate ~130MB/s)
  • M.2 PCIe 2.0 x4 slot (support NGFF-2280): Kingston SV1 NVME 250GB (not compatible with M.2 SATA SSD)
  • some HDDs (1x 12TB will be connected, 2 SATA-Ports available)

Powerconsumption

BIOS: (Odroid H2, SSD X250 128GB, 8GB Memory DDR4 2400 CL14 “HX424S14IB2/8”; HDMI on, Ethernet 1x, 1x USB-Keyboard):
7,5W
Idle: (Odroid H2, SSD X250 128GB, 8GB Memory DDR4 2400 CL14 “HX424S14IB2/8”; HDMI on, Ethernet 1x, 1x USB-Keyboard):
~5W

BIOS configuration

For booting fom emmc: XHCI enabled

NixOS crypt setup

Encrypted NixOS via standard installer by Nov.2022 (v22.05) but changed ext4 root filesystem to btrfs after installation.
Before reboot you can unmount the new installation-system partitions. Then you can simply convert the ext4-filesystem with

btrfs-convert /dev/mapper/luks-btrfs

With blkid you can get the new UUID for the converted logical volume and copy in hardware-configuration.nix file:

hardware-configuration.nix

fileSystems."/" =
    { device = "/dev/disk/by-uuid/d11cd5b3-8a41-42d0-b671-04efbdd8b18b";
      fsType = "btrfs";
      options = [ "subvolid=5" "subvol=/" ];
      neededForBoot = true;
    };
 
  boot.initrd.luks.devices."luks-btrfs".device = "/dev/disk/by-uuid/085ffcdf-5a5c-43fc-9231-eed8b5d0bbd4";

changed also

configuration.nix

added here also (maybe not needed?)

  boot.initrd.supportedFilesystems = ["btrfs"];

After changing the config, you have to run nixos-rebuild boot and nixos-rebuild switch

Benchmarks

[picloud@picloud2:~]$ sudo nix-shell -p hdparm --run "hdparm -Tt /dev/mapper/luks-btrfs"
/dev/mapper/luks-btrfs:
 
 Timing cached reads:   8778 MB in  1.99 seconds = 4411.76 MB/sec
 Timing buffered disk reads: 1032 MB in  3.00 seconds = 343.78 MB/sec
 
[picloud@picloud2:~]$ sudo nix-shell -p hdparm --run "hdparm -Tt /dev/nvme0n1p2"
 
/dev/nvme0n1p2:
 Timing cached reads:   6826 MB in  1.99 seconds = 3426.54 MB/sec
 Timing buffered disk reads: 1094 MB in  3.00 seconds = 364.46 MB/sec
 
[picloud@picloud2:~]$ sudo nix-shell -p hdparm --run "hdparm -Tt /dev/mmcblk0p2"
 
/dev/mmcblk0p2:
 Timing cached reads:   8476 MB in  1.99 seconds = 4259.80 MB/sec
 Timing buffered disk reads:   2 MB in  0.03 seconds =  74.21 MB/sec
 
[picloud@picloud2:~]$ sudo cryptsetup benchmark 
# Die Tests sind nur annähernd genau, da sie nicht auf den Datenträger zugreifen.
PBKDF2-sha1       840205 Iterationen pro Sekunde für 256-Bit-Schlüssel
PBKDF2-sha256    1394382 Iterationen pro Sekunde für 256-Bit-Schlüssel
PBKDF2-sha512     542741 Iterationen pro Sekunde für 256-Bit-Schlüssel
PBKDF2-ripemd160  375564 Iterationen pro Sekunde für 256-Bit-Schlüssel
PBKDF2-whirlpool  273636 Iterationen pro Sekunde für 256-Bit-Schlüssel
argon2i       4 Iterationen, 604968 Speicher, 4 parallele Threads (CPUs) für 256-Bit-Schlüssel (Zieldauer 2000 Millisekunden)
argon2id      4 Iterationen, 601444 Speicher, 4 parallele Threads (CPUs) für 256-Bit-Schlüssel (Zieldauer 2000 Millisekunden)
#   Algorithmus | Schlüssel | Verschlüsselung | Entschlüsselung
        aes-cbc        128b       654,6 MiB/s      1433,1 MiB/s
    serpent-cbc        128b        49,9 MiB/s       150,8 MiB/s
    twofish-cbc        128b       106,7 MiB/s       120,6 MiB/s
        aes-cbc        256b       511,2 MiB/s      1222,6 MiB/s
    serpent-cbc        256b        50,0 MiB/s       150,8 MiB/s
    twofish-cbc        256b       106,6 MiB/s       120,7 MiB/s
        aes-xts        256b      1294,1 MiB/s      1293,4 MiB/s
    serpent-xts        256b       149,6 MiB/s       148,7 MiB/s
    twofish-xts        256b       116,2 MiB/s       117,3 MiB/s
        aes-xts        512b      1127,2 MiB/s      1131,4 MiB/s
    serpent-xts        512b       148,7 MiB/s       148,5 MiB/s
    twofish-xts        512b       115,8 MiB/s       117,0 MiB/s
pi-homeserver.txt · Last modified: 2022/11/23 20:42 by 10.100.0.1