Ich verwende ZFS unter FreeBSD, um mehrere TB Daten zu speichern.
Bei einer Speicherung ohne Deduplizierung wären etwa 25 % der Rohdaten so einzigartig, dass eine Komprimierung hilfreich wäre, die Deduplizierung jedoch verschwendet wäre.
Die anderen 75 % enthalten viele deduplizierbare Daten, und ich hatte in der Vergangenheit Verhältnisse von 2x - 8x mit diesem Datensatz. Mein NAS war also von Anfang an so spezifiziert, dass es bei Bedarf komprimierte Deduplizierung verarbeiten kann: 96 GB 2400 ECC (mehr können hinzugefügt werden, wenn die Statistiken Druck in der Deduplizierungstabelle zeigen), 3,5 GHz Quad-Core Xeon, gespiegelte Festplatten, NVMe L2ARC und Intel P3700 NVMe ZIL.
Die Rohkapazität des Pools beträgt derzeit 22 GB vor der Formatierung (3 x 6 TB vdevs + 1 x 4 TB vdev) und intuitiv denke ich, dass ich derzeit physisch etwa 7 bis 14 TB davon verwende. Es enthält sowohl Samba-Dateifreigabedatensätze als auch ESXi iSCSI-Zvols mit fester Größe (meistens leer, mindestens ein spärlich). Aber weil ich den Unterschied zwischen diesen Ausgaben nicht verstehe, verwirren sie mich und ich bin mir nicht sicher, wie viel freien Speicherplatz ich tatsächlich habe und ob ich daher weitere Festplatten hinzufügen möchte, um unter meinem Ziel von 65 % Nutzung zu bleiben:
# zpool-Liste -v
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 19.9T 14.0T 5.93T - 53% 70% 2.30x ONLINE /mnt
mirror 5.44T 4.18T 1.26T - 59% 76%
gptid/6c62bc1a-0b7b-11e7-86ae-000743144400 - - - - - -
gptid/94cad523-0b45-11e7-86ae-000743144400 - - - - - -
mirror 5.41T 4.38T 1.03T - 62% 80%
ada0p2 - - - - - -
gptid/e619dab7-03f1-11e7-8f93-000743144400 - - - - - -
mirror 5.44T 4.12T 1.32T - 56% 75%
gptid/c68f80ae-01da-11e7-b762-000743144400 - - - - - -
da0 - - - - - -
da1 - - - - - -
mirror 3.62T 1.31T 2.32T - 29% 36%
da3 - - - - - -
da4 - - - - - -
# zdb -bDDD-Panzer
DDT-sha256-zap-duplicate: 39468847 entries, size 588 on disk, 190 in core
[duplicate bucket data cut as it isn't relevant and repeats in the totals below]
DDT-sha256-zap-unique: 60941882 entries, size 526 on disk, 170 in core
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 58.1M 1.21T 964G 1005G 58.1M 1.21T 964G 1005G
2 25.0M 1.10T 784G 807G 58.5M 2.69T 1.87T 1.92T
4 10.4M 393G 274G 282G 48.4M 1.85T 1.29T 1.34T
8 1.70M 51.1G 37.7G 39.7G 16.5M 487G 353G 372G
16 456K 9.85G 5.73G 6.44G 10.1M 212G 121G 138G
32 67.0K 1.73G 998M 1.07G 2.77M 77.1G 44.6G 48.6G
64 23.7K 455M 327M 350M 1.98M 36.1G 25.8G 27.7G
128 3.47K 75.7M 48.0M 54.5M 557K 12.1G 7.68G 8.70G
256 610 46.9M 12.3M 13.6M 216K 16.9G 4.14G 4.61G
512 211 14.8M 2.46M 3.01M 145K 10.2G 1.72G 2.10G
1K 57 1.10M 38K 228K 77.7K 1.45G 49.3M 311M
2K 42 456K 22K 168K 118K 1.17G 61.3M 474M
4K 18 108K 9K 72K 104K 574M 52.1M 417M
8K 11 128K 5.50K 44K 117K 1.29G 58.3M 467M
16K 7 152K 4K 28K 155K 2.60G 85.6M 619M
128K 1 16K 512 4K 137K 2.14G 68.4M 548M
256K 1 4K 512 4K 302K 1.18G 151M 1.18G
Total 95.8M 2.76T 2.02T 2.09T 198M 6.59T 4.65T 4.83T
dedup = 2.31, compress = 1.42, copies = 1.04, dedup * compress / copies = 3.15
Die erste Ausgabescheint zu sagen, dass die formatierte Poolkapazität 19,9 TB beträgt (klingt ungefähr richtig), wovonDer genutzte Speicherplatz beträgt ca. 14 TBund 5,93 TB sind frei. Wenn ja, werde ich weitere Festplatten hinzufügen.
Der zweite Ausgangscheint zu sagen, dass die tatsächlicheDer zugewiesene physische Speicherplatz beträgt ca. 2,02 TB(oder 6,59 TB mit 3,15-facher Einsparung durch Komprimierung+Deduplizierung).
Die beiden Zahlen unterscheiden sich stark und ich weiß nicht, wie ich sie in Einklang bringen soll.
Ich bin für einen Hinweis dankbar!
Antwort1
Die beiden Zahlen unterscheiden sich stark und ich weiß nicht, wie ich sie in Einklang bringen soll.
Ich bin für einen Hinweis dankbar!
Die zpool
Ausgabe ist korrekt.
Der andere Befehl, der Sie interessieren könnte, ist zfs list
.
Antwort2
Um zu prüfen, wie voll Ihr Pool ist, können Sie folgende Frage beantworten:
$ zpool get capacity tank
NAME PROPERTY VALUE SOURCE
tank capacity 60% -
Wenn Sie möchten, können Sie die Berechnung auch selbst durchführen:
$ zpool get -p allocated,size tank
NAME PROPERTY VALUE SOURCE
tank allocated 596675149824 -
tank size 987842478080 -
$ bc
scale=4
59667514982400/987842478080
60.4018