UbuntuでZFSを使ってみよう 第26回 ZFSのプロパティを見てみよう(8)
前回に引き続き、今回もZFSの設定可能なプロパティについて説明します。
設定可能なZFS ネイティブプロパティ(3)
copies=1|2|3
このデータセットに保存する、データのコピーの数を設定します。デフォルト値は1です。これらデータのコピーは、ミラーリングやRAID-Zなど、zpoolで提供される冗長性を、さらに向上します。データのコピーは、可能であれば異なるディスクに保存されます。複数のコピーで使用された領域は、関連するファイルおよびデータセットに含まれます。コピーによる使用容量は、使用容量、クォータ、予約に追加されます。
このプロパティを変更しても、新しく書き込まれたデータにしかコピー数が反映されません。そのため、すべてのファイルシステムのコピー数を変更するには、ファイルシステム作成時に-o copies=N
オプションを指定して、プロパティを設定してください。
ZFS は、トップレベルの vdev (仮想デバイス)がないプールをインポートしないことに、注意してください。例えば、ディスク2台のストライピングプールを作成し、一部のデータセットにcopies=2を設定しても、冗長性が確保されたことにはなりません。ディスクが故障すると、プールをインポートできず、すべてのデータを失うことになります。
暗号化されたデータセットは、copies=3を設定できません。これは、暗号化データセットの実装では、通常は3番目のコピーがある場所に、暗号化メタデータが保存されるからです。
devices=on|off
このファイルシステムで、デバイスノードを開くことができるかどうかを制御します。デフォルト値はonです。onとoffの値は、mount option の、devとnodevのマウントオプションと同じ意味を指します。つまり、ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを、使用可能/不可能を選択します。
dedup=off|on|verify|sha256[,verify]|sha512[,verify]|skein[,verify]|edonr,verify
データセットのdedup(重複排除)を設定します。デフォルト値はoffです。デフォルトの重複排除チェックサムは sha256 です(将来的に変更される可能性があります)。重複排除を有効にすると、ここで定義されたチェックサムがチェックサムプロパティよりも優先されます。値をverifyに設定すると、sha256,verifyの設定と同じ効果があります。
verifyを設定すると、同じ署名を持つ2つのブロックがある場合、ZFSはバイトごとに比較し、ブロックの内容が同一であることを確認します。edonrアルゴリズムを指定する場合は、verifyの指定が必須です。
必要がない限り、システム上で重複排除を有効にすべきではありません。
dnodesize=legacy|auto|1k|2k|4k|8k|16k
ファイルシステム内のdnode(ZFS データセットを構成するノード)のサイズについて、legacyモードまたはリテラル値を指定します。デフォルト値は legacy です。このプロパティをlegacy以外の値に設定するには、zpool の large_dnodeプール機能を有効にする必要があります。
データセットがxattr=saプロパティ設定を使用し、ワークロードが拡張属性を多用する場合は、dnodesizeをautoに設定することを検討してください。この設定は、SELinuxが有効なシステム、Lustreサーバー、Sambaサーバーなどに最適です。最適なサイズが事前にわかっている場合や、パフォーマンステストを行う場合は、数値での指定(1k|2k|4k|8k|16k)をおすすめします。
large_dnode機能を有効にしていないプールで、このデータセットの送信ストリームを受信する必要がある場合や、large_dnode機能をサポートしていないシステムでこのプールをインポートする必要がある場合は、dnodesizeをlegacyに設定します。
このプロパティは、短縮されたカラム名「dnsize」でも参照できます。
encryption=off|on|aes-128-ccm|aes-192-ccm|aes-256-ccm|aes-128-gcm|aes-192-gcm|aes-256-gcm
このデータセットで使用する、暗号化暗号スイート(ブロック暗号、キー長、モード)を設定します。このプロパティを使用するには、zpoolで暗号化機能が有効になっていることと、データセットの作成時にキーフォーマットを設定する必要があります。
データセットの作成時にencryption=onを選択すると、デフォルトの暗号化スイートが選択されます。一貫したデータ保護を保つには、データセット作成時に暗号化を指定する必要があり、その後は変更できません。
終わりに
次回も、今回に引き続き、ZFSの設定可能なプロパティについて説明します。次回をお楽しみに。
さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。
DHT OSS導入コンサルティングサービス