beadm - ZFS ブート環境の管理
beadm create [-a] [-d description] [-e non-activeBeName | beName@snapshot] [-o property=value] ... [-p zpool] beName
beadm create beName@snapshot
beadm destroy [-fF] beName | beName@snapshot beadm destroy [-fF] -O
beadm list [-a | -ds] [-H] [beName]
beadm mount [-b] beName mountpoint
beadm unmount [-f] beName
beadm rename beName newBeName
beadm set-policy {-n [-]policy [-n [-]policy2] ...} beName [beName2 .
beadm activate beName
beadm コマンドは、ZFS ブート環境 (BE) を管理するためのユーザーインタフェースです。このユーティリティーは、単一のシステムで複数の Oracle Solaris インスタンスを管理するシステム管理者によって使用されます。
beadm を使用すると、次の操作を行うことができます。
アクティブな BE に基づいた、新しい BE の作成
アクティブでない BE に基づいた、新しい BE の作成
既存の BE のスナップショットの作成
既存のスナップショットに基づいた、新しい BE の作成
新しい BE の作成と別の zpool へのコピー
既存のアクティブでない BE のアクティブ化
BE のマウント
BE のアンマウント
BE を破棄します。
BE のスナップショットの破棄
既存のアクティブでない BE の名前変更
ポリシー属性を一連の BE で設定します。
スナップショットとデータセットに関する情報の表示
beadm コマンドには、下記のようなサブコマンドおよびオプションがあります。これらのサブコマンドおよびオプションの多くの使用法については、次の「使用例」で説明しています。
コマンドの使用法を表示します。
beName という新しいブート環境を作成します。–e オプションを指定しない場合、新しいブート環境は現在実行中のブート環境のクローンとして作成されます。–d オプションを指定する場合、記述が x86 システムの GRUB メニューまたは SPARC システムのブートメニューにある BE エントリのタイトルとしても使用されます。–d オプションを指定しない場合、beName がタイトルとして使用されます。入れ子の BE では、–p オプションの使用はサポートされません。また、ブート不可能な入れ子の BE と、ブート不可能な入れ子の BE のスナップショットは、–e オプションとともに使用できません。
作成と同時に、新しく作成された BE をアクティブにします。デフォルトでは、新しく作成された BE をアクティブにしません。
関連付けられた記述を含む新しい BE を作成します。
既存のアクティブでない BE から新しい BE を作成します。入れ子の BE では、ブート可能な BE のみがこのオプションとともに使用できます。
beName という BE の既存のスナップショットから新しい BE を作成します。入れ子の BE では、ブート可能な BE のスナップショットのみがこのオプションとともに使用できます。
特定の ZFS プロパティーを使って新しい BE のデータセットを作成します。複数の –o オプションを指定できます。–o オプションの詳細は、zfs(1M) を参照してください。
指定された zpool に新しい BE を作成します。このオプションを指定しない場合、デフォルトの動作では、元の BE と同じプールに新しい BE を作成します。このオプションは、入れ子の BE の内側ではサポートされません。
beName という既存の BE のスナップショットを作成します。入れ子の BE の内側では、ブート可能な BE のスナップショットのみを作成できます。入れ子の BE の内側にいるときは、ブート可能な BE またはブート可能ではないがリブート時にアクティブとしてマークされない BE のみ破棄できます。
beName というブート環境を破棄するか、beName@snapshot というブート環境の既存のスナップショットを破棄します。ブート環境を破棄すると、そのブート環境のスナップショットもすべて破棄されます。このコマンドを使用するときは、注意が必要です。
ブート環境が現在マウントされている場合、強制的にアンマウントします。
ブート環境を破棄するための確認を求めずにアクションを強制的に実行します。
すべての孤立したブート環境を破棄します。
beName という既存のブート環境に関する情報を一覧表示します。beName を指定しない場合は、すべてのブート環境に関する情報を一覧表示します。Flags フィールドは、ブート環境が現在アクティブであるか (N で表現)、リブート時にアクティブになるか (R で表現)、またはその両方であるか (NR で表現) を示します。入れ子の BE の内側にあるブート不可能な BE は、感嘆符 (!) で表現されます。そのようなゾーンでは、! フラグはブート環境のブートアーティファクトがブートプールに存在しないことを意味し、そのために BE は直接にはブート不可能になります。(BE のブートアーティファクトをブートプールに転送するには、activate サブコマンドを使用して BE をアクティブにするか、set-policy サブコマンドを使用して BE のポリシーを noevict に変更します)。対応する大域ゾーンブート環境のない入れ子のブート環境は O で表され、孤立していることを示します。
機械解析可能な出力の各行には、1 番目のフィールドとしてブート環境名が含まれます。Space フィールドはバイト単位で表示され、Created フィールドは UTC 形式で表示されます。その他のオプションを付けないで –H オプションを使用すると、2 番目のフィールドにブート環境の UUID が表示されます。ブート環境に UUID がない場合、このフィールドは空白になります。「使用例」のセクションを参照してください。入れ子の BE の内側では、UUID フィールドは実際には入れ子の BE に関連付けられている親 ID を表します。
ブート環境に関する利用可能なすべての情報を一覧表示します。この情報には、従属ファイルシステムおよびスナップショットが含まれます。
ブート環境に属しているすべての従属ファイルシステムに関する情報を一覧表示します。
ブート環境のスナップショットに関する情報を一覧表示します。
ヘッダー情報を一覧表示しません。一覧情報の各フィールドは、セミコロンで区切られます。
マウントポイントで beName というブート環境をマウントします。マウントポイントは、既存の空ディレクトリである必要があります。
コマンド行に –b 引数が含まれる、また指定された BE に関連付けられたアクティブなブートプールデータセットが存在する場合、そのブートプールデータセットは <mountpoint>/bootpool_data の下にマウントされます (そのディレクトリは、データセットがマウントされると自動的に作成され、beadm unmount サブコマンドを使用して BE がアンマウントされると自動的に削除されます。別のメカニズムを使用して BE をアンマウントすると、この作成されたディレクトリがクリーンアップされないことに注意してください。
beName というブート環境をアンマウントします。
ブート環境が現在ビジー状態であっても強制的にアンマウントします。
beName というブート環境の名前を newBeName に変更します。入れ子の BE では、ブート可能な BE の名前変更のみを行えます。
ブート環境の指定されたリストに対して、指定したポリシーのセットを設定 (または設定解除) します。複数の –n 引数は許可されています。–n で指定されたポリシー文字列は、ハイフンで始まる場合があります。ポリシーがハイフンで始まる場合、そのポリシーはブート環境の指定されたリストから削除されます。サポートされているポリシーの現在のセットは次のとおりです。
ルートプールの関連付けられたブート環境は手動で管理されます。また、ブートプール内のコンパニオンブート可能データセット (アクティブなブートプールが存在する場合) はシステムによって管理されます)。
ブート環境のルートプールデータセットの static ポリシーと同じですが、ブートプール内のコンパニオンとなるブート可能データセット (アクティブなブートプールが存在する場合) が作成され (そのデータセットが存在していない場合)、使用可能なブートプール領域が不足して別のブート環境の関連付けられたブート可能データセットをこのブートプールに転送できない場合でも削除されません。システムの最大パフォーマンスを確保するため、ブートプールが最大容量の 85% を超えることは許可されていません。
次回のリブート時に beName をアクティブな BE にします。入れ子の BE では、ブート可能な BE のみをアクティブ化できます。
beadm は、入れ子の BE の概念を、厳密にはそれが非大域ゾーンの BE に属している場合にサポートします。現時点では、beadm は非大域ゾーンの内側からのみ入れ子の BE を管理できます。
beadm は、いくつかの例外を除き、大域ゾーンから行うのとほとんど同様に非大域ゾーンの内側で機能します。まず、beadm create の –p (代替プール) オプションは非大域ゾーン内ではサポートされていません。次に、指定された入れ子の BE (または BE のスナップショット) に対し、ブート可能かブート可能でないかを判断するための区別がつけられます。入れ子の BE がブート可能であるのは、それが現在アクティブになっている大域ゾーンの BE に関連付けられている (つまり、アクティブな大域ゾーンの BE の UUID と同じ親 ID を共有する) 場合です。それ以外の場合、それはブート可能ではなく、beadm list のアクティブ列に「!」のマークが付きます。注: 非大域ゾーンの管理者は beadm activate を使ってそのような BE をアクティブとしてマークできますが、非大域ゾーンをリブートしても BE はロードされません。これは、その BE が非アクティブな大域ゾーンの BE に関連付けられているからです。ゾーン移行のためなど、入れ子の BE がこのシステムに存在しない大域ゾーンブート環境に関連付けられている場合に孤立したとみなされます。そのため、これらの条件に基づいて、beadm はブート不可能な BE でいくつかの動作を制限します。
ブート不可能でかつ、リブート時にアクティブとマークされていた入れ子の BE は、ブート不可能な入れ子の BE が孤立していないかぎり、破棄できません。
ブート不可能な BE をアクティブ化することはできません。
ブート不可能な BE のスナップショットを作成することはできません。
beadm create の –e オプションでブート不可能な BE または BE のスナップショットを使用することはできません。
ブート不可能な BE の名前変更を行うことはできません。
次のコマンドは、現在の BE のクローンを作成して、BE1 という新しい BE を作成します。
# beadm create BE1使用例 2 アクティブでない BE を使用した新しい BE の作成
次のコマンドは、BE1 という既存のアクティブでない BE のクローンを作成して、BE2 という新しい BE を作成します。
# beadm create -e BE1 BE2使用例 3 既存の BE のスナップショットの作成
次のコマンドは、BE1 という既存の BE の now というスナップショットを作成します。
# beadm create BE1@now使用例 4 スナップショットのクローンの作成による、新しい BE の作成
次のコマンドは、BE1 の既存のスナップショットのクローンを作成して、BE3 という新しい BE を作成します。
# beadm create -e BE1@now BE3使用例 5 指定された zpool の新しい BE の作成
次のコマンドは、現在実行中の BE に基づいて、BE4 という新しい BE を作成します。このコマンドは、rpool2 という zpool に新しい BE を作成します。
# beadm create -p rpool2 BE4使用例 6 圧縮を有効にした状態で指定された zpool の新しい BE の作成
次のコマンドは、現在実行中の BE に基づいて、BE5 という新しい BE を作成します。このコマンドは、rpool2 という zpool に新しい BE を作成して、圧縮を有効にした状態でそのデータセットを作成します。
# beadm create -p rpool2 -o compression=on BE5使用例 7 新しい BE の作成と説明の提供
次のコマンドは、現在実行中の BE に基づいて BE6 という新しい BE を作成し、その説明を提供します。
# beadm create -d "BE6 used as test environment" BE6使用例 8 BE の有効化
次のコマンドは、BE3 という既存の有効でない BE を有効にします。
# beadm activate BE3使用例 9 BE のマウント
次のコマンドは、BE3 という BE を /mnt にマウントします。
# beadm mount BE3 /mnt使用例 10 BE のアンマウント
次のコマンドは、BE3 という BE をアンマウントします。
# beadm unmount BE3使用例 11 BE の破棄
次のコマンドは、確認を求めずに BE3 という BE を破棄します。
# beadm destroy -F BE3使用例 12 スナップショットの破棄
次のコマンドは、BE1 の now というスナップショットを破棄します。
# beadm destroy BE1@now使用例 13 BE の名前の変更
次のコマンドは、BE1 という既存の有効でない BE の名前を BE3 に変更します。
# beadm rename BE1 BE3使用例 14 すべての BE の一覧表示
次のコマンドは、既存の BE をすべて一覧表示します。
# beadm list BE Flags Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- BE2 - - 72.0K static 2008-05-21 12:26 BE3 - - 332.0K static 2008-08-26 10:28 BE4 - - 15.78M static 2008-09-05 18:20 BE5 NR / 7.25G static 2008-09-09 16:53使用例 15 データセットおよびスナップショット情報を含むすべての BE の一覧表示
次のコマンドは、既存の BE をすべて一覧表示し、それらのブート環境に関するデータセットおよびスナップショット情報をすべて一覧表示します。
# beadm list -d -s BE/Dataset/Snapshot Flags Mountpoint Space Policy Created ------------------- ------ ---------- ----- ------ ------- BE2 p/ROOT/BE2 - - 36.0K static 2008-05-21 12:26 p/ROOT/BE2/opt - - 18.0K static 2008-05-21 16:26 p/ROOT/BE2/opt@now - - 0 static 2008-09-08 22:43 p/ROOT/BE2@now - - 0 static 2008-09-08 22:43 BE3 p/ROOT/BE3 - - 192.0K static 2008-08-26 10:28 p/ROOT/BE3/opt - - 86.0K static 2008-08-26 10:28 p/ROOT/BE3/opt/local - - 36.0K static 2008-08-28 10:58 BE4 p/ROOT/BE4 - - 15.78M static 2008-09-05 18:20 BE5 p/ROOT/BE5 NR / 6.10G static 2008-09-09 16:53 p/ROOT/BE5/opt - /opt 24.55M static 2008-09-09 16:53 p/ROOT/BE5/opt@bar - - 18.38M static 2008-09-10 00:59 p/ROOT/BE5/opt@foo - - 18.38M static 2008-06-10 16:37 p/ROOT/BE5@bar - - 139.44M static 2008-09-10 00:59 p/ROOT/BE5@foo - - 912.85M static 2008-06-10 16:37使用例 16 BE に関するデータセットおよびスナップショット情報の一覧表示
次のコマンドは、BE5 に関するデータセットおよびスナップショット情報をすべて一覧表示します。
# beadm list -a BE5 BE/Dataset/Snapshot Flags Mountpoint Space Policy Created ------------------- ------ ---------- ----- ------ ------- BE5 p/ROOT/BE5 NR / 6.10G static 2008-09-09 16:53 p/ROOT/BE5/opt - /opt 24.55M static 2008-09-09 16:53 p/ROOT/BE5/opt@bar - - 18.38M static 2008-09-10 00:59 p/ROOT/BE5/opt@foo - - 18.38M static 2008-06-10 16:37 p/ROOT/BE5@bar - - 139.44M static 2008-09-10 00:59 p/ROOT/BE5@foo - - 912.85M static 2008-06-10 16:37使用例 17 機械解析可能な形式での一覧表示
次のコマンドは、すべての BE に関する情報を機械解析可能な形式で一覧表示します。
# beadm list -H BE2;;;;55296;static;1211397974 BE3;;;;339968;static;1219771706 BE4;;;;16541696;static;1220664051 BE5;215b8387-4968-627c-d2d0-f4a011414bab;NR;/;7786206208;static;1221004384使用例 18 ブート不可能な BE の表示
次のコマンドは、すべての BE を一覧表示します。非大域ゾーンの内側で実行している場合、ブート可能な BE とブート不可能な BE の両方が表示されます。ブート可能でない BE は、アクティブ列の感嘆符 (!) で示されます。孤立した BE は、アクティブ列に O が含まれます。
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- zbe-0 !RO - 29.22M static 2011-03-04 09:14 zbe-1 NR / 815.10M static 2011-03-04 09:28 zbe-2 - - 35.0K static 2011-03-04 09:28 zbe-3 - - 35.0K static 2011-03-04 09:28 zbe-4 - - 35.0K static 2011-03-04 09:28 zbe-5 ! - 35.0K static 2011-03-04 11:47 zbe-6 !R - 54.0K static 2011-03-07 14:37使用例 19 一連のブート環境に対するポリシーフラグの設定
次のコマンドは、BE1、BE2、および BE3 という名前の BE の noevict 属性を設定します (また、BE1、BE2、および BE3 からブートプールにブートアーティファクトを転送します)。
# beadm set-policy -n noevict BE1 BE2 BE3 # beadm list BE Flags Mountpoint Space Policy Created -- ----- ---------- ----- ------ ------- BE1 - - 6.13M noevict,static 2014-10-20 09:14 BE2 NR / 52.86M noevict,static 2014-10-21 04:33 BE3 - - 559.0K noevict,static 2014-10-22 01:59 BE4 !- - 313.1M static 2014-10-22 04:19
次のコマンドは noevict 属性をクリアします (その属性を含まない値に属性リストを設定することによって)。
# beadm set-policy -n -noevict BE2 # beadm list BE Flags Mountpoint Space Policy Created -- ----- ---------- ----- ------ ------- BE1 - - 6.13M noevict,static 2014-10-20 09:14 BE2 NR / 52.86M static 2014-10-21 04:33 BE3 - - 559.0K noevict,static 2014-10-22 01:59 BE4 !- - 313.1M static 2014-10-22 04:19
成功。
失敗。
beadm create 出力を取得するために使用されるログ。ファイル名の時間指定部分については、次に説明します。
yyyymmdd_hhmmss (例: 20071130_140558)。
yyyy (2007 年)
mm (11 月)
dd (30 日)
hh (14 時)
mm (05 分)
ss (58 秒)
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|