Oracle Solaris 11 ZFS
構築/運用手順書
2016年5月
第1.2版
Oracle Solaris 11 ZFS 構築/運用手順書
使用条件
著作権・商標権・その他の知的財産権について コンテンツ(文書・画像・音声等)は、著作権・商標権・その他の知的財産権で保護されています。 本コンテンツは、個人的に使用する範囲でプリントアウトまたはダウンロードできます。ただし、これ以 外の利用(ご自分のページへの再利用や他のサーバへのアップロード等)については、当社または 権利者の許諾が必要となります。 保証の制限 本コンテンツについて、当社は、その正確性、商品性、ご利用目的への適合性等に関して保証する ものではなく、そのご利用により生じた損害について、当社は法律上のいかなる責任も負いかねます。 本コンテンツは、予告なく変更・廃止されることがあります。 輸出または提供 本製品を輸出又は提供する場合は、外国為替及び外国貿易法及び米国輸出管理関連法規等の規 制をご確認の上、必要な手続きをおとり下さい。 商標について
UNIX は、米国およびその他の国におけるオープン・グループの登録商標です。 SPARC Enterprise、SPARC64、SPARC64 ロゴ、およびすべての SPARC 商標は、米国 SPARC International, Inc.のライセンスを受けて使用している、同社の米国およびその他の国における商標 または登録商標です。
Oracle と Java は、Oracle Corporation およびその子会社、関連会社の米国およびその他の国にお ける登録商標です。
Oracle Solaris 11 ZFS 構築/運用手順書
はじめに
本書の内容
SPARC/Solaris を使用される方を対象に、Oracle Solaris 11 における ZFS(Zettabyte File System) の構築、運用手順について解説しています。
Oracle Solaris 11 の詳細については、以下の URL を参照して下さい。 「Oracle Solaris 11.3 Information Library」
https://docs.oracle.com/cd/E62101_01/
留意事項
本書では、Oracle Solaris を Solaris と記載することがあります。
本書は Oracle Solaris 11.3 の機能を基に作成しています。
本書は SRU16021(Oracle バージョン:SRU11.3.5.6.0)を適用した環境で作成しています。
本書に記載の設定値(ホスト名、IP アドレス等)は参考例です。実際のシステム環境に応じて読み替
Oracle Solaris 11 ZFS 構築/運用手順書
目 次1
1
.
.
Z
Z
F
F
S
S
の
の
概
概
要
要
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1-1. ZFS の特長 ... 1
1-2. ZFS の利用 ... 2
1-3. システム要件 ... 2
2
2
.
.
Z
Z
F
F
S
S
ル
ル
ー
ー
ト
ト
フ
フ
ァ
ァ
イ
イ
ル
ル
シ
シ
ス
ス
テ
テ
ム
ム
の
の
作
作
成
成
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
3
.
.
Z
Z
F
F
S
S
の
の
構
構
築
築
/
/
運
運
用
用
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
3-1. ストレージプールの作成 ... 4
3-2. ファイルシステムの作成 ... 8
3-3. プロパティの設定 ... 9
3-3-1. ファイルシステムの使用量の割り当て(quota プロパティ) ... 9 3-3-2. プロパティの継承 ... 113-4. ファイルシステムのマウント/アンマウント ... 12
3-4-1. マウントポイントのプロパティ設定例 1 ... 12 3-4-2. マウントポイントのプロパティ設定例 2 ... 13 3-4-3. マウント/アンマウント実行 ... 143-5. ファイルシステムの共有、共有解除 ... 15
3-6. デバイスの追加(add) ... 17
3-7. デバイスの接続/切り離し(attach/detach) ... 19
3-7-1. デバイスの接続(attach) ... 19 3-7-2. デバイスの切り離し(detach) ... 223-8. デバイスのオンライン/オフライン(online/offline) ... 23
3-8-1. デバイスのオフライン(offline) ... 24 3-8-2. デバイスのオンライン(online) ... 253-9. エラーのクリア(clear)... 27
3-10. デバイスの置き換え(replace) ... 28
3-11. ホットスペア(spare) ... 31
3-12. ストレージプールの移行(export/import) ... 35
3-12-1. エクスポート(export) ... 35Oracle Solaris 11 ZFS 構築/運用手順書
3-13-1. スナップショットの作成 ... 37 3-13-2. ロールバック(rollback) ... 39 3-13-3. クローン(clone) ... 393-14. ZFS データの送信/受信(send/receive) ... 42
3-14-1. ZFS データの送信 ... 42 3-14-2. ZFS データの受信 ... 433-15. ZFS データの完全性をチェックする(scrub) ... 44
3-16. ミラーディスクの切り離し(split) ... 45
3-17. スナップショットの保持(hold) ... 48
3-18. スナップショットの差分表示(diff) ... 51
3-19. ZFS 暗号化 ... 53
3-20. 重複排除 ... 55
3-21. ZFS 自動スナップショット ... 57
3-22. ファイルシステムミラーマウント ... 62
3-23. トラブルシューティング ... 65
3-23-1. 損傷した ZFS ファイルシステムの修復 ... 65 3-23-2. デバイスの再接続 ... 65 3-23-3. 損傷したデバイスの修復 ... 65 3-23-4. 損傷したデータの修復 ... 66 3-23-5. 起動できないシステムの修復 ... 68 3-23-6. ZFS コマンドの履歴表示 ... 69参
参
考
考
1
1
.
.
フ
フ
ァ
ァ
イ
イ
ル
ル
シ
シ
ス
ス
テ
テ
ム
ム
の
の
共
共
有
有
、
、
共
共
有
有
解
解
除
除
(
(
O
O
r
r
a
a
c
c
l
l
e
e
S
S
o
o
l
l
a
a
r
r
i
i
s
s
1
1
1
1
1
1
1
1
/
/
1
1
1
1
)
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
0
0
参
参
考
考
2
2
.
.
Z
Z
F
F
S
S
操
操
作
作
の
の
監
監
視
視
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
2
2
付
付
録
録
1
1
.
.
Z
Z
F
F
S
S
プ
プ
ロ
ロ
パ
パ
テ
テ
ィ
ィ
の
の
紹
紹
介
介
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
3
3
Oracle Solaris 11 ZFS 構築/運用手順書
1.ZFS の概要
ZFS は Oracle Solaris 11 の標準機能であり、従来の UFS(Unix File System)と比較して様々な点で優 れたファイルシステムです。Solaris 11 のルートファイルシステムは ZFS のみであり、ZFS の特長や管理、 運用方法を理解することは Solaris 11 が稼働するシステムを管理、運用する上で必要となります。
1-1.ZFS の特長
■ 優れたスケーラビリティ ・ 世界初の 128bit のファイルシステム ・ 事実上、無限大といえるファイルシステムを構築可能 ■ 管理のしやすさ ・ 管理コマンドの簡素化(zpool、zfs) ・ 物理ディスクを集約した仮想ディスク領域(ストレージプール)上でファイルシステムを管理、提供 ・ ストレージプールによるデバイスの隠蔽とストレージ管理の容易化 ■ データの堅牢性 ・ データ書き込みは「Copy on Write」方式で実行され、一連の処理が完了するまでデータを確定させ ないため、データの整合性を保証【トランザクションファイルシステム】 ・ データブロックのチェックサムは親ブロックに格納されるため、チェックサム自身の損傷時も、不正デ ータ検出とデータ自己修復が可能【End-to-End のチェックサム】 ・ 暗号化によるデータ秘匿性向上 ・ ZFS 標準機能でソフトウェア RAID 構成が可能(表 1 参照) 表 1:ZFS でサポートする RAID 構成について 種類 機能 ディスクの最低必要本数 ストライピング 非冗長構成(RAID0) 2 本 ミラー 複数面も可能なミラー構成(RAID1) 2 本 RAID-Z シングルパリティ構成(RAID5 に類似) 2 本 RAID-Z2 ダブルパリティ構成(RAID6 に類似) 3 本 RAID-Z3 トリプルパリティ構成 4 本 ※RAID1+0(ミラー+ストライピング)など、複数の RAID 構成の組み合わせも可能Oracle Solaris 11 ZFS 構築/運用手順書
1-2.ZFS の利用
■ Solaris システムの運用に有効な機能 ・ 圧縮機能や重複排除機能でディスク容量の節約が可能 ・ ストレージプールの容量が不足した時は、OS 稼働中に領域の拡張が可能 ・ ファイルシステムを瞬時に退避可能(ZFS スナップショット)であり、データのロールバックも可能 ・ ZFS スナップショットからファイルシステムを瞬時に複製可能(ZFS クローン)・ Solaris Zone も ZFS 上に構成されるため、Zone のスナップショットやクローンも ZFS の仕組みを利 用して短時間で実行可能
1-3.システム要件
■ Oracle Solaris 11 で構成可能なルートファイルシステム(/)は ZFS のみとなります。UFS のルートファ イルシステムは構成できません。 ■ 最小のストレージプールのサイズは 64M バイトですが、推奨値は8G バイトです。8G バイト未満では 空きプール領域の割り当てや再利用が難しくなります。 ■ ストレージプールに使用するデバイスのサイズは、128M バイト以上にしてください。 ■ Oracle Solaris 11 システムのインストールに推奨される最小メモリ容量は 2G バイトです。 ■ ミラー構成を作成する場合は、複数のコントローラ配下のディスクで構成することを推奨します。 ■ ZFS のディスクラベルは、ルートファイルシステムも含めて EFI ラベル、または SMI(VTOC)ラベルで作 成可能です。 ※ルートファイルシステムの EFI ラベルについては、SPARC M10 のファームウェア XCP2230 以降 の環境でサポートされます。 表 2:ディスクラベルについて ラベル 説明 SMI(VTOC) ・ 従来(UFS)のラベル。2T バイトに満たないディスク用 EFI(Extensible Firmware Interface) ・ 2T バイトを超えるディスク用 ・ Solaris 11 のルートファイルシステム含むストレージプール ※ルートファイルシステムについては、SPARC M10 の ファームウェア XCP2230 以降の環境でサポートされます。
Oracle Solaris 11 ZFS 構築/運用手順書
2.ZFS ルートファイルシステムの作成
Oracle Solaris 11 をインストールすると、ルートファイルシステム(ルートプール)が ZFS で作成されます。 UFS は選択できません。本書では、Solaris 11 がインストール済みであり、2 本のディスクからミラー構成が 実施済みであることを前提として解説します。また、本書で解説している環境は SRU(Support Repository Update)、ESF が適用されています。 Oracle Solaris 11 のインストールについては、下記を参照してください。 「Oracle® Solaris 11.3 システムのインストール」 https://docs.oracle.com/cd/E62101_01/html/E62506/index.htmlOracle Solaris 11 ZFS 構築/運用手順書
3.ZFS の構築/運用
3-1.ストレージプールの作成
ストレージプールはディスク全体(例:c2t0d1)、または個別のスライス(例:c2t0d1s0)をストレージデバイ スとして利用可能ですが、性能や管理の面からディスク全体を使用する方法を推奨します。 ディスク全体を使用する場合、ディスクのスライス設定は不要であり、ZFS によって EFI ラベルのディスク としてフォーマットされます。format コマンドで表示されるパーティションテーブルは次のようになります。 例:ストレージプールを構成するディスクのパーティションテーブル(EFI ラベル)Current partition table (original):
Total disk sectors available: 143358320 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector
0 usr wm 256 68.36GB 143358320 1 unassigned wm 0 0 0 2 unassigned wm 0 0 0 3 unassigned wm 0 0 0 4 unassigned wm 0 0 0 5 unassigned wm 0 0 0 6 unassigned wm 0 0 0 8 reserved wm 143358321 8.00MB 143374704 ZFS データセット(ファイルシステム、ボリューム、スナップショット、クローンなどのストレージプール上で の総称)に名前をつけるときの規則は以下の通りです。 ■ 空のデータセット名は許可されません。 ■ 各データセットに使用できる文字は、英数字および次の 5 つの特殊文字だけです。 ・ 下線(_) ・ ハイフン(-) ・ コロン(:) ・ ピリオド(.) ・ 空白(" ") ■ ストレージプール名の先頭は英字にする必要があります。ただし、次の制限事項があります。 ・ c[0-9]の順序で始まる名前は許可されません。 ・ log、mirror、raidz または spare で始まる名前は予約されているため、使用できません。 ・ ストレージプール名にはパーセント記号(%)を含めないでください。 ■ データセット名の先頭は英数字にする必要があります。
Oracle Solaris 11 ZFS 構築/運用手順書
1)ストレージプールの作成
ディスク c2t0d1 と c2t0d2 からなるミラー構成のストレージプールを「testpool」という名前で作成します。 # zpool create testpool mirror c2t0d1 c2t0d2
☛
mirror の代わりに raidz(または、raidz2、raidz3)と指定することによって RAID-Z(RAID-Z2、RAID-Z3)の RAID 構 成のストレージプールが作成されます。☛
RAID 構成を指定しないで実行した場合は、ストライプ構成のストレージプールが作成されます。☛
ストレージプールの作成時にマウントポイントを指定しない場合、ストレージプール名がデフォルトマウントポイントと なります。上記の場合、/testpool としてマウントされます。 2)ストレージプールの確認 作成したストレージプールを確認します。 # zpool listNAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
testpool 4.97G 792K 4.97G 0% 1.00x ONLINE - 表 3:「zpool list」コマンドで表示されるプロパティ プロパティ 説明 NAME ストレージプールの名前 SIZE ストレージプールの合計サイズ 最上位レベルにあるすべての仮想デバイスの合計サイズ ALLOC すべてのデータセットおよび内部メタデータから割り当てられた容量 ※この容量は、df コマンドなどのファイルシステムレベルで報告される容量とは 一致しません FREE ストレージプール内で割り当てられていない容量 CAP 使用されている容量の割合 ※総容量に対する割合(パーセント)で表現されます DEDUP 重複除外された割合 HEALTH ストレージプールの現在の状態 ALTROOT ストレージプールの代替ルート
Oracle Solaris 11 ZFS 構築/運用手順書
3)ストレージプールの状態確認
作成したストレージプールの状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 errors: No known data errors
☛
-x オプションを使うとエラーが発生しているか、使用不可能なストレージプールの状態だけを表示します。☛
-v オプションを使うと詳細なデータエラー情報を表示し、前回のストレージプールのスクラブの完了後のデータエラ ーすべての完全なリストを出力します。 表 4:「zpool status」コマンドで表示される状態 状態 説明 DEGRADED 仮想デバイスに障害が発生しているが、引き続き利用できる状態 例)ミラーデバイスまたは RAID-Z デバイスを構成するデバイスのうち、1 つ以上のデバイスが失われたとき OFFLINE 管理者がその仮想デバイスを明示的にオフラインにしている状態 ONLINE デバイスは正常に機能している状態 REMOVED システム稼働中にデバイスが物理的に取り外されている状態 UNAVAIL デバイスまたは仮想デバイスを開くことができない状態 最上位レベルの仮想デバイスが使用できない場合は、そのストレージプ ールのデバイスへのアクセスは不可Oracle Solaris 11 ZFS 構築/運用手順書
参考)RAID-Z 構成のストレージプール作成
RAID-Z 構成の「testpool」というストレージプールを、ディスク c2t0d1 と c2t0d2 で作成する場合。 # zpool create testpool raidz c2t0d1 c2t0d2
参考)マウントポイントを指定したストレージプール作成
マウントポイントに「/export/test」を指定して、ミラー構成の「testpool」というストレージプールを、ディスク c2t0d1 と c2t0d2 で作成する場合。
# zpool create -m /export/test testpool mirror c2t0d1 c2t0d2 参考)ディスクラベルの変更
ディスク c2t0d1 の EFI ラベルを SMI ラベルに変更する場合。 # format -e c2t0d1
selecting c2t0d1
[disk formatted, no defect list found]
FORMAT MENU:
disk - select a disk
type - select (define) a disk type partition - select (define) a partition table current - describe the current disk
format - format and analyze the disk repair - repair a defective sector show - translate a disk address label - write label to the disk analyze - surface analysis
defect - defect list management backup - search for backup labels verify - read and display labels inquiry - show disk ID
volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit
format> label ←「label」を入力
[0] SMI Label [1] EFI Label
Specify Label type[1]: 0 ←「0」を入力 format>
Oracle Solaris 11 ZFS 構築/運用手順書
3-2.ファイルシステムの作成
ファイルシステムの作成には、「zfs create」コマンドを使用します。ファイルシステムの作成時に自動的に マウントポイントが作成されマウントされます。また、同時に各種のプロパティ設定が可能です。 1)ファイルシステムの作成 「testpool/home」という名前のファイルシステムを新規作成します。 # zfs create testpool/home 2)ファイルシステムの確認 作成したファイルシステムを確認します。 # zfs list -r testpoolNAME USED AVAIL REFER MOUNTPOINT testpool 1.16M 4.89G 304K /testpool testpool/home 288K 4.89G 288K /testpool/home 参考)マウントポイントを指定したファイルシステムの作成
マウントポイントに「/export/zfs」を指定して、「testpool/home」ファイルシステムを新規作成する場合。 # zfs create -o mountpoint=/export/zfs testpool/home
☛
-o mountpoint=[マウントポイント]を指定すると任意にマウントポイントを設定することが可能です。参考)ファイルシステムの名前の変更
ファイルシステム「testpool/home」の名前を「testpool/zfs/home_old」に変更する場合。 # zfs rename -p testpool/home testpool/zfs/home_old
☛
-p オプションを使用すると、中間のデータセット「testpool/zfs」が存在しない場合に同時作成することが可能です。 参考)ファイルシステムの削除 「testpool/home」を削除する場合。 # zfs destroy testpool/home☛
-r オプションを使用すると、指定したデータセット配下のデータセットを再帰的に削除することが可能です。 参考)ZFS ボリュームの作成 2G バイトの ZFS ボリューム testpool/home/user1 を作成する場合。 # zfs create -V 2g testpool/home/user1☛
-V オプションを使用すると、ファイルシステムではなく ZFS ボリューム(/dev/zvol)を作成することが可能です。Oracle Solaris 11 ZFS 構築/運用手順書
3-3.プロパティの設定
作成したファイルシステムに各種のプロパティを設定することで、ファイルシステムの動作を制御します。 設定可能なプロパティの中には、親に設定したプロパティがその配下のすべてのファイルシステムに継承さ れるものがあります。(各プロパティについては、「付録 1.プロパティの紹介」を参照してください。) 3-3-1.ファイルシステムの使用量の割り当て(quota プロパティ) 1)プロパティの設定 「testpool/home」が使用できる容量の割り当て(quota)を 3G バイトに設定します。 # zfs set quota=3g testpool/home☛
設定を解除する場合は、「quota=none」と設定します。☛
ファイルシステムで消費されている容量がシステムに反映されるまでにタイムラグがあるため、quota プロパティに 設定した値を超えてデータを書き込める場合があります。2)プロパティの確認
設定した quota プロパティを確認します。 # zfs get quota testpool/home
NAME PROPERTY VALUE SOURCE testpool/home quota 3G local
☛
-r オプションを使用すると、子孫のプロパティも確認することができます。SOURCE の列は、プロパティ値の設定元を表示します。表示される値の意味は下記の通りです
表 5:「zfs get」コマンドで表示される値
SOURCE の値 説明
default プロパティのデフォルト値が使用されている状態
inherited from dataset-name dataset-name に指定されているデータセットから継承され ている状態 local zfs set を使って、このデータセットに明示的に設定してい る状態 temporary プロパティ値は、zfs mount -o オプションを使って設定さ れ、マウントされている間だけ有効となる状態 - 読み取り専用プロパティであり、値は ZFS により生成される
Oracle Solaris 11 ZFS 構築/運用手順書
参考)ユーザ/グループ割り当て制限 割り当て制限については、ユーザ毎、およびグループ毎に設定することも可能です。下記の通り、割り当 て制限が設定されていないすべてのユーザ/グループに設定する場合と、特定のユーザ/グループ毎に設 定する方法があります。 表 6:ユーザ/グループ割り当て制限プロパティ プロパティ 説明 defaultuserquota=size | none デフォルトのユーザ割り当て制限 defaultgroupquota=size | none デフォルトのグループ割り当て制限 userquota@user= size | none | default 特定のユーザ割り当て制限 groupquota@group= size | none | default 特定のグループ割り当て制限☛
none は、割り当て制限なし、または割り当て制限を解除します。☛
default は、割り当て制限のデフォルト値に設定します。設定例)
デフォルトのグループ割り当て制限を設定する場合。 # zfs set defaultgroupquota=25gb testpool/home 特定のグループ割り当て制限を設定する場合。
Oracle Solaris 11 ZFS 構築/運用手順書
3-3-2.プロパティの継承 割り当て(quota)と予約(reservation)を除いて、すべての設定可能なプロパティは上位データセットから 値を継承します。明示的な値が上位データセットに設定されていない場合は、デフォルト値が設定されます。 以下は、一旦 testpool/home/user1 に圧縮(compression)「on」を設定した後、上位データセットからの設 定(default)を継承する手順です。 1)プロパティの設定 「testpool/home/user1」の compression 設定値を on に設定します。 # zfs create testpool/home/user1# zfs set compression=on testpool/home/user1 2)プロパティの設定確認
「testpool」の compression 設定値を確認します。 # zfs get -r compression testpool
NAME PROPERTY VALUE SOURCE testpool compression off default testpool/home compression off default testpool/home/user1 compression on local
☛
-r オプションを使用すると、指定したデータセット配下に再帰的に実行されます。3)プロパティの継承設定
compression 設定を上位データセットから継承します。 # zfs inherit compression testpool/home/user1 4)プロパティの設定確認
設定後に「testpool」の compression 設定値を確認します。 # zfs get -r compression testpool
NAME PROPERTY VALUE SOURCE testpool compression off default testpool/home compression off default testpool/home/user1 compression off default
Oracle Solaris 11 ZFS 構築/運用手順書
3-4.ファイルシステムのマウント/アンマウント
初 期 設 定 で は 、 す べ て の フ ァ イ ル シ ス テ ム は 、 OS 起 動 時 に サ ー ビ ス 管 理 機 能 ( SMF ) の svc:/system/filesystem/local:default サービスにより自動マウントされます。 zfs set コマンドで mountpoint プロパティを指定することで、マウントポイントを変更できます。また、 mountpoint プロパティは上位データセットより継承されます。 レガシーマウントを利用すると、従来のように/etc/vfstab ファイルや mount/umount コマンドを使用して、フ ァイルシステムのマウント/アンマウントを管理することが可能です。レガシーマウントを利用する場合は、 mountpoint プロパティに legacy を設定します。 3-4-1.マウントポイントのプロパティ設定例 1 下記は、「testpool/home」ファイルシステムのマウントポイントを「/export/zfs」に設定する場合です。 1)マウントポイントプロパティの確認 マウントポイントプロパティの設定値を確認します。 # zfs get -r mountpoint testpoolNAME PROPERTY VALUE SOURCE testpool mountpoint /testpool default testpool/home mountpoint /testpool/home default testpool/home/user1 mountpoint /testpool/home/user1 default 2)マウントポイントプロパティの設定
「testpool/home」のマウントポイントプロパティを「/export/zfs」に設定します。 # zfs set mountpoint=/export/zfs testpool/home
☛
mountpoint のプロパティは自動で継承されます。☛
mountpoint プロパティを変更すると、ファイルシステムが古いマウントポイントから自動的にマウント解除されて、 新しいマウントポイントに再マウントされます。 3)マウントポイントプロパティの確認 設定したマウントポイントプロパティの設定値を確認します。 # zfs list -r testpoolNAME USED AVAIL REFER MOUNTPOINT testpool 1.59M 4.89G 288K /testpool testpool/home 592K 3.00G 304K /export/zfs
Oracle Solaris 11 ZFS 構築/運用手順書
# zfs get -r mountpoint testpool
NAME PROPERTY VALUE SOURCE testpool mountpoint /testpool default testpool/home mountpoint /export/zfs local
testpool/home/user1 mountpoint /export/zfs/user1 inherited from testpool/home 3-4-2.マウントポイントのプロパティ設定例 2
下記は、「testpool/home」ファイルシステムのマウントポイントを「legacy」に設定する場合の手順です。 1)マウントポイントプロパティの確認
マウントポイントプロパティの設定値を確認します。 # zfs get -r mountpoint testpool
NAME PROPERTY VALUE SOURCE testpool mountpoint /testpool default testpool/home mountpoint /testpool/home default testpool/home/user1 mountpoint /testpool/home/user1 default 2)マウントポイントプロパティの設定
マウントポイントのプロパティを「legacy」に設定します。 # zfs set mountpoint=legacy testpool/home 3)マウントポイントプロパティの確認
設定したマウントポイントプロパティの設定値を確認します。 # zfs list -r testpool
NAME USED AVAIL REFER MOUNTPOINT testpool 1.59M 4.89G 288K /testpool testpool/home 592K 4.89G 304K legacy testpool/home/user1 288K 4.89G 288K legacy # zfs get -r mountpoint testpool
NAME PROPERTY VALUE SOURCE testpool mountpoint /testpool default testpool/home mountpoint legacy local
testpool/home/user1 mountpoint legacy inherited from testpool/home
☛
legacy を解除する場合、2)マウントポイントプロパティの設定の手順でマウントポイントを再指定してください。Oracle Solaris 11 ZFS 構築/運用手順書
3-4-3.マウント/アンマウント実行 ZFS のファイルシステムは、ファイルシステムが作成されるとき、またはシステムが起動するときに自動的 にマウントされます。zfs mount コマンドは、マウントポイントを変更するとき、または手動でファイルシステム のマウント/アンマウントを行うときに使用します。 zfs mount コマンドを引数なしで実行すると、ZFS が現在マウントしているファイルシステムをすべて表示 します。但し、レガシーマウントで管理されているマウントポイントは表示されません。 1)マウント状態の確認 現在のファイルシステムのマウント状態を確認します。 # zfs mount (中略) testpool /testpool 2)マウントの実施 「testpool/home」をマウントします。 # zfs mount testpool/home 3)マウント状態の確認 マウント実行後、ファイルシステムのマウント状態を確認します。 # zfs mount (中略) testpool /testpool testpool/home /export/zfs☛
-a オプションを使用すると、ZFS が管理しているファイルシステムをすべてマウントしますが、レガシーマウントで管 理されているファイルシステムはマウントされません。☛
-O オプションを使用すると、空でないディレクトリへ強制的にマウントします。 4)アンマウントの実施 「testpool/home」をアンマウントします。 # zfs unmount testpool/home または # zfs unmount /export/zfs☛
-a オプションを使用すると、/(root)ファイルシステムを除き ZFS が管理しているファイルシステムをすべてアンマウ ントできます。☛
アンマウントはファイルシステム名またはマウントポイントを指定して実行できます。Oracle Solaris 11 ZFS 構築/運用手順書
3-5.ファイルシステムの共有、共有解除
Oracle Solaris 11.1 以降の ZFS におけるファイルシステムの共有は share.nfs プロパティを設定するこ とで実現します。Oracle Solaris 10 のように/etc/dfs/dfstab ファイルを編集してもファイルシステムの共有は 設定されません。
なお、Solaris 11 11/11 の場合は、手順が異なります。11/11 の手順については、「参考1.ファイルシステ ムの共有、共有解除(Oracle Solaris 11 11/11)」を参照下さい。
1)share.nfs プロパティの状態確認
ファイルシステムの share.nfs プロパティを確認します。デフォルトは「off」(無効)です。 # zfs get share.nfs testpool/home
NAME PROPERTY VALUE SOURCE testpool/home share.nfs off default 2)共有されているファイルシステムの確認
共有設定されているファイルシステムがないことを確認します。 # share
IPC$ smb - Remote IPC
☛
ファイルシステムの共有の状態は share コマンドで確認できます。☛
共有されているファイルシステムがない場合は何も出力されません。3)共有の設定
share.nfs プロパティを有効にします。
# zfs set share.nfs=on testpool/home 4)share.nfs プロパティの状態確認
share.nfs プロパティが「on」(有効)であることを確認します。 # zfs get share.nfs testpool/home
NAME PROPERTY VALUE SOURCE testpool/home share.nfs on local 5)共有されているファイルシステムの確認 共有設定されているファイルシステムを確認します。
# share
IPC$ smb - Remote IPC
Oracle Solaris 11 ZFS 構築/運用手順書
6)共有設定の一時的な解除 ファイルシステムの共有を解除します。 # zfs unshare testpool/home☛
-a オプションを使用すると、共有されているすべてのファイルシステムの共有を解除します。 7)share.nfs プロパティの状態確認 共有を一時的に解除した後も、共有設定は有効であることを確認します。 # zfs get share.nfs testpool/homeNAME PROPERTY VALUE SOURCE testpool/home share.nfs on local 8)共有されているファイルシステムの確認 共有されているファイルシステムを確認します。
# share
IPC$ smb - Remote IPC
☛
一時的に共有を解除しているため、何も出力されません。 9)共有の再開 ファイルシステムの共有を再開します。 # zfs share testpool/home 10)共有されているファイルシステムの確認 共有されているファイルシステムを確認します。 # shareIPC$ smb - Remote IPC
testpool_home /export/zfs nfs sec=sys,rw
☛
共有を再開したため、該当のファイルシステムが出力されます。Oracle Solaris 11 ZFS 構築/運用手順書
3-6.デバイスの追加(add)
ストレージプールにデバイスを追加することで、ストレージプールの領域を動的に拡張できます。ストレー ジプール内のすべてのデータセットは、この領域をすぐに利用できます。 図 1:デバイスの追加(add)イメージ図 1)構成の確認 ディスクを追加する前に「testpool」の構成を確認します。 # zpool list testpoolNAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT testpool 4.97G 1.59M 4.97G 0% 1.00x ONLINE - #
# zpool status testpool pool: testpool
state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t0d1 ONLINE 0 0 0 c0t0d2 ONLINE 0 0 0 errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
2)デバイスの追加
zpool add コマンドで、「testpool」に c2t0d3 と c2t0d4 からなるミラー構成のディスクを追加します。 # zpool add testpool mirror c2t0d3 c2t0d4
☛
「testpool」に 5GB のディスク 2 本をミラー構成で追加します。3)構成の確認
zpool list、zpool status コマンドで「testpool」の構成を確認します。 # zpool list testpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT testpool 9.94G 126K 9.94G 0% 1.00x ONLINE - #
# zpool status testpool pool: testpool
state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 c2t0d4 ONLINE 0 0 0 errors: No known data errors
☛
5GB のディスク 2 本をミラー構成で追加したので、SIZE の値は約 10GB です。☛
追加したデバイスはストライピングになります。RAID-Z などの拡張はできません(例. 2+1 構成の RAID-Z にディス クを 1 本追加した場合、3+1 構成になるのではなく、2+1 構成の RAID-Z とディスク 1 本のストライピングになる)。☛
追加するデバイスは元のストレージプールと同一容量のディスク、同一 RAID 構成を推奨します。Oracle Solaris 11 ZFS 構築/運用手順書
3-7.デバイスの接続/切り離し(attach/detach)
既存のミラー構成のデバイスへ新しいデバイスを接続、または切り離しができます。例えば、既存のデバ イスが 2 面ミラーである場合は、新規デバイスを接続すると 3 面ミラーが作成されます。新しいデバイスを接 続すると、すぐに再同期化が開始されます。 デバイスの接続/切り離し(attach/detach)はミラー構成でのみ使用可能です。 図 2:デバイスの接続/切り離し(attach/detach)イメージ図 3-7-1.デバイスの接続(attach) 1)ストレージプールの状態確認 ストレージプール「testpool」の状態を確認します。 # zpool list testpoolNAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT testpool 4.97G 4.87M 4.97G 0% 1.00x ONLINE - #
# zpool status testpool pool: testpool
state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
2)デバイスの接続
zpool attach コマンドで、「testpool」のデバイス c2t0d1 に c2t0d3 を接続します。 # zpool attach testpool c2t0d1 c2t0d3
3)ストレージプールの状態確認
attach 後にストレージプールの状態を確認します。 # zpool list testpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT testpool 4.97G 4.89M 4.97G 0% 1.00x ONLINE - #
# zpool status testpool pool: testpool
state: ONLINE
scan: resilvered 672K in 0h0m with 0 errors on Tue Feb 24 15:43:14 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 errors: No known data errors
☛
ミラー構成のため、ディスクを追加しても SIZE の値は変わりません。参考)デバイスを追加してストレージプールをミラー構成にする場合
以下は、単一のディスク(c2t0d1)で構成されているストレージプールにディスク(c2t0d2)を attach し、ミラ ー構成に変更する手順です。
ストレージプール「testpool」の状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0
Oracle Solaris 11 ZFS 構築/運用手順書
zpool attach コマンドで、「testpool」のデバイス c2t0d1 に c2t0d2 を接続します。 # zpool attach testpool c2t0d1 c2t0d2
attach 後にストレージプールの状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: resilvered 672K in 0h0m with 0 errors on Tue Feb 24 15:58:01 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
3-7-2.デバイスの切り離し(detach) 1)ストレージプールの状態確認
ストレージプール「testpool」の状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: resilvered 4.35M in 0h0m with 0 errors on Thu Mar 12 10:36:41 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 errors: No known data errors
☛
3 面ミラー構成であることを確認します。2)デバイスの切り離し
zpool detach コマンドで、「testpool」のデバイス c2t0d3 を切り離します。 # zpool detach testpool c2t0d3
3)ストレージプールの状態確認
detach 後にストレージプールの状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: resilvered 4.35M in 0h0m with 0 errors on Thu Mar 12 10:36:41 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
3-8.デバイスのオンライン/オフライン(online/offline)
ZFS では、デバイスを個別にオフラインまたはオンラインにできます。オフラインにしたデバイスには、I/O 要求は送信されません。 ハードウェアに障害が発生している場合でも、ZFS ではその状態を一時的な状態と見なして、デバイスへ のデータの読み取りおよび書き込みを続行しますが、継続的に障害が発生している場合は、デバイスをオフ ラインにして無視するように設定できます。また、オンラインに戻した後は自動で再同期化されます。 図 3:デバイスのオンライン/オフライン(online/offline)イメージ図 デバイスをオフラインにするときは、以下の点に注意してください。 ■ ストレージプールを構成するすべてのデバイスをオフラインにすることはできません。 ■ デフォルト設定では、デバイスをオフラインにすると、システムを再起動してもオフラインのままです。 一時的にオフラインにするには、-t オプションを使用します。一時的にオフラインにした場合、システム を再起動すると自動的にオンライン状態に戻ります。 ■ デバイスはオフラインになっても、ストレージプールから切り離されません。元のストレージプールが 破棄されても、オフラインのデバイスを別のストレージプールで使用しようとすると、エラーが表示され 使用できません。元のストレージプールを破棄した後で、オフラインのデバイスを別のストレージプー ルで使用する場合は、まずデバイスをオンラインに戻してから、元のストレージプールを破棄します。Oracle Solaris 11 ZFS 構築/運用手順書
3-8-1.デバイスのオフライン(offline) 1)ストレージプールの状態確認
ストレージプール「testpool」の状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 errors: No known data errors
2)デバイスのオフライン
zpool offline コマンドで、「testpool」からディスク c2t0d3 をオフラインにします。 # zpool offline testpool c2t0d3
Oracle Solaris 11 ZFS 構築/運用手順書
3)ストレージプールの状態確認
オフライン後にストレージプールの状態を確認します。 # zpool status testpool
pool: testpool state: DEGRADED
status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state.
action: Online the device using 'zpool online' or replace the device with 'zpool replace'.
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 OFFLINE 0 0 0 errors: No known data errors
☛
対象ディスクが OFFLINE と表示されること、また、ストレージプールの STATE が DEGRADED と表示されることを 確認します。参考)デバイスを一時的にオフラインにする場合
以下の手順は、ディスク c2t0d3 を一時的にオフラインにする場合です。 # zpool offline -t testpool c2t0d3
☛
-t オプションを使用するとデバイスは一時的にオフラインになります。3-8-2.デバイスのオンライン(online)
オフラインのデバイスは、zpool online コマンドを使ってオンラインにできます。デバイスがオンラインに なると、ストレージプールに書き込まれたすべてのデータは、新しく使用可能になったデバイスに再同期化さ れます。
Oracle Solaris 11 ZFS 構築/運用手順書
1)デバイスの状態確認 デバイスの状態を確認します。
# zpool status testpool pool: testpool
state: DEGRADED
status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state.
action: Online the device using 'zpool online' or replace the device with 'zpool replace'.
scan: resilvered 24K in 0h0m with 0 errors on Tue Feb 24 18:44:29 2015 config:
NAME STATE READ WRITE CKSUM testpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 OFFLINE 0 0 0 errors: No known data errors
2)デバイスのオンライン
zpool online コマンドで、testpool のディスク c2t0d3 をオンラインにします。 # zpool online testpool c2t0d3
3)デバイスの状態確認
オンライン後、デバイスの状態を確認します。 # zpool status testpool
pool: testpool state: ONLINE
scan: resilvered 72K in 0h0m with 0 errors on Tue Feb 24 18:55:48 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0
Oracle Solaris 11 ZFS 構築/運用手順書
3-9.エラーのクリア(clear)
ストレージプール内のデバイスに障害が発生した場合、zpool status の出力にエラーが表示されます。デ バイスのエラーが一時的である場合は、エラーを無視してクリアすることができますが、クリア後もデバイス のエラーが出力される場合はデバイスの交換が必要です。エラー出力は自動的に消えないため、デバイス の交換後は手動でエラー出力をクリアします。 1)ストレージプールのエラーのクリア 「testpool」のエラーをクリアします。# zpool clear testpool
参考)デバイスを指定してエラーのクリアを実行する場合 デバイスを指定してクリアを実行します。
# zpool clear testpool c2t0d2
Oracle Solaris 11 ZFS 構築/運用手順書
3-10.デバイスの置き換え(replace)
zpool replace コマンドを使用して、ストレージプール内のデバイスを物理的に置き換えることができます。 図 4:デバイスの置き換え(replace)イメージ図 ストレージプール内のデバイスを置き換える場合は、次のことを考慮してください。 ■ ストレージプールのプロパティ autoreplace を on に設定した場合、そのストレージプールに以前属し ていたデバイスと物理的に同じ位置に新しいデバイスが検出されると、そのデバイスは自動的にフォ ーマットされ、zpool replace コマンドを使用せずに置き換えられます。ハードウェアの種類によっては、 この機能を使用できない場合があります。 ■ 交換用デバイスはストレージプール内で最も容量の小さいディスクより大きいサイズである必要があ ります。 ■ 置き換える前のデバイスよりもサイズが大きいデバイスをストレージプールに追加しても、自動的に その最大サイズにまで拡張されません。ストレージプールに置き換えたデバイスを最大サイズまで拡 張したい場合は、ストレージプールの autoexpand プロパティを有効にします。デフォルトでは autoexpand プロパティは無効になっています。 ■ 障害の発生したディスクがホットスペアに自動的に置き換えられた場合は、障害の発生したディスク が置き換えられたあとでスペアの切り離しが必要になることがあります。 ■ デバイスの置き換えは、新しいデバイスへデータの再同期が行われるため時間がかかります。zpool scrub コマンドを実行すると、新しいデバイスが動作可能なこと、およびデータが正しく書き込まれるこ とを確認することができます。Oracle Solaris 11 ZFS 構築/運用手順書
1)デバイスの確認
zpool status コマンドで確認します。 # zpool status testpool pool: testpool
state: ONLINE
scan: resilvered 72K in 0h0m with 0 errors on Tue Feb 24 18:55:48 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 errors: No known data errors
2)デバイスの置き換え
c2t0d1 と c2t0d2 と c2t0d3 で構成される testpool のうち、c2t0d3 を別ディスク(c2t0d4)で置き換えます。 # zpool replace testpool c2t0d3 c2t0d4
☛
1 つのデバイスで構成されるストレージプール内のデバイスを置き換える場合も同様に、置き換える前後のデバイス を指定します。Oracle Solaris 11 ZFS 構築/運用手順書
3)デバイスの置き換え確認
デバイスの置き換え後、zool status コマンドでストレージプールの状態を確認します。 # zpool status testpool
pool: testpool state: DEGRADED
status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state.
action: Wait for the resilver to complete.
Run 'zpool status -v' to see device specific details. scan: resilver in progress since Wed Feb 25 10:22:07 2015 1003M scanned
493M resilvered at 30.8M/s, 49.10% done, 0h0m to go config:
NAME STATE READ WRITE CKSUM testpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 replacing-2 DEGRADED 0 0 0 c2t0d3 ONLINE 0 0 0 c2t0d4 DEGRADED 0 0 0 (resilvering) errors: No known data errors
☛
同期処理が完了するまでは「replacing-2」と表示されます。# zpool status testpool pool: testpool
state: ONLINE
scan: resilvered 1003M in 0h0m with 0 errors on Wed Feb 25 10:22:43 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 c2t0d4 ONLINE 0 0 0 errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
3-11.ホットスペア(spare)
ホットスペア機能を利用すると、ストレージプールで障害が発生した場合、故障したデバイスをスペアディ スクと置き換えることできます。オンラインのデバイスが故障した場合は、スペアディスクに自動的に置き換 えられます。また、スペアディスクは複数のストレージプールで共有できます。 ストレージプールの autoreplace プロパティを on に設定している場合、新しいデバイスが挿入されオンライ ン処理が完了すると、使用中のスペアディスクは自動的に切り離され未使用のスペアディスクに戻ります。 図 5:ホットスペア(spare)イメージ図Oracle Solaris 11 ZFS 構築/運用手順書
ホットスペア機能使用時の注意 ■ ストレージプール内でもっとも大きいディスクのサイズ以上のディスクをスペアディスクに設定します。 サイズの小さなディスクを設定した場合、スペアディスクがアクティブになる(故障したデバイスと置き 換わる、または手動で置き換える)際にエラーとなります。 ■ 共有しているスペアディスクがストレージプールで使用されている状態で、ストレージプールをエクスポ ートする場合は、zpool export -f (強制)オプションを使用する必要があります。ただし、スペアディスク を共有している別のストレージプールがスペアディスクを使用しようとするとデータ破壊が発生する可 能性があります。 スペアディスクをアクティブにする(置き換える)方法 ■ 手動 – zpool replace コマンドを使用して置き換えます。 ■ 自動 – FMA エージェントがデバイスのエラーを検知し故障デバイスをスペアディスクに置き換えま す。☛
FMA(Fault Management Architecture)は、ハードウェアに関する情報を、監視、解析し、デバイスの自動切り離し などを行う可用性を高める OS 標準機能。1)スペアディスクの指定
ストレージプール作成時にスペアディスクを指定する場合。
# zpool create testpool mirror c2t0d1 c2t0d2 spare c2t0d3 c2t0d4 ストレージプール作成後にスペアディスクを指定する場合。
Oracle Solaris 11 ZFS 構築/運用手順書
2)スペアディスクの確認
zpool status コマンドで確認します。 # zpool status testpool pool: testpool
state: ONLINE
scan: none requested config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 spares c2t0d3 AVAIL c2t0d4 AVAIL errors: No known data errors 3)スペアディスクのアクティブ化
zpool replace コマンドを使用して、ストレージプール内のホットスペアをアクティブにする場合。 # zpool replace testpool c2t0d1 c2t0d3
#
# zpool status testpool pool: testpool
state: ONLINE
scan: resilvered 696K in 0h0m with 0 errors on Wed Feb 25 11:24:58 2015 config:
NAME STATE READ WRITE CKSUM testpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 spare-0 ONLINE 0 0 0 c2t0d1 ONLINE 0 0 0 c2t0d3 ONLINE 0 0 0 c2t0d2 ONLINE 0 0 0 spares c2t0d3 INUSE c2t0d4 AVAIL errors: No known data errors
Oracle Solaris 11 ZFS 構築/運用手順書
スペアディスクを非アクティブにする方法 次の 3 つの方法を使って、スペアディスクを非アクティブにできます ■ スペアディスクをストレージプールから削除することでホットスペアを取り消す(remove) ■ 元のデバイスをスペアディスクと置き換える(replace) ■ スペアディスクを恒久的に交換する(元のデバイスを detach する) 参考)スペアディスクの削除 ホットスペアに設定しているスペアディスクを削除する場合。 # zpool remove testpool c2t0d4Oracle Solaris 11 ZFS 構築/運用手順書
3-12.ストレージプールの移行(export/import)
3-12-1.エクスポート(export) ストレージプールをエクスポートして、別のサーバにインポートすることができます。この操作によりストレ ージプールに関する全ての情報を別のサーバに移行することができます。 図 6:エクスポート(export)イメージ図 1)ストレージプールのエクスポート testpool をエクスポートします。# zpool export testpool 2)エクスポート状態の確認
# zpool list testpool
cannot open 'testpool': no such pool