Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

beadm(1M)

名前

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 コマンドには、下記のようなサブコマンドおよびオプションがあります。これらのサブコマンドおよびオプションの多くの使用法については、次の「使用例」で説明しています。

beadm (引数なし)

コマンドの使用法を表示します。

beadm create [–a] [–d description] [–e non-activeBeName | beName@snapshot] [–o property=value] ... [–p zpool] beName

beName という新しいブート環境を作成します。–e オプションを指定しない場合、新しいブート環境は現在実行中のブート環境のクローンとして作成されます。–d オプションを指定する場合、記述が x86 システムの GRUB メニューまたは SPARC システムのブートメニューにある BE エントリのタイトルとしても使用されます。–d オプションを指定しない場合、beName がタイトルとして使用されます。入れ子の BE では、–p オプションの使用はサポートされません。また、ブート不可能な入れ子の BE と、ブート不可能な入れ子の BE のスナップショットは、–e オプションとともに使用できません。

–a

作成と同時に、新しく作成された BE をアクティブにします。デフォルトでは、新しく作成された BE をアクティブにしません。

–d description

関連付けられた記述を含む新しい BE を作成します。

–e non-activeBeName

既存のアクティブでない BE から新しい BE を作成します。入れ子の BE では、ブート可能な BE のみがこのオプションとともに使用できます。

–e beName@snapshot

beName という BE の既存のスナップショットから新しい BE を作成します。入れ子の BE では、ブート可能な BE のスナップショットのみがこのオプションとともに使用できます。

–o property=value

特定の ZFS プロパティーを使って新しい BE のデータセットを作成します。複数の –o オプションを指定できます。–o オプションの詳細は、zfs(1M) を参照してください。

–p zpool

指定された zpool に新しい BE を作成します。このオプションを指定しない場合、デフォルトの動作では、元の BE と同じプールに新しい BE を作成します。このオプションは、入れ子の BE の内側ではサポートされません。

beadm create beName@snapshot

beName という既存の BE のスナップショットを作成します。入れ子の BE の内側では、ブート可能な BE のスナップショットのみを作成できます。入れ子の BE の内側にいるときは、ブート可能な BE またはブート可能ではないがリブート時にアクティブとしてマークされない BE のみ破棄できます。

beadm destroy [–fF] beName | beName@snapshot

beName というブート環境を破棄するか、beName@snapshot というブート環境の既存のスナップショットを破棄します。ブート環境を破棄すると、そのブート環境のスナップショットもすべて破棄されます。このコマンドを使用するときは、注意が必要です。

–f

ブート環境が現在マウントされている場合、強制的にアンマウントします。

–F

ブート環境を破棄するための確認を求めずにアクションを強制的に実行します。

–O

すべての孤立したブート環境を破棄します。

beadm list [–a | – ds] [–H] [beName]

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 を表します。

–a

ブート環境に関する利用可能なすべての情報を一覧表示します。この情報には、従属ファイルシステムおよびスナップショットが含まれます。

–d

ブート環境に属しているすべての従属ファイルシステムに関する情報を一覧表示します。

–s

ブート環境のスナップショットに関する情報を一覧表示します。

–H

ヘッダー情報を一覧表示しません。一覧情報の各フィールドは、セミコロンで区切られます。

beadm mount [–b] beName mountpoint

マウントポイントbeName というブート環境をマウントします。マウントポイントは、既存の空ディレクトリである必要があります。

コマンド行に –b 引数が含まれる、また指定された BE に関連付けられたアクティブなブートプールデータセットが存在する場合、そのブートプールデータセットは <mountpoint>/bootpool_data の下にマウントされます (そのディレクトリは、データセットがマウントされると自動的に作成され、beadm unmount サブコマンドを使用して BE がアンマウントされると自動的に削除されます。別のメカニズムを使用して BE をアンマウントすると、この作成されたディレクトリがクリーンアップされないことに注意してください。

beadm unmount [–f] beName

beName というブート環境をアンマウントします。

–f

ブート環境が現在ビジー状態であっても強制的にアンマウントします。

beadm rename beName newBeName

beName というブート環境の名前を newBeName に変更します。入れ子の BE では、ブート可能な BE の名前変更のみを行えます。

beadm set-policy {–n [-]policy [–n [-]policy2] ...} beName [beName2 .

ブート環境の指定されたリストに対して、指定したポリシーのセットを設定 (または設定解除) します。複数の –n 引数は許可されています。–n で指定されたポリシー文字列は、ハイフンで始まる場合があります。ポリシーがハイフンで始まる場合、そのポリシーはブート環境の指定されたリストから削除されます。サポートされているポリシーの現在のセットは次のとおりです。

static

ルートプールの関連付けられたブート環境は手動で管理されます。また、ブートプール内のコンパニオンブート可能データセット (アクティブなブートプールが存在する場合) はシステムによって管理されます)。

noevict

ブート環境のルートプールデータセットの static ポリシーと同じですが、ブートプール内のコンパニオンとなるブート可能データセット (アクティブなブートプールが存在する場合) が作成され (そのデータセットが存在していない場合)、使用可能なブートプール領域が不足して別のブート環境の関連付けられたブート可能データセットをこのブートプールに転送できない場合でも削除されません。システムの最大パフォーマンスを確保するため、ブートプールが最大容量の 85% を超えることは許可されていません。

beadm activate beName

次回のリブート時に beName をアクティブな BE にします。入れ子の 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 の名前変更を行うことはできません。

使用例 1 アクティブな 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 スナップショットの破棄

次のコマンドは、BE1now というスナップショットを破棄します。

# 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 一連のブート環境に対するポリシーフラグの設定

次のコマンドは、BE1BE2、および BE3 という名前の BE の noevict 属性を設定します (また、BE1BE2、および 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

終了ステータス

0

成功。

>0

失敗。

ファイル

/var/log/beadm/beName/create.log.yyyymmdd_hhmmss

beadm create 出力を取得するために使用されるログ。ファイル名の時間指定部分については、次に説明します。

  • yyyymmdd_hhmmss (例: 20071130_140558)。

  • yyyy (2007 年)

  • mm (11 月)

  • dd (30 日)

  • hh (14 時)

  • mm (05 分)

  • ss (58 秒)

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/boot-environment-utilities
インタフェースの安定性
確実

関連項目

zfs(1M), attributes(5)