Mit der Eigenschaft (dedup) können Sie redundante Daten aus den ZFS-Dateisystemen entfernen. Wenn bei einem Dateisystem die Eigenschaft dedup aktiviert ist, werden doppelt vorhandene Datenblöcke synchron entfernt. Als Folge werden nur eindeutige Daten gespeichert und allgemeine Komponenten werden von den Dateien gemeinsam verwendet. Beispiel:
# zfs set dedup=on tank/home
Aktivieren Sie die Eigenschaft dedup in Dateisystemen nicht, die in Production-Systemen enthalten sind, bevor Sie nicht mit den folgenden Schritten geprüft haben, ob Ihr System die Datendeduplizierung unterstützen kann.
Prüfen Sie, ob die Daten von den Speicherplatzeinsparungen profitieren, die sich aus der Deduplizierung ergeben. Wenn die Daten die Deduplizierung nicht unterstützen, macht die Aktivierung der Deduplizierung keinen Sinn. Die Ausführung des folgenden Befehls ist sehr speicherintensiv:
# zdb -S tank Simulated DDT histogram: bucket allocated referenced ______ ______________________________ ______________________________ refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE ------ ------ ----- ----- ----- ------ ----- ----- ----- 1 2.27M 239G 188G 194G 2.27M 239G 188G 194G 2 327K 34.3G 27.8G 28.1G 698K 73.3G 59.2G 59.9G 4 30.1K 2.91G 2.10G 2.11G 152K 14.9G 10.6G 10.6G 8 7.73K 691M 529M 529M 74.5K 6.25G 4.79G 4.80G 16 673 43.7M 25.8M 25.9M 13.1K 822M 492M 494M 32 197 12.3M 7.02M 7.03M 7.66K 480M 269M 270M 64 47 1.27M 626K 626K 3.86K 103M 51.2M 51.2M 128 22 908K 250K 251K 3.71K 150M 40.3M 40.3M 256 7 302K 48K 53.7K 2.27K 88.6M 17.3M 19.5M 512 4 131K 7.50K 7.75K 2.74K 102M 5.62M 5.79M 2K 1 2K 2K 2K 3.23K 6.47M 6.47M 6.47M 8K 1 128K 5K 5K 13.9K 1.74G 69.5M 69.5M Total 2.63M 277G 218G 225G 3.22M 337G 263G 270G dedup = 1.20, compress = 1.28, copies = 1.03, dedup * compress / copies = 1.50
Wenn die geschätzte Deduplizierungsrate größer ist als 2, werden Sie durch die Deduplizierung Speicherplatz sparen.
In diesem Beispiel ist die Deduplizierungsrate (dedup = 1,20) kleiner als 2, sodass von der Aktivierung der Deduplizierung abgeraten wird.
Stellen Sie wie folgt sicher, dass Ihr System über ausreichend Speicherplatz für die Deduplizierung verfügt.
Jeder In-Core-Dedpulizierungstabelleneintrag umfasst ca. 320 Byte.
Multiplizieren Sie die Anzahl von zugeordneten Blöcken mal 320. Beispiel:
in-core DDT size = 2.63M x 320 = 841.60M
Die Deduplizierungsperformance ist am besten, wenn die Deduplizierungstabelle in den Speicher passt. Wenn die Deduplizierungstabelle auf einen Datenträger geschrieben werden muss, verringert sich die Performance. Wenn Sie die Deduplizierung für Ihre Dateisysteme ohne ausreichende Speicherressourcen aktivieren, kann sich die Systemperformance bei dateisystembezogenen Vorgängen verringern. Beispiel: Wenn Sie ein großes deduplizierungsfähiges Dateisystem ohne ausreichende Speicherressourcen entfernen, kann sich dies auf die Systemperformance auswirken.