ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 の管理: ZFS ファイルシステム Oracle Solaris 11.1 Information Library (日本語) |
1. Oracle Solaris ZFS ファイルシステム (概要)
3. Oracle Solaris ZFS ストレージプールの管理
5. Oracle Solaris ZFS ファイルシステムの管理
6. Oracle Solaris ZFS のスナップショットとクローンの操作
7. ACL および属性を使用した Oracle Solaris ZFS ファイルの保護
9. Oracle Solaris ZFS の高度なトピック
ゾーンがインストールされている Solaris システムで ZFS を使用する
10. Oracle Solaris ZFS のトラブルシューティングとプールの回復
12. 推奨の Oracle Solaris ZFS プラクティス
ZFS ボリュームとは、ブロックデバイスを表すデータセットです。ZFS ボリュームは、/dev/zvol/{dsk,rdsk}/pool ディレクトリのデバイスとして識別されます。
次の例では、5G バイトの ZFS ボリューム tank/vol が作成されます。
# zfs create -V 5gb tank/vol
ボリュームの作成時には、予期しない動作が発生しないよう、予約が自動的にボリュームの初期サイズに設定されます。たとえば、ボリュームのサイズを縮小すると、データが破壊される可能性があります。ボリュームのサイズを変更するときは、注意深く行う必要があります。
また、サイズが変化するボリュームのスナップショットを作成する場合は、スナップショットをロールバックしたり、スナップショットからのクローンを作成しようとすると、不一致が発生する可能性があります。
ボリュームに適用可能なファイルシステムプロパティーについては、表 5-1 を参照してください。
zfs get または zfs get all コマンドを使用して、ZFS ボリュームのプロパティー情報を表示できます。例:
# zfs get all tank/vol
zfs get 出力内の volsize に表示される疑問符 (?) は、入出力エラーが発生したために不明な値を示しています。例:
# zfs get -H volsize tank/vol tank/vol volsize ? local
入出力エラーは通常、プールデバイスの問題を示しています。プールデバイスの問題の解決については、「ZFS の問題を解決する」を参照してください。
ゾーンがインストールされた Solaris システムを使用している場合は、非大域ゾーンの中で ZFS ボリュームを作成または複製することはできません。そうしようとしても失敗します。ZFS ボリュームを大域ゾーンで使用する方法については、「ZFS ボリュームを非大域ゾーンに追加する」を参照してください。
ZFS ルートファイルシステムをインストールするとき、または UFS ルートファイルシステムから移行するときに、ZFS ルートプールの ZFS ボリュームにスワップデバイスが作成されます。例:
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 253,3 16 8257520 8257520
ZFS ルートファイルシステムをインストールするとき、または UFS ルートファイルシステムから移行するときに、ZFS ルートプールの ZFS ボリュームにダンプデバイスが作成されます。ダンプデバイスを設定したあとは、ダンプデバイスの管理は不要です。例:
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/ Savecore enabled: yes
システムのインストール後にスワップ領域やダンプデバイスを変更する必要がある場合は、以前の Solaris リリースと同様に swap コマンドと dumpadm コマンドを使用します。追加のスワップボリュームを作成する必要がある場合は、特定のサイズの ZFS ボリュームを作成してから、そのデバイスでスワップを有効にします。次に、新しいスワップデバイスのエントリを /etc/vfstab ファイルに追加します。例:
# zfs create -V 2G rpool/swap2 # swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 2097136 2097136 /dev/zvol/dsk/rpool/swap2 256,5 16 4194288 4194288
ZFS ファイルシステム上のファイルには、スワップしないでください。ZFS スワップファイルの構成はサポートされていません。
スワップボリュームとダンプボリュームのサイズの調整については、「ZFS スワップデバイスおよびダンプデバイスのサイズを調整する」を参照してください。
Common Multiprotocol SCSI Target (COMSTAR) ソフトウェアフレームワークを使用すると、あらゆる Oracle Solaris ホストを、ストレージネットワークを介してイニシエータホストからアクセスできる SCSI ターゲットデバイスに変換できます。ZFS ボリュームを作成し、iSCSI 論理ユニット (LUN) として共有するように構成できます。
まず、COMSTAR パッケージをインストールします。
# pkg install group/feature/storage-server
次に、iSCSI ターゲットとして使用する ZFS ボリュームを作成し、続いて SCSI ブロック型デバイスベースの LUN を作成します。例:
# zfs create -V 2g tank/volumes/v2 # sbdadm create-lu /dev/zvol/rdsk/tank/volumes/v2 Created the following LU: GUID DATA SIZE SOURCE -------------------------------- ------------------- ---------------- 600144f000144f1dafaa4c0faff20001 2147483648 /dev/zvol/rdsk/tank/volumes/v2 # sbdadm list-lu Found 1 LU(s) GUID DATA SIZE SOURCE -------------------------------- ------------------- ---------------- 600144f000144f1dafaa4c0faff20001 2147483648 /dev/zvol/rdsk/tank/volumes/v2
すべてのクライアントまたは選択したクライアントに LUN ビューを公開できます。LUN GUID を特定し、続いて LUN ビューを共有します。次の例では、LUN ビューがすべてのクライアントに共有されています。
# stmfadm list-lu LU Name: 600144F000144F1DAFAA4C0FAFF20001 # stmfadm add-view 600144F000144F1DAFAA4C0FAFF20001 # stmfadm list-view -l 600144F000144F1DAFAA4C0FAFF20001 View Entry: 0 Host group : All Target group : All LUN : 0
次の手順は、iSCSI ターゲットの作成です。iSCSI ターゲットの作成については、『Oracle Solaris 11.1 の管理: デバイスとファイルシステム』の第 11 章「COMSTAR を使用したストレージデバイスの構成 (タスク)」を参照してください。
iSCSI ターゲットとしての ZFS ボリュームは、ほかの ZFS データセットと同様に管理されます。ただし、ZFS ボリュームが iSCSI LUN として共有されている間、データセットの名前を変更したり、ボリュームスナップショットをロールバックしたり、プールをエクスポートすることはできません。次のようなメッセージが表示されます。
# zfs rename tank/volumes/v2 tank/volumes/v1 cannot rename 'tank/volumes/v2': dataset is busy # zpool export tank cannot export 'tank': pool is busy
iSCSI ターゲットの構成情報はすべてデータセット内に格納されます。NFS 共有ファイルシステムと同様に、別のシステム上にインポートされる iSCSI ターゲットは正しく共有されます。