ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: ZFS ファイルシステム Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris ZFS ファイルシステム (概要)
3. Oracle Solaris ZFS ファイルシステムと従来のファイルシステムの相違点
4. Oracle Solaris ZFS ストレージプールの管理
ZFS ルートプールのインストールに関する問題のトラブルシューティング
ZFS スワップデバイスおよびダンプデバイスのサイズを調整する
ミラー化された ZFS ルートプールの代替ディスクからブートする
SPARC システムで ZFS ルートファイルシステムからブートする
x86 システムで ZFS ルートファイルシステムからブートする
6. Oracle Solaris ZFS ファイルシステムの管理
7. Oracle Solaris ZFS のスナップショットとクローンの操作
8. ACL および属性を使用した Oracle Solaris ZFS ファイルの保護
10. Oracle Solaris ZFS の高度なトピック
11. Oracle Solaris ZFS のトラブルシューティングとプールの回復
13. 推奨の Oracle Solaris ZFS プラクティス
次のセクションでは、ZFS ルートプールのインストールと更新について、およびミラー化ルートプールの構成について説明します。
Oracle Solaris 11 Live CD によるインストール方法では、デフォルトの ZFS ルートプールが単一ディスク上にインストールされます。Oracle Solaris 11 自動インストール (AI) 方法では、AI マニフェストを作成することで、ZFS ルートプール用のディスクまたはミラー化ディスクを指定できます。
AI インストーラは、ZFS ルートプールをデフォルトのブートディスクにインストールするか、または指定したターゲットディスクにインストールする柔軟性を提供します。c1t0d0s0 などの論理デバイスや、物理デバイスのパスを指定できます。さらに、MPxIO 識別子や、インストールされるデバイスのデバイス ID も使用できます。
インストールのあとで、ZFS ストレージプールとファイルシステムの情報を確認します。これらの情報は、インストールのタイプとカスタマイズによって異なります。例:
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c1t3d0s0 ONLINE 0 0 0 errors: No known data errors # zfs list # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.49G 60.4G 40K /rpool rpool/ROOT 3.46G 60.4G 31K legacy rpool/ROOT/solaris 3.46G 60.4G 3.16G / rpool/ROOT/solaris/var 303M 60.4G 216M /var rpool/dump 2.00G 60.5G 1.94G - rpool/export 96.5K 60.4G 32K /rpool/export rpool/export/home 64.5K 60.4G 32K /rpool/export/home rpool/export/home/admin 32.5K 60.4G 32.5K /rpool/export/home/admin rpool/swap 1.03G 60.5G 1.00G -
ZFS BE 情報を確認します。例:
# beadm list # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 3.85G static 2011-09-26 08:37
上記の出力では、Active フィールドは、BE が現在アクティブであるか (N で表現)、リブート時にアクティブになるか ( R で表現)、またはその両方であるか (NR で表現) を示します。
デフォルトの ZFS ブート環境 (BE) には、デフォルトで solaris という名前が付けられます。BE は beadm list コマンドを使用して識別できます。例:
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 8.41G static 2011-01-13 15:31
上記の出力で、NR は、BE が現在アクティブであり、リブート時にアクティブな BE になることを意味しています。
pkg update コマンドを使用して ZFS ブート環境を更新できます。pkg update コマンドを使用して ZFS BE を更新した場合、既存の BE への更新がきわめてわずかである場合を除き、新しい BE が作成されて自動的にアクティブになります。
# pkg update DOWNLOAD PKGS FILES XFER (MB) Completed 707/707 10529/10529 194.9/194.9 . . .
solaris-1 という新しい BE が自動的に作成されてアクティブになります。
# init 6 . . . # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 6.25M static 2011-09-26 08:37 solaris-1 NR / 3.92G static 2011-09-26 09:32
# beadm activate solaris # init 6
回復するために、別の BE からのファイルをコピーしたりそのファイルにアクセスしたりする必要が生じる場合があります。
# beadm mount solaris-1 /mnt
# ls /mnt bin export media pkg rpool tmp boot home mine platform sbin usr dev import mnt proc scde var devices java net project shared doe kernel nfs4 re src etc lib opt root system
# beadm umount solaris-1
自動インストール中にミラー化ルートプールを構成しない場合は、インストール後にミラー化ルートプールを簡単に構成できます。
ルートプール内のディスクを置き換える方法については、「ZFS ルートプールのディスクを交換する方法」を参照してください。
# zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 errors: No known data errors
SPARC: ディスクに SMI (VTOC) ディスクラベルとスライス 0 があることを確認してください。ディスクのラベルを変更してスライス 0 を作成する必要がある場合は、『Oracle Solaris の管理: デバイスとファイルシステム』の「ZFS ルートファイルシステム用のディスクスライスの作成」を参照してください。
x86: ディスクに fdisk パーティション、SMI ディスクラベル、およびスライス 0 があることを確認してください。ディスクのパーティションを変更してスライス 0 を作成する必要がある場合は、『Oracle Solaris の管理: デバイスとファイルシステム』の「ZFS ルートファイルシステム用のディスクスライスの作成」を参照してください。
# zpool attach rpool c2t0d0s0 c2t1d0s0 Make sure to wait until resilver is done before rebooting.
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Thu Sep 29 18:09:09 2011 1.55G scanned out of 5.36G at 36.9M/s, 0h1m to go 1.55G scanned out of 5.36G at 36.9M/s, 0h1m to go 1.55G resilvered, 28.91% done config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 ONLINE 0 0 0 (resilvering) errors: No known data errors
上の出力の場合、再同期化処理は完了していません。次のようなメッセージが表示されたら、再同期化が完了しています。
resilvered 5.36G in 0h10m with 0 errors on Thu Sep 29 18:19:09 2011
SPARC: システムが新しいディスクから自動的にブートするように設定します。そのためには、eeprom コマンドまたはブート PROM の setenv コマンドを使用します。
x86: システム BIOS を再構成します。
次の理由により、ルートプールのディスクの置き換えが必要になることがあります。
ルートプールが小さすぎるため、より大きいディスクに置き換えたい
ルートプールのディスクに障害が発生している。非冗長プールでディスクに障害が発生してシステムがブートしない場合は、CD やネットワークなどの代替メディアからブートしたあとでルートプールのディスクを置き換える必要があります。
ミラー化ルートプール構成では、代替メディアからブートしなくてもディスクの置き換えを試行できる場合があります。zpool replace コマンドを使用して、障害が発生しているディスクを置き換えたり、追加ディスクがある場合は zpool attach コマンドを使用したりできます。追加ディスクの接続やルートプールディスクの切り離しの例については、次の手順を参照してください。
SATA ディスクを備えたシステムでは、故障したディスクを交換するための zpool replace 操作を試みる前に、ディスクをオフラインにして構成解除する必要があります。例:
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 <Confirm that the new disk has an SMI label and a slice 0> # zpool replace rpool c1t0d0s0 # zpool online rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0 x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t0d0s0
一部のハードウェアでは、交換用ディスクの装着後にそのディスクをオンラインにしたり再構成を行ったりする必要がありません。
ルートプールのために使用するディスクのラベルを変更する方法については、『Oracle Solaris の管理: デバイスとファイルシステム』の「ディスクラベルを作成する方法」を参照してください。
例:
# zpool attach rpool c2t0d0s0 c2t1d0s0 Make sure to wait until resilver is done before rebooting.
例:
# zpool status rpool pool: rpool state: ONLINE scan: resilvered 5.36G in 0h2m with 0 errors on Thu Sep 29 18:11:53 2011 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 ONLINE 0 0 0 errors: No known data errors
SPARC システムの場合、たとえば次のようになります。
ok boot /pci@1f,700000/scsi@2/disk@1,0
交換用ディスクからのブートをテストできるように、また、交換用ディスクに障害が発生した場合に必要に応じて既存のディスクから手動でブートできるように、現在のディスクと新しいディスクのブートデバイスのパス名を特定します。次の例では、現在のルートプールのディスク (c2t0d0s0) は次のとおりです。
/pci@1f,700000/scsi@2/disk@0,0
次の例で、交換用ブートディスク (c2t1d0s0) は次のとおりです。
boot /pci@1f,700000/scsi@2/disk@1,0
例:
# zpool detach rpool c2t0d0s0
SPARC: システムが新しいディスクから自動的にブートするように設定します。そのためには、eeprom コマンドまたはブート PROM の setenv コマンドを使用します。
x86: システム BIOS を再構成します。
別のルートプール内で既存の BE を再作成する場合は、次の手順に従ってください。独立したスワップデバイスおよびダンプデバイスを備えた同様の BE を持つ 2 つのルートプールが必要か、それともスワップデバイスおよびダンプデバイスを共有する別のルートプールに BE を作成するだけかに基づき、手順を変更できます。
2 番目のルートプール内の新しい BE からアクティブ化しブートしたあと、1 番目のルートプール内の以前の BE に関する情報はなくなります。元の BE に戻す場合、元のルートプールのブートディスクから手動でシステムをブートする必要があります。
# zpool create rpool2 c4t2d0s0
# beadm create -p rpool2 solaris2
# zpool set bootfs=rpool2/ROOT/solaris2 rpool2
# beadm activate solaris2
ok boot disk2
システムは新しい BE 下で実行しています。
# zfs create -V 4g rpool2/swap
/dev/zvol/dsk/rpool2/swap - - swap - no -
# zfs create -V 4g rpool2/dump
# dumpadm -d /dev/zvol/dsk/rpool2/dump
SPARC – システムが新しいディスクから自動的にブートするように設定します。そのためには、eeprom コマンドまたはブート PROM の setenv コマンドを使用します。
x86 – システム BIOS を再構成します。
# init 6