Solaris のシステム管理 (基本編)

Oracle Solaris ZFS ルートファイルシステムからのブートの動作

Oracle Solaris ZFS ルートファイルシステムからのブート動作は、UFS ファイルシステムからブートする場合とは異なります。ZFS はインストールやブートに新しい概念をいくつか適用するため、システムのブートに関する基本的な管理業務がいくつか変更されました。ZFS ルートファイルシステムからのブートと UFS ルートファイルシステムからのブートのもっとも重要な違いは、ZFS からのブートでは、デバイス識別子がルートファイルシステムを一意に特定しないことです。これはつまり、ブート環境 (BE) であると言えます。ZFS を使用した場合は、デバイス識別子によって「ストレージプール」が一意に識別されます。ストレージプールには、複数のブート可能データセット (ルートファイルシステム) が含まれていることがあります。そのため、ブートデバイスを指定するほかに、ブートデバイスによって識別されるプール内のルートファイルシステムも指定する必要があります。

x86 システムでは、GRUB によって識別されるブートデバイスに ZFS ストレージプールが含まれている場合、GRUB メニューの作成に使われる menu.lst ファイルがそのプールのデータセット階層のルートにあるデータセットに格納されています。このデータセットには、プールと同じ名前が付いています。各プールにそのようなデータセットが 1 つあります。

「デフォルトのブート可能データセット」は、ブート時にマウントされ、ルートプールの bootfs プロパティーによって定義される、プールのブート可能データセットです。ルートプール内のデバイスがブートすると、このプロパティーによって指定されるデータセットがルートファイルシステムとしてマウントされます。

新しい bootfs プールプロパティーは、指定されたプールのデフォルトのブート可能データセットを指定するためにシステムが使用するメカニズムです。ルートプール内のデバイスが起動すると、デフォルトでルートファイルシステムとしてマウントされるデータセットは bootfs プールプロパティーによって識別されるデータセットになります。

SPARC システムでは、boot コマンドの新しい -Z dataset オプションを使用することで、デフォルトの bootfs プールプロパティーが上書きされます。

x86 システムでは、ブート時に GRUB メニューで代替ブート環境を選択することで、デフォルトの bootfs プールプロパティーが上書きされます。