ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ブート環境の作成と管理 Oracle Solaris 11.1 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 オプションは非大域ゾーン内ではサポートされていません。このオプションは他のオプションと組み合わせることができます。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# beadm create BeName
BeName は、新しいブート環境の名前です。この新しいブート環境はアクティブではありません。
次の事項に注意してください。
BeName を、すでに使用中のブート環境名にすることはできません。
非アクティブなブート環境を指定するための -e オプションが使用されない限り、このコマンドはアクティブなブート環境を複製します。
beadm create は、部分的なブート環境を作成しません。このコマンドは完全なブート環境を正常に作成するか、失敗するかのどちらかです。
# beadm mount BeName mount-point
たとえば、リブートする前に、新しいブート環境内の一部の構成ファイルを変更する場合、新しいブート環境をマウントする場合があります。
ブート環境はマウントされますが、アクティブでない状態です。マウント済みのアクティブでないブート環境をアップグレードできます。
注 - マウントポイントのディレクトリが存在しない場合、beadm ユーティリティーはそのディレクトリを作成してから、そのディレクトリにブート環境をマウントします。
ブート環境がすでにマウントされている場合、beadm mount コマンドは失敗し、新しく指定した場所にブート環境は再マウントされません。
# beadm activate BeName
BeName は、アクティブにするブート環境の名前です。
リブート時に、新しくアクティブになったブート環境がデフォルトの選択肢として x86 用 GRUB メニューまたは SPARC 用ブートメニューに表示されます。
注 - GRUB メニューまたはブートメニューでは常に、最後にアクティブになったブート環境がデフォルトとして表示されます。
次の例は、ブート環境の作成方法を示し、ゾーンとデータセットの構造によって作成処理がどのように異なるかを示しています。最初の例では、大域ゾーンと非大域ゾーンを含むシステムでクローニングが動作する方法について説明します。2 つ目の例では、クローニングに関連するデータセットの詳細を示します。
例 3-1 非大域ゾーンを含んでいる大域ゾーンのブート環境を複製する
この例では、非大域ゾーンを含む大域ゾーン内でブート環境を複製するときの beadm create コマンドのゾーンへの影響を示します。
複製されるブート環境が、関連付けられたゾーンブート環境を非大域ゾーン内にもつ場合、関連付けられたブート環境も複製されます。たとえば、BE1 に関連付けられたゾーンブート環境 BE2 が非大域ゾーン内にあるとします。BE1 が複製されると、BE2 も複製されます。
この例で、大域ゾーン内の元のブート環境の名前は solaris で、ルートデータセットは rpool/ROOT/solaris にあります。
z1 という名前の非大域ゾーンが存在し、データセット rpool/zones/z1 をそのゾーンパスとして持ちます。大域ゾーン内の元の solaris ブート環境は、非大域ゾーン z1 内に関連付けられたブート環境をもちます。この関連付けられたゾーンブート環境の名前は solaris で、ルートデータセットは rpool/zones/z1/rpool/ROOT/solaris にあります。
この例では、root として次のコマンドを発行して大域ゾーン内でブート環境を複製し、新しいブート環境に solaris-1 という名前を付けます。
# beadm create solaris-1
クローンの名前は solaris-1 で、ルートデータセットは rpool/ROOT/solaris-1 にあります。
ここで、大域ゾーン内の solaris ブート環境は、z1 非大域ゾーン内に関連付けられたゾーンブート環境をもつため、クローニング処理では z1 内の関連付けられたゾーンブート環境も複製されます。ゾーン z1 の新しい solaris-1 クローンは、ルートデータセットが rpool/zones/z1/rpool/ROOT/solaris-1 にあります。
例 3-2 データセットを含む新しい、複製されたブート環境を作成する
この例では、新しく作成されたブート環境内でデータセットを設定する方法について説明します。この例は複数のゾーンを含みません。
root として、次のコマンドを入力します。
# beadm create BE2
この例の元のブート環境は BE1 で、ルートデータセットは rpool/ROOT/BE1 にあり、これは別のデータセット var を含んでいます。
rpool/ROOT/BE1 rpool/ROOT/BE1/var
BE1 が複製された後、新しいクローン BE2 には、すべて BE1 から複製されたルートデータセットおよび他のネストされたデータセットが含まれます。BE1 はルートデータセットの下に /var ファイルシステムを含んでいるため、/var も複製されます。
rpool/ROOT/BE2 rpool/ROOT/BE2/var
対照的に、ルートデータセットの外側に共有ファイルシステムがあった場合、共有ファイルシステムは複製されません。次の例で示すように、元のブート環境とクローンは、元の共有ファイルシステムを「共有」します。
例 3-3 共有データセットを持つ新しいブート環境を作成する
この例では、既存の共有データセットがある場合に新しいブート環境を作成することについて説明します。この例では、元のブート環境は BE1 で、共有データセットは rpool/export および rpool/export/home です。この例は複数のゾーンを含みません。
BE1 を複製し、クローンに BE2 という名前を付けるために、root として次のコマンドを入力します。
# beadm create BE2
ブート環境が複製されるときに、共有データセット rpool/export および rpool/export/home は複製されません。共有データセットは rpool/ROOT/BeName データセットの外側にあり、複製されたブート環境 BE2 によって元の場所で参照されます。
元のブート環境 BE1 とデータセットは次のとおりです。
rpool/ROOT/BE1 rpool/ROOT/BE1/var rpool/export rpool/export/home
ルートデータセットは rpool/ROOT/BE1 にあり、/var データセットはルートデータセットの下にあります。ルートデータセットと /var の両方が複製されます。
複製されたブート環境 BE2 には新しいルートデータセットおよび新しい /var データセットが作成されていますが、元の共有データセット rpool/export および rpool/export/home は変更されません。
rpool/ROOT/BE2 rpool/ROOT/BE2/var rpool/export rpool/export/home