ルートファイルシステムを含み、Linux Mint Qianaを起動する起動可能なソフトウェアRAIDをセットアップしようとしています。小規模なデータセンターでいくつかのグラフィカルな監視アプリケーションを実行するために使用されます。また、他のLANノードにアクセスするための単純な端末も使用されます。
2つの500GB SATAドライブ(/dev/sda
および/dev/sdb
)を使用して、RAID 1アレイの構築に使用します。これを行う方法はたくさんあるようですが、起動可能なmd0
デバイスを作成する方法は少しわかりません。
私の最初のアプローチは、Live Linux MintインストールCDを使用して起動することでした。次に、bashプロンプトに切り替え、sfdisk
を使用して/dev/sda
を手動でパーティション分割します。単一のプライマリパーティションとスワップパーティションを含むシンプルなパーティションテーブルを作成しました。次に、パーティションテーブルを/dev/sda
から/dev/sdb
にクローンしました。
sfdisk -d /dev/sda | sfdisk /dev/sdb
これで、2つのドライブをRAIDアレイに組み込む準備ができました。私は最初にcreateと言って配列を書きます:
mdadm --create --verbose --metadata=0.90 /dev/md0 --level=mirror
--raid-devices=2 /dev/sda /dev/sdb
約1時間後、アレイの同期が完了します。
ファイルシステムを指定することで、/dev/md0
を初期化できるようになりました。
mke2fs -t ext4 /dev/md0
さて、今ではすべてが良いようです。そこで、Live CDのインストールに戻り、Linuxを/dev/md0
にインストールします。インストーラーがgrub-install
を実行しようとするまですべてが機能し、その後、致命的なエラーを受け取ります。
それで、私はここで原因を理解しようとすることについて研究してきました。なぜこれが起こるのかは完全にはわかりませんが、私の理解では、「/dev/md0
から単にブートするのではない」という事実と関係があると考えています。起動可能なマルチデバイスRAID 1アレイを作成するには、別の非RAID /boot
パーティションを作成するか、initramfs
を使用する必要があるようです。
残念ながら、これが何を伴うのか正確には理解できません。まず、個別の非RAID /boot
パーティションを作成するwantは行いません。md0
からのブートのブート全体は冗長性のためです。第二に、私の理解は、ブート時にinitramfs
をrootfsにロードするためにmdadm
アプローチが必要であることです。しかし、Live CDから起動してRAIDアレイを作成すると、mdadm
はすでにメモリに読み込まれているため、grub-install
の実行時にインストーラーが常に致命的なエラーを受け取る理由がわかりません。
誰かが私がここで欠けている手順を説明したり、起動できるマルチデバイスマウントをセットアップする方法の概要を提供したりできますか?
ソフトウェアRAIDでの起動には、ほとんどの場合、特に古いバージョンのGRUBの場合は、個別の/ bootパーティションが必要です。/bootのRAID-1パーティションを作成するときに「--metadata = 0.90」を指定することも必要です。
/ bootは最初のパーティションであり、小さく保つ必要があります。主にレガシーBIOSブートの理由によるものです。/bootを別のパーティションにする必要があるもう1つの理由は、通常は/ etc/fstabで読み取り専用モードでマウントする必要があるためです。カーネルのアップグレードを行う前に、読み取り/書き込みとしてのみ再マウントする必要があります。
私が使用する一般的なドライブ設定は次のとおりです。
/dev/sda1 + /dev/sdb1 = /dev/md0 Software RAID-1 with metadata 0.90
/dev/sda2 + /dev/sdb2 = /dev/md### Software RAID-1 with LVM on top
/ bootパーティションには常に/ dev/md0を使用します。 LVM領域では、mdadmデバイス番号に125未満の乱数を使用します。これは、このドライブが起動時に別のサーバーに接続された場合(つまり、回復中にUSB経由)に問題が発生しないようにするためです。
/ bootにRAID-1をセットアップしたら、RAID-1アレイの各ドライブにGRUB)をインストールする必要があります。
この特定の例は、3ウェイのRAID-1ミラーをセットアップして、3つのドライブすべてがGRUBで起動できるようにする方法を示しています。
# grub
grub> find /grub/stage1
(hd0,0)
(hd1,0)
(hd2,0)
grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdc
grub> root (hd0,0)
grub> setup (hd0)
grub> quit