feat: add disks to nas

This commit is contained in:
2025-12-04 15:01:47 +01:00
parent 5995612407
commit ada9db7942
3 changed files with 20 additions and 8 deletions

View File

@@ -24,12 +24,16 @@
"i915.enable_fbc=1" # Frame buffer compression "i915.enable_fbc=1" # Frame buffer compression
]; ];
# RAID 1 array for data storage # RAID 1 arrays for data storage
boot.swraid = { boot.swraid = {
enable = true; enable = true;
mdadmConf = '' mdadmConf = ''
DEVICE /dev/disk/by-id/nvme-KIOXIA-EXCERIA_PLUS_G3_SSD_7FJKS1MAZ0E7-part1
DEVICE /dev/disk/by-id/nvme-KIOXIA-EXCERIA_PLUS_G3_SSD_7FJKS1M9Z0E7-part1
DEVICE /dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52TBSB-part1 DEVICE /dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52TBSB-part1
DEVICE /dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52V9QX-part1 DEVICE /dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52V9QX-part1
DEVICE /dev/disk/by-id/ata-TOSHIBA_MG10ACA20TE_8582A01SF4MJ-part1
DEVICE /dev/disk/by-id/ata-TOSHIBA_MG10ACA20TE_75V2A0H3F4MJ-part1
''; '';
}; };
@@ -84,14 +88,13 @@
# LVM volumes on RAID array # LVM volumes on RAID array
fileSystems."/var/lib/downloads" = { fileSystems."/var/lib/downloads" = {
device = "/dev/vg-data/lv-downloads"; device = "/dev/vg-data-fast/downloads";
fsType = "xfs"; fsType = "ext4";
options = [ "noatime" ];
}; };
fileSystems."/var/lib/multimedia" = { fileSystems."/var/lib/multimedia" = {
device = "/dev/vg-data/lv-multimedia"; device = "/dev/vg-data-slow/multimedia";
fsType = "xfs"; fsType = "ext4";
options = [ "noatime" ]; options = [ "noatime" ];
}; };

View File

@@ -9,6 +9,10 @@ let
disks = [ disks = [
"/dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52TBSB" "/dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52TBSB"
"/dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52V9QX" "/dev/disk/by-id/ata-ST18000NM000J-2TV103_ZR52V9QX"
"/dev/disk/by-id/ata-TOSHIBA_MG10ACA20TE_8582A01SF4MJ"
"/dev/disk/by-id/ata-TOSHIBA_MG10ACA20TE_75V2A0H3F4MJ"
"/dev/disk/by-id/nvme-KIOXIA-EXCERIA_PLUS_G3_SSD_7FJKS1MAZ0E7"
"/dev/disk/by-id/nvme-KIOXIA-EXCERIA_PLUS_G3_SSD_7FJKS1M9Z0E7"
]; ];
textfileDir = "/var/lib/prometheus-node-exporter"; textfileDir = "/var/lib/prometheus-node-exporter";
@@ -44,8 +48,8 @@ let
device=$(readlink -f "$disk") device=$(readlink -f "$disk")
short_name=$(basename "$device") short_name=$(basename "$device")
# Extract serial from disk ID for labels # Extract serial from disk ID for labels (part after last underscore)
serial=$(basename "$disk" | sed 's/ata-ST18000NM000J-2TV103_//') serial=$(basename "$disk" | sed 's/.*_//')
# Check power state without waking disk # Check power state without waking disk
power_state=$(${pkgs.hdparm}/bin/hdparm -C "$device" 2>/dev/null | grep -oP '(standby|active/idle|active|idle)' | head -1 || echo "unknown") power_state=$(${pkgs.hdparm}/bin/hdparm -C "$device" 2>/dev/null | grep -oP '(standby|active/idle|active|idle)' | head -1 || echo "unknown")

View File

@@ -15,5 +15,10 @@
ACTION=="add", KERNEL=="sd[a-z]", SUBSYSTEM=="block", \ ACTION=="add", KERNEL=="sd[a-z]", SUBSYSTEM=="block", \
ATTRS{model}=="ST18000NM000J*", \ ATTRS{model}=="ST18000NM000J*", \
RUN+="${pkgs.hdparm}/bin/hdparm -B 127 -S 180 /dev/%k" RUN+="${pkgs.hdparm}/bin/hdparm -B 127 -S 180 /dev/%k"
# Toshiba 20TB NAS drives - same settings
ACTION=="add", KERNEL=="sd[a-z]", SUBSYSTEM=="block", \
ATTRS{model}=="TOSHIBA MG10ACA20TE*", \
RUN+="${pkgs.hdparm}/bin/hdparm -B 127 -S 180 /dev/%k"
''; '';
} }