Это повторение вопроса на форуме суперпользователя: https://superuser.com/questions/1404338/raid-1-badly-detected-as-raid-0-when-one-drive- is-missing
Я надеюсь, что кто-то здесь может иметь лучшее представление о том, что делать, так как это форум Ubuntu, и эта проблема влияет на установки Ubuntu.
Я установил Ubuntu 18.04.2 на виртуальный ящик VM (проблема также наблюдается с KVM VM). Я создал программный RAID 1 с двумя дисками. Когда я удаляю один из дисков, система неправильно определяет настройку RAID как RAID 0.
ubuntu@ubuntu:~$ sudo mdadm -D /dev/md0
[sudo] password for ubuntu:
/dev/md0:
Version : 1.2
Raid Level : raid0
Total Devices : 1
Persistence : Superblock is persistent
State : inactive
Working Devices : 1
Name : ubuntu:0 (local to host ubuntu)
UUID : 08ad8f87:f1e25c0a:b8058a10:d1886a27
Events : 72
Number Major Minor RaidDevice
- 8 17 - /dev/sdb1
Способ преодолеть эту проблему в данный момент состоит в том, чтобы обнаружить это с помощью bash-скрипта и выполнить следующее:
sudo mdadm --stop /dev/md0
sudo mdadm --assemble --scan
И после этого он, кажется, находится в ожидаемом состоянии, когда один в настройках RAID 1 отсутствует диск:
ubuntu@ubuntu:~$ sudo mdadm -D /dev/md0
[sudo] password for ubuntu:
/dev/md0:
Version : 1.2
Creation Time : Tue May 7 11:11:05 2019
Raid Level : raid1
Array Size : 10475456 (9.99 GiB 10.73 GB)
Used Dev Size : 10475456 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Tue May 7 13:41:08 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : ubuntu:0 (local to host ubuntu)
UUID : 08ad8f87:f1e25c0a:b8058a10:d1886a27
Events : 39
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
- 0 0 1 removed
Пока я не собрал RAID 1 только с одним диском, я могу подключить отсутствующий диск обратно, и все загрузится правильно. Если я собрал RAID 1 с одного диска, мне нужно выполнить:
sudo mdadm --manage /dev/md0 --add /dev/sdc1
И тогда новый диск синхронизируется с рабочим диском RAID 1, и у меня будет полностью собранный массив RAID 1 снова.
Итак, проблема в том, почему RAID 1 с одним диском определяется как RAID 0? Есть ли конфигурация, которую мне не хватает?
Коллега предложил хорошее решение. Это в основном для создания службы systemd, которая будет запускаться при запуске и гарантировать, что madadm запускает RAID-массив. Команда для запуска массива:
/sbin/mdadm --manage --run /dev/md127
На хорошем рейд-массиве это ничего не даст, так как он уже запущен. На плохом массиве это запустит рейд перед его монтированием.