Oracle® Solaris 10 から Oracle Solaris 11.2 への移行

印刷ビューの終了

更新: 2014 年 12 月
 
 

ZFS データの複製解除の要件

複製解除 (dedup) プロパティーを使用して、ZFS ファイルシステムから冗長なデータを削除できます。ファイルシステムで dedup プロパティーが有効になっている場合、重複データブロックが同期的に削除されます。この結果、一意のデータだけが格納され、共通のコンポーネントがファイル間で共有されます。例:

# zfs set dedup=on tank/home

次の手順を実行してシステムがデータの複製解除をサポートできるかどうかを判断するまでは、本稼働システムに常駐するファイルシステムで dedup プロパティーを有効にしないでください。

  1. 複製解除による領域の節約がデータに有益であるかどうかを判断します。データを複製解除できない場合、dedup を有効にしても無駄です。次のコマンドを実行すると、非常に大量のメモリーが使用されます。

    # 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

    推定される dedup 比率が 2 より大きい場合は、dedup によって領域が節約される可能性があります。

    この例では、dedup 比率 (dedup = 1.20) が 2 より小さいため、dedup の有効化は推奨されません。

  2. システムに dedup をサポートするための十分なメモリーがあることを次のように確認します。

    • コア内の各 dedup テーブルエントリは、およそ 320 バイトです。

    • 割り当てられているブロック数に 320 を掛けます。例:

      in-core DDT size = 2.63M x 320 = 841.60M
  3. dedup のパフォーマンスは、複製解除テーブルがメモリーに入る場合に最適になります。dedup テーブルをディスクに書き込む必要がある場合は、パフォーマンスが低下します。十分なメモリーリソースがない状態でファイルシステムに対する複製解除を有効にすると、ファイルシステム関連の操作時にシステム性能が低下する可能性があります。たとえば、十分なメモリーリソースがない状態で、dedup が有効になっている大容量のファイルシステムを削除すると、システム性能に影響が出る可能性があります。