ブート環境とは、Oracle Solaris オペレーティングシステムイメージのブート可能なインスタンスに、そのイメージにインストールされているその他のアプリケーションソフトウェアパッケージを加えたものです。システム管理者はシステム上に複数のブート環境を維持することができ、各ブート環境にそれぞれ異なるソフトウェアバージョンをインストールすることもできます。
システムに Oracle Solaris リリースの初期インストールを行うと、ブート環境が作成されます。beadm コマンドを使用して、システム上に追加のブート環境を作成し管理できます。また、パッケージマネージャーGUI でも、ブート環境を管理するためのオプションがいくつか提供されています。一度にアクティブにできるのは、1 つのブート環境だけです。
ファイル構造から見れば、各ブート環境はルートデータセットと、そのルートデータセットの下にネストされているオプションの他のデータセットで構成されます。
ZFS データセットの詳細は、Oracle Solaris 11.2 での ZFS ファイルシステムの管理 のZFS の用語を参照してください。
次の例は、BE1: rpool/ROOT/BE1 という名前のサンプルブート環境のルートデータセットを示します。この例の rpool は、ストレージプール (zpool) の名前です。このプールは事前に設定されているため、システムにすでに存在します。ルートはtheインストーラを作成した特殊なデータセットです。rpool/ルートデータセットは、ブート環境ルートデータセットで使用するために排他的に予約されます。 ルートデータセットとその下にネストされたすべてのデータセットは BE1 ブート環境に含まれます。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var
一方、共有データセットは、各ブート環境のルートデータセット領域の外側にあります。共有データセットは /export などのユーザー定義ディレクトリです。データセットの例として、ユーザーアカウントが保持されるデータセットがあり、これらのユーザーアカウントはブートされるブート環境に関係なくアクセスできます。
次の例を参照してください。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 42.5G 24.4G 4.65M /rpool rpool/ROOT 25.6G 24.4G 31K legacy rpool/ROOT/BE1 8.91M 24.4G 4.17G / rpool/ROOT/BE1/var 3.96M 24.4G 276M /var tank 450K 457G 18K /export tank/home 315K 457G 21K /export/home
スナップショットとブート環境は、beadm コマンド以外のユーティリティーでも自動的に作成できます。たとえば、pkg コマンドを使用してパッケージのインストールまたは更新を行うときに、ブート環境のクローンが自動的に作成される場合があります。
beadm コマンドはブート環境を操作するためにのみ使用します。たとえば、beadm コマンドは、ブート環境に変更を加える前にブート環境の参照コピーを作成するときに使用します。beadm コマンドは zfs テクノロジに基づいていますが、BE のルートデータセットおよびルートデータセットの下にあるデータセットを管理するための固有の追加機能が備わっています。さらに、このコマンドは、ある大域ゾーン内、複数ゾーン内、または複数ゾーンにまたがる BE 間での関連付けを追跡および管理するための特殊なロジックを備えています。詳細は、beadm(1M)のマニュアルページを参照してください。