BSD界隈四方山話

第34回FreeBSD ZFS起動パーティション選択メニュー登場

Revision 293001

2015年12月31日(協定世界時)にHEADへ実施された次のコミット(Revision 293001)で、ブートローダのメニューに起動するZFSのルートファイルシステムを指定するための項目が追加されました。これはこれまで要望の多かった機能のひとつです。現在、起動するカーネルはローダのメニューから選択できるようになっていますが、これにさらにブート領域のデータセットが指定できるようになります。

ブート領域がUFSの場合、次のように従来どおりのメニューが表示されます。5.の項目でカーネルが2つあることが表示されていますが、これはこれまでもあった機能です。

図1 ブート領域がUFSの場合
図1 ブート領域がUFSの場合

これがRevision 29300以降のブートローダで起動すると、起動領域がZFSにある場合には次のように新しく「7. Select Boot [E]nvironment」というメニューが表示されるようになります。

図2 ZFS領域から起動する場合には新しく7.が表示される
図2 ZFS領域から起動する場合には新しく7.が表示される

7.を選択すると次のように起動する領域を選択するためのメニューが表示されます。/boot/loader.confで明示的に、たとえば「vfs.root.mountfrom="zfs:zroot/ROOT/default"」のような設定を追加してあれば1.にその候補が表示されます。

図3 ZFS:起動する領域を選択するメニュー
図3 ZFS:起動する領域を選択するメニュー

起動する候補が複数ある場合にはBoot Environments:の項目にリストが表示され選択できるようになるようです。詳しくは次のコミットで確認できます。

なお、選択リストの自動表示はもうちょっとまとめてから紹介します。

使用目的

この機能を利用することで次の操作ができるようになると説明があります。

  • アップグレードに失敗した場合に、以前のブート領域から起動するといったことができる
  • 複数の異なるバージョンのFreeBSDを併用するといった使い方
  • beadmユーティリティとの連携

1つ目はとくにリカバリ時に力を発揮する機能です。ZFSは便利な機能ですが、アップグレード時などになにか問題が発生した場合、UFSよりも解決が難しくなる傾向があることから、起動領域はUFSのままにしておき、データ領域をZFSで利用するといった使い方もよく行われます。

今回、ブートローダにZFSの起動領域を選択する機能が追加されたことで、これまでよりもZFSの扱いが便利になるものとみられます(複数のリストが表示されない状態でも、起動時にvfs.root.mountfromを設定すれば指定したデータセットから起動させることができます⁠⁠。

動作確認は取れていないのですが、beadm(sysutils/beadm)で起動領域を複数管理している場合、この領域が起動時にブートローダから選択できるようにする、といった狙いがあるのではないかとみられます。

おまけ:ブート領域もZFSにする方法

HEAD(11-CURRENT)からインストールすれば、すべてZFSで利用するといったことが簡単に試せます。次のように起動時にすべてZFSでインストールするかどうか聞かれるので、これに従って選択を進めればそうなります。

図4 パーティションで「Auto (ZFS)」を選択
図4 パーティションで「Auto (ZFS)」を選択
図5 指定の構成があればここで設定
図5 指定の構成があればここで設定
図6 指定の構成があればさらに設定
図6 指定の構成があればさらに設定
図7 使用するディスクを選択
図7 使用するディスクを選択
図8 問題がなければ書き込みを開始
図8 問題がなければ書き込みを開始

インストーラからZFSを指定できるようになったので、何も考えなくてもセットアップができるようになりました。ブートローダでZFSに対しても選択的に利用できるようになっていくことで、11.0-RELEASE以降はすべてZFSで構成するという方法はもっと広く使われるようになるかもしれません。

FreeBSD勉強会 告知

第48回 1月28日(木) 19:00~:The Design and Implementation of the FreeBSD Operating System (2nd Edition) 読書会 第12回目 P.129 4.7 Signals~

『The Design and Implementation of the FreeBSD Operating System (2nd Edition)』の読書会です。読書会12回目の今回はハードカバーでP.129からです。D&I本がどういった本なのか読んでみたいという方、お気軽にご参加ください。参加申請はこちらから。

第49回 2月25日(木) 19:00~:【ゼロ諭吉構築シリーズ】OPNsenseでルータつくる!

FreeBSDはソフトウェアアプライアンスのベースオペレーティングシステムとしても採用されることが多いのですが、その中でも人気のあるシリーズにルータ・ファイアウォールソリューションがあります。

こうしたネットワークソリューションとしてはもっとも後発となるものにちょークールな「OPNsense」があります。第49回目となる今回のFreeBSD勉強会では株式会社シナジーの原岡氏をお招きしてOPNsenseを使った超絶クールなセキュアネットワークの構築方法をご紹介いただきます。参加申請はこちらから。

おすすめ記事

記事・ニュース一覧