ユーザ用ツール

サイト用ツール


サイドバー


linux:raid1-ubuntu-server

RAID1 に Ubuntu Server 20.04.1 LTS を インストールした

Ubuntu Server を RAID1 にインストールすることで、
HDD の障害に強いサーバーを作ろうと思った。

前々から RAID1 にインストールしようとしているけど
いつも挫折していたが、今回やっとできたのでざっくりメモしておく。
(後から記憶で書いたので間違いあるかも)

1. HDD の パーティションを 作成しておく。

作成しておくといっても、インストール前なので、LiveCD で
Ubuntu を起動して操作する。

Ubuntu Desktop は インストール用メディアが LiveCD としても
動作するので、それを使った。

パーティションは MBR ではなく GPT にした。

使用するマザーボートは UEFI 対応なので GPT 使える。
HDD のサイズは 250GB x 2 の RAID1 なので、GPT にするのは
必須ではないが、GPT の方が 起動が早いらしい。

作成したパーティションは以下の通り。

  Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI system partition
   2         1050624       468862094   223.1 GiB   FD00  Linux RAID

  Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI system partition
   2         1050624       468862094   223.1 GiB   FD00  Linux RAID

(別の HDD に SWAP 領域あるので、ここには作らななかった。普通に作るならSWAPパーティションも作る))

2. RAID1 を組む。

LiveCD で起動したまま RAID1 を構成する。

LiveCD から起動では mdadm が入っていないのでインストールする。

apt install mdadm (ネットワーク接続要)

 とりあえず 1 台だけ組み込んで /dev/md0 作っとく。

 mdadm –create /dev/md0 –level=raid1 –raid-devices=2 missing /dev/sda2

 ext4 で フォーマットしておく。

3. Ubuntu Server 20.04.1 LTS を インストール

 LiveCD を終了して、Ubunts Server の インストールを行う。

 /dev/md0 にインストール。

 grub は、/dev/sda にインストール。これ、必要かどうかわからないけど。

次の GRUB インストールが重要。

4. GRUB を再インストール

 LiveCD でもう一回起動。mdadm 入れて raid1 組む。

 ここを参考にした。  https://qiita.com/TsutomuNakamura/items/04176b91d791de46142c

 復旧したいOS がインストールされているデバイスをマウント  

 # mount /dev/md0 /mnt
 # mount /dev/sda1 /mnt/boot/efi

 その他クリティカルな部分もマウント  

 # for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

 マウントが完了したらマウントしたディレクトリにchroot

 # chroot /mnt

 インストールされていたkernel を確認

 # dpkg --list | grep linux-image
 ii  linux-image-5.4.0-42-generic         5.4.0-42.46
 ii  linux-image-generic                  5.4.0.42.46

 kernel を確認したら /boot 領域を一旦全部削除

 # rm -rf /boot/*

 kernel を再インストール。

 # apt-get install --reinstall linux-image-5.4.0-42-generic

 grub ローダをインストール。

 # grub-install --recheck /dev/sda
 # update-grub
 # exit      # <- chroot を抜ける

 LiveCD 終わらせて再起動すれば、インストールしたディスクで起動できるはず。

5. /boot/eft の冗長化

Grub は、一方のディスクにしか入っていないので耐性アップのためコピーする。

/boot/eft の冗長化は以下を参照。 https://ginkyo.hatenablog.jp/entry/2018/11/06/135154

sda1 と sdb1 の中身を確認。

$ sudo ls /boot/efi/
EFI
$ sudo mount /dev/sdb1 /mnt/
$ sudo ls /mnt/
(何も出力されない)

/boot/efi を sdb1 にコピー

$ sudo rsync -a /boot/efi/ /mnt/

6. 動作確認

起動して RAID1 に sdb 足して、同期が完了するまで待つ。

同期が完了したら、あとは、RAID1 の HDD 一方を外して それぞれ起動することを確認して完了。

linux/raid1-ubuntu-server.txt · 最終更新: 2020/09/21 09:28 by hohog

ページ用ツール