ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11 ブート環境の作成と管理 Oracle Solaris 11 Information Library (日本語) |
既存のブート環境を変更する場合などで、事前に元のブート環境のバックアップを作成するには、アクティブなブート環境のクローンである新しいブート環境を beadm コマンドで作成し、マウントします。このクローンは、代替ブート環境として x86 システム用 GRUB メニューまたは SPARC システム用ブートメニューに表示されます。
beadm create コマンドを使用してブート環境のクローンを作成すると、そのブート環境内のサポートされているすべてのゾーンが新しいブート環境にコピーされます。
beadm create コマンドには次のオプションがあります。BeName は作成するブート環境の名前です。
構文: beadm create [-a] [-d description] [-e non-activeBeName | BeName@snapshot] [-o property=value]...[-p zpool] BeName
-a – 作成と同時に、新しく作成されたブート環境をアクティブにします。デフォルトでは、新しく作成されたブート環境をアクティブにしません。
-d description – x86 用 GRUB メニューまたは SPARC 用ブートメニューにタイトルとして表示する、この新しいブート環境の説明を入力します。このオプションが指定されていない場合は、BeName がタイトルとして使用されます。
-e non-activeBeName – 指定された既存のアクティブでないブート環境から新しいブート環境を作成します。デフォルトでは、アクティブなブート環境からブート環境を作成します。
-e BeName@snapshot – 指定された既存のブート環境のスナップショットから新しいブート環境を作成します。
-o property=value – 特定の ZFS プロパティーを使って新しいブート環境のデータセットを作成します。複数の -o オプションを指定できます。-o オプションの詳細については、zfs(1M) のマニュアルページを参照してください。
-p zpool – 指定された zpool 内に新しいブート環境のデータセットを作成します。このオプションが指定されていない場合、デフォルトでは、元のブート環境と同じプールに新しいブート環境が作成されます。-p オプションは非大域ゾーン内ではサポートされていません。
注 - -p オプションはほかのオプションと組み合わせることができます。
# beadm create BeName
BeName は、新しいブート環境の名前を表す変数です。この新しいブート環境はアクティブではありません。
注 - beadm create は、部分的なブート環境を作成しません。このコマンドは完全なブート環境を正常に作成するか、失敗するかのどちらかです。
# beadm mount BeName mount-point
注 - マウントポイントのディレクトリが存在しない場合、beadm ユーティリティーはそのディレクトリを作成してから、そのディレクトリにブート環境をマウントします。
ブート環境がすでにマウントされている場合、beadm mount コマンドは失敗し、新しく指定した場所にブート環境は再マウントされません。
ブート環境はマウントされますが、アクティブでない状態です。マウント済みのアクティブでないブート環境をアップグレードできます。
# beadm activate BeName
BeName は、アクティブにするブート環境の名前を表す変数です。
リブート時に、新しくアクティブになったブート環境がデフォルトの選択肢として x86 用 GRUB メニューまたは SPARC 用ブートメニューに表示されます。
注 - GRUB メニューまたはブートメニューでは常に、最後にアクティブになったブート環境がデフォルトとして表示されます。
次の例は、ブート環境の作成方法を示し、ゾーンとデータセットの構造によって作成処理がどのように異なるかを示しています。
例 3-1 非大域ゾーンを含んでいる大域ゾーンのブート環境を複製する
この例では、2 つの非大域ゾーンを含んでいるブート環境を複製する場合の、beadm create コマンドによるゾーンへの影響を示します。
大域ゾーンの元のブート環境の名前は solaris で、データセットは rpool/ROOT/solaris にあります。
z1 というゾーンが存在し、そのゾーンパスとしてデータセット rpool/zones/z1 があります。大域ゾーンの元のブート環境には、このゾーンのルートデータセットのコピーが rpool/zones/z1/rpool/ROOT/solaris にあります。
root の役割になり、次のコマンドを実行して、ブート環境を複製し、新しいブート環境に solaris-1 という名前を付けます。
# beadm create solaris-1
新しいブート環境のルートデータセットは rpool/ROOT/solaris-1 にあります。新しいブート環境では、ゾーン z1 のコピーのルートデータセットは rpool/zones/z1/rpool/ROOT/solaris-1 にあります。
例 3-2 データセットを含む新しい、複製されたブート環境を作成する
次の例は、新しく作成されたブート環境でデータセットがどのように設定されるかを示しています。
root の役割になり、次のコマンドを入力します。
# beadm create BE2
この例では、元のブート環境は BE1 です。新しいブート環境 BE2 には、BE1 から複製された個々のデータセットが含まれています。BE1 に /var などの従来のファイルシステム用の個々のデータセットが含まれている場合、それらのデータセットも複製されます。
rpool/ROOT/BE1 rpool/ROOT/BE1/var
rpool/ROOT/BE2 rpool/ROOT/BE2/var
この例の rpool は、ストレージプールの名前です。プールは初期インストールまたはアップグレードによってあらかじめ設定され、システム上にすでに存在しています。ROOT は、同様に初期インストールまたはアップグレードによってあらかじめ作成された特殊なデータセットです。ROOT は、ブート環境のルートで使用するために排他的に予約されています。
例 3-3 共有データセットを持つ新しいブート環境を作成する
次の例は、共有データセットを持つ新しいブート環境を示しています。
root の役割になり、次のコマンドを入力します。
# beadm create BE2
ブート環境が複製されるときに、共有データセット rpool/export および rpool/export/home は複製されません。共有データセットは rpool/ROOT/<BeName> データセットの外側にあり、複製されたブート環境によって元の場所で参照されます。
元のブート環境 BE1 とデータセットは次のとおりです。
rpool/ROOT/BE1 rpool/ROOT/BE1/var rpool/export rpool/export/home
複製されたブート環境 BE2 には新しいルートデータセットが作成されていますが、元の共有データセット rpool/export および rpool/export/home は変更されていません。
rpool/ROOT/BE2 rpool/ROOT/BE2/var rpool/export rpool/export/home