Warum melden "zfs list" und "zpool list" sehr unterschiedliche Größen für meine raidz2-Pools?

10

Ich habe einen ZFS-Server mit 8 Zpools. Jeder Pool besteht aus 12 6-TB-Festplatten in einer 10 + 2-RAIDZ-Konfiguration. Jeder Pool hat also einen Rohspeicherplatz von 12 * 6 = 72 TB und einen nutzbaren Speicherplatz von 10 * 6 = 60 TB. Allerdings sehe ich unterschiedliche Ergebnisse , wenn ich es mit Abfrage zfs listvs. Verwendung zpool listwie folgt:

# zfs list
NAME     USED  AVAIL  REFER  MOUNTPOINT
intp1    631K  48.0T   219K  /intp1
intp2    631K  48.0T   219K  /intp2
intp3    631K  48.0T   219K  /intp3
jbodp4   631K  48.0T   219K  /jbodp4

# zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
intp1     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
intp2     65T  1020K  65.0T         -     0%     0%  1.00x  ONLINE  -
intp3     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
jbodp4    65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -

Könnte mir jemand helfen zu verstehen, warum diese Diskrepanz besteht?

mkc
quelle

Antworten:

10

Ich bin überrascht, dass Sie ein so großes Setup haben. Hast du dieses Array erstellt? Dies ist aufgrund des Pooldesigns möglicherweise eine schlechte Leistungsanordnung.

In jedem Fall zpoolerklärt die Manpage dies. zfs listzeigt Ihren nutzbaren Raum. Die zpoolListe zeigt Paritätsraum als Speicherplatz.

   used                Amount of storage space used within the pool.

   The  space  usage properties report actual physical space available to the storage pool. The physical
   space can be different from the total amount of space that any contained datasets can  actually  use.
   The  amount  of  space used in a raidz configuration depends on the characteristics of the data being
   written. In addition, ZFS reserves some space for internal accounting that the zfs(8)  command  takes
   into  account, but the zpool command does not. For non-full pools of a reasonable size, these effects
   should be invisible. For small pools, or pools that are close to being completely  full,  these  dis-
   crepancies may become more noticeable.
ewwhite
quelle
1
Verwenden Sie für Ihre Buchhaltungsanforderungen zfs list. Darauf kommt es wirklich an. Für das Pooldesign kommt es auf den Anwendungsfall an. Was möchten Sie erreichen? Was sind Ihre Leistungs- und Kapazitätsanforderungen? Verwenden Sie für raidz2
ewwhite
1
@ewwhite Schön gelesen, aber warum diesen Rat befolgen? Es ist nicht von Oracle oder den Leuten von zfsonlinux. Worauf basiert dieses Limit von 6-10?
Ryan Babchishin
2
@ RyanBabchishin Der Autor ist Ingenieur bei Nexenta , einem kommerziellen Anbieter von ZFS-Speichersoftware. Die Empfehlungen basieren auf Erfahrung, Leistung und gründlichem Verständnis des Dateisystems. Ich sage nicht, dass die Leute die Dinge nicht so konfigurieren können, wie sie wollen, oder dass es nicht funktioniert: Es ist einfach nicht optimal. Im Fall des OP leidet seine zufällige E / A-Leistung unter dem 12-Platten-Design.
ewwhite
3
Ich denke, Sie haben vergessen, dass 6-TB-Festplatten nicht wirklich 6-TB-Festplatten sind, da es unter den Festplattenherstellern eine Verschwörung gibt, da sie der Meinung sind, dass ein Gigabyte nicht 1 073 741 824 Bytes ist, wie es sein sollte, sondern 1 000 000 000 Bytes. Dies beansprucht einen erheblichen Platzbedarf bei der Buchhaltung.
Drookie
1
@drookie, du bist genau richtig. lsblk -bgab mir die Bytegröße jeder Festplatte, die 5,4 TB und nicht 6 TB beträgt, wie ich vorher dachte.
mkc