JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: ZFS ファイルシステム     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris ZFS ファイルシステム (概要)

2.  Oracle Solaris ZFS 入門

3.  Oracle Solaris ZFS ストレージプールの管理

4.  ZFS ルートプールのコンポーネントの管理

5.  Oracle Solaris ZFS ファイルシステムの管理

ZFS ファイルシステムの管理 (概要)

ZFS ファイルシステムの作成、破棄、および名前変更を行う

ZFS ファイルシステムを作成する

ZFS ファイルシステムを破棄する

ZFS ファイルシステムの名前を変更する

ZFS のプロパティーの紹介

ZFS の読み取り専用のネイティブプロパティー

used プロパティー

設定可能な ZFS ネイティブプロパティー

canmount プロパティー

casesensitivity プロパティー

copies プロパティー

dedup プロパティー

encryption プロパティー

recordsize プロパティー

share.smb プロパティー

volsize プロパティー

ZFS ユーザープロパティー

ZFS ファイルシステムの情報のクエリー検索を行う

基本的な ZFS 情報を表示する

複雑な ZFS クエリーを作成する

ZFS プロパティーを管理する

ZFS プロパティーを設定する

ZFS プロパティーを継承する

ZFS プロパティーのクエリー検索を行う

スクリプトで使用できるように ZFS プロパティーのクエリー検索を行う

ZFS ファイルシステムをマウントする

ZFS マウントポイントを管理する

自動マウントポイント

レガシーマウントポイント

ZFS ファイルシステムをマウントする

一時的なマウントプロパティーを使用する

ZFS ファイルシステムをアンマウントする

ZFS ファイルシステムを共有および共有解除する

旧バージョンの ZFS 共有の構文

新しい ZFS 共有構文

プロパティーごとの継承による ZFS 共有

古いプールでの ZFS 共有の継承

ZFS 名前付き共有

ZFS 自動共有

ZFS 共有情報を表示する

ZFS 共有プロパティー値の変更

ZFS 共有の公開と非公開

ZFS 共有を削除する

非大域ゾーン内の ZFS ファイル共有

ZFS 共有のマイグレーション/移行に関する問題

ZFS ファイルシステムの共有の問題のトラブルシューティング

ZFS の割り当て制限と予約を設定する

ZFS ファイルシステムに割り当て制限を設定する

ZFS ファイルシステムでユーザーおよびグループの割り当て制限を設定する

ZFS ファイルシステムに予約を設定する

ZFS ファイルシステムの暗号化

暗号化された ZFS ファイルシステムの鍵を変更する

ZFS 暗号化鍵の管理

ZFS 鍵操作アクセス権を委任する

暗号化した ZFS ファイルシステムをマウントする

暗号化された ZFS ファイルシステムをアップグレードする

ZFS の圧縮、複製解除、暗号化のプロパティー間の関連

ZFS ファイルシステムを暗号化する例

ZFS ファイルシステムを移行する

ファイルシステムを ZFS ファイルシステムに移行する方法

ZFS ファイルシステムの移行のトラブルシューティング

ZFS ファイルシステムをアップグレードする

6.  Oracle Solaris ZFS のスナップショットとクローンの操作

7.  ACL および属性を使用した Oracle Solaris ZFS ファイルの保護

8.  Oracle Solaris ZFS 委任管理

9.  Oracle Solaris ZFS の高度なトピック

10.  Oracle Solaris ZFS のトラブルシューティングとプールの回復

11.  スナップショットのアーカイブとルートプールの回復

12.  推奨の Oracle Solaris ZFS プラクティス

A.  Oracle Solaris ZFS バージョンの説明

索引

ZFS ファイルシステムの暗号化

暗号化とは機密保護のためにデータをエンコードするプロセスで、エンコードされたデータにデータ所有者がアクセスするには鍵が必要になります。ZFS 暗号化を使用する利点は次のとおりです:

暗号化ポリシーは ZFS ファイルシステムの作成時に設定できますが、ポリシーの変更はできません。たとえば、tank/home/darren ファイルシステムは、暗号化プロパティーを有効にして作成されています。デフォルトの暗号化ポリシーでは、最低 8 文字の長さが必要なパスフレーズの入力が求められます。

# zfs create -o encryption=on tank/home/darren
Enter passphrase for 'tank/home/darren': xxxxxxx
Enter again: xxxxxxxx

ファイルシステムの暗号化が有効になっていることを確認します。例:

# zfs get encryption tank/home/darren
NAME              PROPERTY    VALUE        SOURCE
tank/home/darren  encryption  on           local

ファイルシステムの暗号化の値が on になっている場合、デフォルトの暗号化アルゴリズムは aes-128-ccm です。

ラッピング鍵は、実際のデータ暗号化鍵を暗号化するために使用されます。ラッピング鍵は、上記の例のように、暗号化したファイルシステムの作成時に、zfs コマンドからカーネルに渡されます。ラッピング鍵は、ファイルにあるか (生または 16 進数形式)、パスフレーズから派生します。

ラッピング鍵の形式と場所は、keysource プロパティーで次のように指定されます。

keysource=format,location

keysource 形式が passphrase の場合、ラッピング鍵はパスフレーズから派生します。それ以外の場合、keysource プロパティー値は、生のバイトまたは 16 進数形式で、実際のラッピング鍵を示します。パスフレーズがファイルに格納されているか、入力が要求される生のバイトストリームに格納されているか (これはおそらくスクリプト処理にのみ適しています) を指定できます。

ファイルシステムの keysource プロパティー値が passphrase を指定している場合、ラッピング鍵は、PKCS#5 PBKD2 と、ファイルシステムごとにランダムに生成されたソルトを使用して、パスフレーズから派生します。したがって、子孫のファイルシステムで使用された場合、同じパスフレーズでも異なるラッピング鍵が生成されます。

ファイルシステムの暗号化ポリシーは、子孫のファイルシステムによって継承され、削除することはできません。例:

# zfs snapshot tank/home/darren@now
# zfs clone tank/home/darren@now tank/home/darren-new
Enter passphrase for 'tank/home/darren-new': xxxxxxx
Enter again: xxxxxxxx
# zfs set encryption=off tank/home/darren-new
cannot set property for 'tank/home/darren-new': 'encryption' is readonly

暗号化された、または暗号化されていない ZFS ファイルシステムをコピーまたは移行する必要がある場合、次の点を考慮してください。

暗号化された ZFS ファイルシステムの鍵を変更する

zfs key -c コマンドを使用して、暗号化されたファイルシステムのラッピング鍵を変更できます。ブート時にファイルシステムの鍵 (zfs key -l) を明示的に読み込むか、ファイルシステム (zfs mount filesystem) をマウントすることによって、既存のラッピング鍵を最初に読み込んでいる必要があります。例:

# zfs key -c tank/home/darren
Enter new passphrase for 'tank/home/darren': xxxxxxxx
Enter again: xxxxxxxx

次の例では、ラッピング鍵が変更され、ラッピング鍵がファイルから取得されることを指定するように keysource プロパティー値が変更されます。

# zfs key -c -o keysource=raw,file:///media/stick/key tank/home/darren

暗号化されたファイルシステムのデータ暗号化鍵は、zfs key -K コマンドを使用して変更できますが、新しい暗号化鍵は新しく書き込むデータにのみ使用されます。この機能は、データ暗号化鍵の制限時間に関する NIST 800-57 ガイドラインを遵守するために使用できます。例:

# zfs key -K tank/home/darren

上記の例では、データ暗号化鍵は表示されず、ユーザーが直接管理することもできません。さらに、鍵変更操作を実行するには keychange の委任が必要です。

次の暗号化アルゴリズムを使用できます。

ZFS keysource プロパティーは、ファイルシステムのデータ暗号化鍵をラップする鍵の形式と場所を指定します。例:

# zfs get keysource tank/home/darren
NAME              PROPERTY   VALUE              SOURCE
tank/home/darren  keysource  passphrase,prompt  local

ZFS rekeydate プロパティーは、前回の zfs key -K 操作の日付を特定します。例:

# zfs get rekeydate tank/home/darren
NAME              PROPERTY   VALUE                  SOURCE
tank/home/darren  rekeydate  Wed Jul 25 16:54 2012  local

暗号化したファイルシステムの creation プロパティーと rekeydate プロパティーの値が同じであれば、zfs key -K 操作でファイルシステムの鍵が再入力されていることは決してありません。

ZFS 暗号化鍵の管理

ZFS 暗号化鍵は、集中管理の場所が必要な場合、ローカルシステムとリモートのどちらかで、ユーザーのニーズに応じて、さまざまな方法で管理できます。

ZFS 暗号化鍵の管理の詳細は、次を参照してください

http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-zfs-encryption-1715034.html

Oracle Key Manager を使用した鍵情報の管理については、次を参照してください。

http://docs.oracle.com/cd/E24472_02/

ZFS 鍵操作アクセス権を委任する

鍵操作を委任するための次のアクセス権に関する説明を確認してください。

鍵の使用 (ロードまたはアンロード) と鍵の変更に、別々のアクセス権を委任することを検討してください。これにより 2 人鍵操作モデルを使用できます。たとえば、どのユーザーが鍵を使用でき、どのユーザーが鍵を変更できるかを決めます。または、鍵の変更には両方のユーザーが同席する必要があります。このモデルを使用すると、キーエスクローシステムを構築することもできます。

暗号化した ZFS ファイルシステムをマウントする

暗号化した ZFS ファイルシステムをマウントしようとする場合には、次の考慮事項を確認してください。

暗号化された ZFS ファイルシステムをアップグレードする

Solaris 11 システムを Solaris 11.1 にアップグレードする前に、暗号化されたファイルシステムがマウントされていることを確認してください。暗号化されたファイルシステムをマウントして、入力を要求されたらパスフレーズを指定します。

# zfs mount -a
Enter passphrase for 'pond/amy': xxxxxxxx
Enter passphrase for 'pond/rory': xxxxxxxx
# zfs mount | grep pond
pond                            /pond
pond/amy                        /pond/amy
pond/rory                       /pond/rory

その後、暗号化されたファイルシステムをアップグレードします。

# zfs upgrade -a

アンマウントされている、暗号化された ZFS ファイルシステムをアップグレードしようとすると、次のようなメッセージが表示されます。

# zfs upgrade -a
cannot set property for 'pond/amy': key not present

また、zpool status 出力には破壊されたデータが表示されることがあります。

# zpool status -v pond
.
.
.
        pond/amy:<0x1>
        pond/rory:<0x1>

上のエラーが発生した場合は、上述のとおりに暗号化されたファイルシステムを再マウントします。その後、プールのエラーをスクラブして、クリアします。

# zpool scrub pond
# zpool clear pond

ファイルシステムのアップグレードの詳細は、「ZFS ファイルシステムをアップグレードする」を参照してください。

ZFS の圧縮、複製解除、暗号化のプロパティー間の関連

ZFS の圧縮、複製解除、および暗号化のプロパティーを使用する場合は、次の考慮事項を確認してください。

ZFS ファイルシステムを暗号化する例

例 5-1 生の鍵を使用して ZFS ファイルシステムを暗号化する

次の例では、pktool コマンドを使用して aes-256-ccm 暗号化鍵が生成され、/cindykey.file ファイルに書き込まれます。

# pktool genkey keystore=file outkey=/cindykey.file keytype=aes keylen=256

続いて、tank/home/cindy ファイルシステムが作成されるときに、/cindykey.file が指定されます。

# zfs create -o encryption=aes-256-ccm -o keysource=raw,file:///cindykey.file 
tank/home/cindy

例 5-2 別の暗号化アルゴリズムで ZFS ファイルシステムを暗号化する

ZFS ストレージプールを作成し、そのストレージプール内のすべてのファイルシステムに暗号化アルゴリズムを継承させることができます。この例では、users プールが作成され、users/home ファイルシステムが作成され、パスフレーズを使用して暗号化されます。デフォルトの暗号化アルゴリズムは aes-128-ccm です。

続いて、users/home/mark ファイルシステムが作成され、aes-256-ccm 暗号化アルゴリズムを使用して暗号化されます。

# zpool create -O encryption=on users mirror c0t1d0 c1t1d0 mirror c2t1d0 c3t1d0
Enter passphrase for 'users': xxxxxxxx
Enter again: xxxxxxxx
# zfs create users/home
# zfs get encryption users/home
NAME        PROPERTY    VALUE        SOURCE
users/home  encryption  on           inherited from users
# zfs create -o encryption=aes-256-ccm users/home/mark
# zfs get encryption users/home/mark
NAME               PROPERTY    VALUE        SOURCE
users/home/mark    encryption  aes-256-ccm  local

例 5-3 暗号化した ZFS ファイルシステムのクローンを作成する

クローンファイルシステムが、元のスナップショットと同じファイルシステムの keysource プロパティーを継承する場合、新しい keysource は不要であり、keysource=passphrase,prompt の場合でも新しいパスフレーズの入力を要求されることはありません。クローンには同じ keysource が使用されます。例:

デフォルトでは、暗号化されたファイルシステムの子孫のクローンを作成するときに、鍵の入力を要求されません。

# zfs create -o encryption=on tank/ws
Enter passphrase for 'tank/ws': xxxxxxxx
Enter again: xxxxxxxx
# zfs create tank/ws/fs1
# zfs snapshot tank/ws/fs1@snap1
# zfs clone tank/ws/fs1@snap1 tank/ws/fs1clone

クローンファイルシステムの新しい鍵を作成する場合、zfs clone -K コマンドを使用します。

子孫の暗号化されたファイルシステムではなく、暗号化されたファイルシステムのクローンを作成する場合は、新しい鍵を入力するように要求されます。例:

# zfs create -o encryption=on tank/ws
Enter passphrase for 'tank/ws': xxxxxxxx
Enter again: xxxxxxxx
# zfs snapshot tank/ws@1
# zfs clone tank/ws@1 tank/ws1clone
Enter passphrase for 'tank/ws1clone': xxxxxxxx
Enter again: xxxxxxxx

例 5-4 暗号化された ZFS ファイルシステムを送受信する

次の例では、tank/home/darren@snap1 スナップショットが、暗号化された /tank/home/darren ファイルシステムから作成されます。続いて、暗号化プロパティーを有効にしてスナップショットが bpool/snaps に送信されます。このため、結果として受信されたデータは暗号化されています。ただし、送信プロセス中、tank/home/darren@snap1 ストリームは暗号化されていません。

# zfs get encryption tank/home/darren
NAME              PROPERTY    VALUE        SOURCE
tank/home/darren  encryption  on           local
# zfs snapshot tank/home/darren@snap1
# zfs get encryption bpool/snaps
NAME         PROPERTY    VALUE        SOURCE
bpool/snaps  encryption  on           inherited from bpool
# zfs send tank/home/darren@snap1 | zfs receive bpool/snaps/darren1012
# zfs get encryption bpool/snaps/darren1012
NAME                    PROPERTY    VALUE        SOURCE
bpool/snaps/darren1012  encryption  on           inherited from bpool

この場合、受信した暗号化されたファイルシステムに対して、新しい鍵が自動的に生成されます。