Einrichten eines spezial Device

sharbich

Member
Nov 7, 2024
39
1
8
Hallo,
ich habe für mein tank Pool ein spezial Device eingerichtet. Wie kann ich es überprüfen ob alle sauber und schnell funktioniert?
Bash:
root@psme02:~# zpool status
  pool: rpool
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
    The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
    the pool may no longer be accessible by software that does not support
    the features. See zpool-features(7) for details.
config:

    NAME                                      STATE     READ WRITE CKSUM
    rpool                                     ONLINE       0     0     0
      mirror-0                                ONLINE       0     0     0
        nvme-NE-1TB_2280_9X41220000467-part3  ONLINE       0     0     0
        nvme-NE-1TB_2280_9X41220000458-part3  ONLINE       0     0     0

errors: No known data errors

  pool: tank
 state: ONLINE
config:

    NAME                            STATE     READ WRITE CKSUM
    tank                            ONLINE       0     0     0
      mirror-0                      ONLINE       0     0     0
        ata-ST12000NM0127_ZJV45CYX  ONLINE       0     0     0
        ata-ST12000NM0127_ZJV07LLF  ONLINE       0     0     0
      mirror-1                      ONLINE       0     0     0
        ata-ST12000NM0127_ZJV5ASL8  ONLINE       0     0     0
        ata-ST12000NM0127_ZJV4NEZ4  ONLINE       0     0     0
    special   
      mirror-2                      ONLINE       0     0     0
        nvme0n1p4                   ONLINE       0     0     0
        nvme1n1p4                   ONLINE       0     0     0

errors: No known data errors
Wie kann ich die aktuell eingestellte zfs set special_small_block size auslesen? Gibt es eine Möglichkeit nach der Einstellung diese zu testen?

Gruß von Stefan
 
Du kannst a) die Belegung und b) den momentan Datentransfer zum Beispiel so beobachten:
Code:
~# zpool iostat -v 5
                                                           capacity     operations     bandwidth
pool                                                     alloc   free   read  write   read  write
-------------------------------------------------------  -----  -----  -----  -----  -----  -----
rpool                                                    5.60T  2.65T  1.70K  1.01K  15.3M   127M
  mirror-0                                               1.82T   920G     36     45  1.81M  37.6M
 ...
special                                                      -      -      -      -      -      -
  mirror-3                                               36.5G  63.0G  1.59K    890  9.78M  14.1M
    ata-CT240BX200SSD1_1628F01F099F-part2                    -      -    780    366  4.69M  7.03M
    ata-Samsung_SSD_850_EVO_250GB_S2R6NX0HB56344N-part2      -      -    850    524  5.09M  7.03M
Disclaimer: dies ist ausdrücklich kein gutes Beispiel, die beiden SSD sind zu billig!

Wie kann ich die aktuell eingestellte zfs set special_small_block size auslesen?
Naja, "einfach so":
Code:
~# zfs get special_small_blocks rpool
NAME   PROPERTY              VALUE                 SOURCE
rpool  special_small_blocks  0                     default
Gibt es eine Möglichkeit nach der Einstellung diese zu testen?
Wenn du viele kleine Dateien schreibst (zum Testen), dann sollte das in obigem "iostat" zu beobachten sein.
 
  • Like
Reactions: Johannes S
Welche NVMe sind als VDEV ZFS Special Device verwendet worden?
Bash:
root@psme02:~# nvme list
Node                  Generic               SN                   Model                                    Namespace  Usage                      Format           FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
/dev/nvme0n1          /dev/ng0n1            9X41220000467        NE-1TB 2280                              0x1          1.02  TB /   1.02  TB    512   B +  0 B   SN25238
/dev/nvme1n1          /dev/ng1n1            9X41220000458        NE-1TB 2280                              0x1          1.02  TB /   1.02  TB    512   B +  0 B   SN25238

root@psme02:~# nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning            : 0
temperature                : 104 °F (313 K)
available_spare                : 100%
available_spare_threshold        : 1%
percentage_used                : 0%
endurance group critical warning summary: 0
Data Units Read                : 34357 (17.59 GB)
Data Units Written            : 315726 (161.65 GB)
host_read_commands            : 394448
host_write_commands            : 13120444
controller_busy_time            : 3
power_cycles                : 50
power_on_hours                : 8
unsafe_shutdowns            : 33
media_errors                : 0
num_err_log_entries            : 0
Warning Temperature Time        : 0
Critical Composite Temperature Time    : 0
Temperature Sensor 1            : 104 °F (313 K)
Temperature Sensor 2            : 104 °F (313 K)
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0

root@psme02:~# nvme smart-log /dev/nvme1n1
Smart Log for NVME device:nvme1n1 namespace-id:ffffffff
critical_warning            : 0
temperature                : 104 °F (313 K)
available_spare                : 100%
available_spare_threshold        : 1%
percentage_used                : 0%
endurance group critical warning summary: 0
Data Units Read                : 46016 (23.56 GB)
Data Units Written            : 324849 (166.32 GB)
host_read_commands            : 481148
host_write_commands            : 13295032
controller_busy_time            : 2
power_cycles                : 54
power_on_hours                : 8
unsafe_shutdowns            : 37
media_errors                : 0
num_err_log_entries            : 0
Warning Temperature Time        : 0
Critical Composite Temperature Time    : 0
Temperature Sensor 1            : 104 °F (313 K)
Temperature Sensor 2            : 107 °F (315 K)
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0
 
Last edited:
Oh die günstigen von Amazon. ;)
Naja zum testen ist das ganz OK, aber Produktiv würde ich die NVMe lieber nicht als Special Device nutzen. Die sterben je nach Workload in wenigen Monaten.
 
  • Like
Reactions: Johannes S
Naja, da die identisch gefertigt sind und die identische Last bekommen, ist das nicht auszuschließen, auch wenn nicht so Wahrscheinlich.
Wenn du aber dein Special Device verlierst, hast du gar keine Daten mehr, daher bin ich da lieber vorsichtiger.
Bei geizhals kannst du einen Filter für PLP setzten, die restlichen Filter musste du selbst wählen.
Mit PLP
 
  • Like
Reactions: Johannes S
Ich bleibe bei Consumer-SSDs. Ich habe drei Proxmox Hosts im Cluster und alle Container und VM sind als RAW Device in ihren Block Device's Verzeichnissen im NFS Share. Hier laufen stündliche, tägliche, wöchentliche und monatliche Snapshot's. Sollte gut abgesichert sein.