ここでは Ubuntu Server 22.04 LTS をun-clean (縮退状態など) な md ディスクにインストールしたいという特殊なニーズを満たす。
Ubuntu Server のインストーラー、subiquity は un-clean md にシステムをインストールしようとすると問答無用でエラーを吐いて落ちる。どんなエラーで落ちたかはメッセージボックスには表示されないが、/var/log/syslog
の最後辺りを確認することで分かることもあるかもしれない。
- とにかくインストールディスクから起動する。
- Win+Left や Alt+Left でコンソールを表示する。
- 日本語キーボードを使用している場合は日本語キーマップをロードする:
loadkeys jp
- fdisk でパーティションを作成する。g で GPT フォーマットを行う。先頭に 0.5 – 1 GB くらいの ESP (EFI System Partition, fat32 でフォーマットされる) と呼ばれるパーティション (type: 1) が必要である。
- 適当なサイズでパーティションを作成し、type を 29 (Linux RAID) に設定する。適当な値でも mdadm は認識してしまうが、分かりやすい値にしておいた方がトラブル時に混乱せずに済むだろう。
- 作成したパーティションを指定して raid1 md ディスクを作成する:
mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 missing
- 次のコマンドを実行し、clean な状態にする:
mdadm --grow /dev/md0 --raid-devices=1
- 5-7 の手順を必要なだけ繰り返す。
- インストーラーに戻り、通常のようにインストールを行う。
/etc/mdadm/mdadm.conf
へは自動的に構成が書き込まれるようだ。
ディスクレイアウトの設定画面はやや分かりにくい。
ブートローダーをインストールする ESP の選択はパーティションではなくデバイスのメニュー項目 (Use As Boot Device, Add As Another Boot Device) から行う。複数のデバイスにブートローダーをインストールすることも可能である。その場合、grub のアップデートでは指定したすべての ESP がアップデートされる。md へのディスクの追加・交換等はここでは扱わない。
md はデバイスとして扱われるためパーティションの作成が可能であるが、直接フォーマットしてマウントポイントを設定することもできる。ESP を除いたサイズを丸ごと md にしてパーティションを切り出すか、小分けにしたパーティションを md にするか、双方ともにメリットデメリットがあり好みの問題だろう。