web-dev-qa-db-ja.com

1つのドライブが欠落している場合、RAID1がRAID0として正しく検出されませんでした

私は襲撃を学んでいるので、これはいくつかの基本的な質問かもしれませんが、どこにもカバーされていません...

RAID 1を作成したら、/etc/mdadm/mdadm.conf as [1]を更新し、update-initramfs -uを実行すると、再起動してマウントできます。すべて順調。ここで、1つのドライブを取り外して再起動し、重大な障害をシミュレートします。 RAIDは、RAID 0(WHY?)、非アクティブ(WHY?、「raid0の半分しかありませんか?」)として誤って検出されるため、使用できません。私が期待したのは、この致命的なものではなく、アクティブで劣化したドライブでした。間違っていますか?エラー状態の説明については、[2]を参照してください。

関連する質問:すべてのパーティション(またはDEVICE変数で定義されているパーティション)でRAID UUIDをスキャンする必要がある場合、mdadm.conf [1]にdevices=/dev/sdb1,/dev/sdc1が含まれているのはなぜですか?では、なぜこの部分が生成されるのですか?その用途は何ですか?代わりにパーティションUUIDが使用されないのはなぜですか?ここでも使用できますか?

[1] mdadm.conf

cat /etc/mdadm/mdadm.conf 
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# 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 containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR alfonz19gmail.com

MAILFROM vboxSystem

# definitions of existing MD arrays

# This configuration was auto-generated on Sun, 10 Feb 2019 09:57:56 +0100 by mkconf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=mmucha-VirtualBox1:0 UUID=16624299:11ed3af5:3a8acd02:cd24d4d0
   devices=/dev/sdb1,/dev/sdc1
root@mmucha-VirtualBox1:~# cat /etc/mdadm/mdadm.conf 

[2]エラー状態:

root@mmucha-VirtualBox1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdb1[0](S)
      5236719 blocks super 1.2

unused devices: <none>
root@mmucha-VirtualBox1:~# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
        Raid Level : raid0
     Total Devices : 1
       Persistence : Superblock is persistent

             State : inactive
   Working Devices : 1

              Name : mmucha-VirtualBox1:0  (local to Host mmucha-VirtualBox1)
              UUID : 16624299:11ed3af5:3a8acd02:cd24d4d0
            Events : 19

    Number   Major   Minor   RaidDevice

       -       8       17        -        /dev/sdb1

PDATE作成手順

インタラクティブではないものを共有したかったのですが、「sfdisk」のインターフェイスと機能が機能しません。 gpt disklabelタイプを作成して書き込むように依頼すると、「大丈夫だ」と表示されますが、何もしませんでした。えーと。申し訳ありませんが、ここでfdiskコマンドを取得しています。

説明:既存のVM ubuntu 18.04、両方にgptパーティションテーブルを設定、両方に1つのパーティションを作成、RAID 1を作成、ext4fsを作成、マウント、テストファイルを作成、更新するために2つの新しいディスクを作成しましたmdadm.conf、update-initramfs -uを実行します。再起動、検証、動作します。電源を切り、sdeドライブを取り外し、起動します。同じ失敗。

ubuntuリリース:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

fdisk:

fdisk /dev/sdd
g
n
1


t
29
p
w

プリント:

VDisk /dev/sdd: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: E16A3CCE-1EF7-3D45-8AEF-A70B45B047CC

Device     Start      End  Sectors Size Type
/dev/sdd1   2048 10485726 10483679   5G Linux filesystem

/ dev/sdeについても同じ:

Disk /dev/sde: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: AEE480EE-DFA8-C245-8405-658B52C7DC0A

Device     Start      End  Sectors Size Type
/dev/sde1   2048 10485726 10483679   5G Linux filesystem

レイドの作成:

mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[d-e]1

 mdadm --detail /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Thu Feb 21 08:54:50 2019
        Raid Level : raid1
        Array Size : 5236672 (4.99 GiB 5.36 GB)
     Used Dev Size : 5236672 (4.99 GiB 5.36 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Feb 21 08:55:16 2019
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : mmucha-VirtualBox1:1  (local to Host mmucha-VirtualBox1)
              UUID : 1c873dd9:87220378:fc4de07a:99db62ae
            Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       65        1      active sync   /dev/sde1

フォーマットとマウント:

mkfs.ext4 /dev/md1 
mkdir /media/raid1
mount /dev/md1 /media/raid1/

mdadm --detail --scan --verbose >> /etc/mdadm.conf

update-initramfs -u

cat /etc/mdadm/mdadm.conf 
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# 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 containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR alfonz19gmail.com

MAILFROM vboxSystem

# definitions of existing MD arrays

# This configuration was auto-generated on Sun, 10 Feb 2019 09:57:56 +0100 by mkconf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=mmucha-VirtualBox1:0 UUID=16624299:11ed3af5:3a8acd02:cd24d4d0
   devices=/dev/sdb1,/dev/sdc1
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 name=mmucha-VirtualBox1:1 UUID=1c873dd9:87220378:fc4de07a:99db62ae
   devices=/dev/sdd1,/dev/sde1

以上です。前述のように、ここで1つのhddを削除すると、レイドをマウントできなくなります。

Sudo mdadm --detail /dev/md1
/dev/md1:
           Version : 1.2
        Raid Level : raid0
     Total Devices : 1
       Persistence : Superblock is persistent

             State : inactive
   Working Devices : 1

              Name : mmucha-VirtualBox1:1  (local to Host mmucha-VirtualBox1)
              UUID : 1c873dd9:87220378:fc4de07a:99db62ae
            Events : 23

    Number   Major   Minor   RaidDevice

       -       8       49        -        /dev/sdd1

更新2:Archで同じコマンド(update-initramfs -uを除く)をテストしましたが、問題なく動作しました。私はubuntuVMを再起動しました。そこでは、レベル1の2ドライブレイドが2セットありました。もう一度1台のドライブを取り外したところ、正常に機能しました。 VM前回から1回も実行しませんでした。それで、別のセットから1つのドライブを削除しました。これで、md0とmd1に2つのクリーンな劣化ドライブが必要になります。 md0とmd127で2つのクリーンが低下しています。しかし、それを知っているので、md127を停止し、mdadm --assemble --scanを実行してmd1に戻し、update-initramfs -uを実行すると、再起動後に次のようになります。良いですが、意外にもそうではありません。期待どおりmd0とmd1がありますが、各セットに1つのドライブがなく、1つは状態clean degradedで、その他はinactiveでレベルが悪いです。しかし、停止して再アセンブルします。 mdadm.confを1回変更することなく、すべてが発生しました。

それは深い魔法です。

3
Martin Mucha

非アクティブraid1配列がraidとして報告された場合にも同じ問題が発生しました。理由はわかりませんが、これで修正されました

mdadm --stop /dev/md0
mdadm --assemble /dev/md0 --run

編集:劣化した状態で再起動しようとしませんでした。上記のコマンドでアレイを起動した後。バックアップディスクをアレイに追加しました

mdadm --manage /dev/md0 --add /dev/sdX

md再同期を開始しました。その後、私のものは正常に再起動します。

あなたの場合、mdadm.confファイルに何かを追加する必要があると思います。 ARRAYにレベルを追加してみます。例:.

ARRAY /dev/md0 level=raid1 ...
1
g.kovatchev