次の構造のディスクが2つあります。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3,7T 0 disk
├─sda1 8:1 0 2,7T 0 part
└─sda2 8:2 0 931,5G 0 part
sdb 8:16 0 2,7T 0 disk
└─sdb1 8:17 0 2,7T 0 part
実行すると、sda1とsdb1はmd0の一部になります
mdadm --misc --detail /dev/md0
戻る
mdadm: cannot open /dev/md0: No such file or directory
私のmdadm.confは次のとおりです。
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
DEVICE partitions
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
# This configuration was auto-generated on Thu, 03 Mar 2016 21:53:00 +0100 by mkconf
ARRAY /dev/md/0 metadata=1.2 UUID=6ca17528:517621d3:e1c460a2:529955dd name=rp3-0:0
実行したら
Sudo mdadm -A /dev/md0
または
Sudo mdadm --assemble --scan
戻る
mdadm: /dev/md/0 has been started with 2 drives.
新しいディスク構造は次のとおりです。
sda 8:0 0 3,7T 0 disk
├─sda1 8:1 0 2,7T 0 part
│ └─md0 9:0 0 5,5T 0 raid0
└─sda2 8:2 0 931,5G 0 part
sdb 8:16 0 2,7T 0 disk
└─sdb1 8:17 0 2,7T 0 part
└─md0 9:0 0 5,5T 0 raid0
RAIDのfstab行は
/dev/md0 /mnt/ext ext4 defaults,nobootwait,nofail 0 0
nobootwaitとnofailは、起動時にsystemdをクラッシュさせないためのものです。
システムを再起動すると、raid0が消えます。再起動するたびにレイドを持続させるにはどうすればよいですか?
ありがとう。
必要なのはconfとinitrd/initramfsフックだけです。これは、ディストリビューションによって異なる場合があります。
まず、confを追加します。
mdadm -D --scan > /etc/mdadm.conf
/ etc/mdadm /のようなディレクトリが見つかった場合は、ディストリビューションで代わりにファイルが必要になる可能性があります...シンボリックリンクするか、代わりにそのパスを使用してください。
次に、mdadminitrdフックがインストールされて有効になっていることを確認します。 (通常のmdadmパッケージにはそれらが含まれているはずです...ディストリビューションがおかしい場合にのみこれについて言及するので、2番目のパッケージを探すことを知っています)
たとえば、Archベース:
$ pacman -Ql mdadm | grep hook
mdadm /usr/lib/initcpio/hooks/
mdadm /usr/lib/initcpio/hooks/mdadm
$ grep mdadm /etc/mkinitcpio.conf
HOOKS="base ... mdadm lvm2 filesystems ..."
そしてdebianベース:
$ dpkg -L mdadm | grep initr.*hook
/usr/share/initramfs-tools/hooks
/usr/share/initramfs-tools/hooks/mdadm
(I'm not really sure where the hook is enabled, but I think it should be enabled by default... someone else please fill that in)
そして、これらのファイルとパッケージがインストールされた後、initramfsを再構築し、場合によっては次の場合に備えてupdate-grubを再構築する必要があります。
アーチベース:
# mkinitcpio -p /etc/mkinitcpio.d/somekernel.preset
# update-grub
Debianベース:
# update-initramfs -u
# update-grub
また、より信頼性の高い起動のために、fstabで/ dev/md0ではなくUUIDを使用することを忘れないでください。 (たとえば、レスキューディスクで起動して変更すると、/ dev/md127に変更されたり、頑固で0に戻すのが難しい場合があります)。構文についてはmanfstabを、UUIDについてはblkidを参照してください。
私はこれが多くのDebianサーバーで起こるのを見てきました。毎回私のために働いた解決策(そして私を信じて、それを理解するのに何時間もかかった)は、ファイル「/ usr/share/initramfs-tools/scripts/local-top/mdadm」にパッチを当てることでした。 「すべてのMDアレイを組み立てる」が出力される場所を見つけて、その後に「sleep3」を追加します。完了したら、「update-initramfs -t -u -k all」を実行して、変更したスクリプトをインストールします。