У меня на сервере 4 диска. sda и sdb были объединены в RAID1 и имели операционную систему. sdc и sdd были вторым устройством RAID1, у которого была одна группа томов с кучей LVM. sdd умер, поэтому мой RAID данных ухудшился. После замены sdd (но до добавления в RAID) grub решил сойти с ума и отказаться от загрузки. Самый быстрый способ исправить это - просто переустановить ОС, так как в ней не было ничего важного.
Я удалил sdc и sdd во время установки, чтобы убедиться, что они не были перезаписаны по ошибке. После завершения установки я вставил диски обратно, и Centos автоматически нашел мою группу томов. Однако sdc больше не был частью RAID-массива.
Он разделен на / dev / sdc1 Linux raid auto detect
Мой вопрос - как я могу использовать mdadm для воссоздания RAID-массива sdc1, sdd1 без потери данных, уже находящихся на sdc?
Мое лучшее предположение заключалось в том, чтобы сначала создать массив только с sdc1, а затем добавить sdd1 после (чтобы он перестраивался с sdc на sdd)
РЕДАКТИРОВАТЬ. Посмотрев снова на вывод / cat / mdstat, я заметил кое-что странное. Мой диск с данными отображался как часть RAID-массива, но один из RAID-массивов моей ОС отсутствовал (и fstab попытался связать мой своп с моим диском данных).
fdisk /dev/sda Device Boot Start End Blocks Id System /dev/sda1 * 1 32 257008+ fd Linux raid autodetect /dev/sda2 33 2072 16386300 fd Linux raid autodetect /dev/sda3 2073 30401 227552692+ fd Linux raid autodetect
md1 должен был быть / dev / sda2 и / dev / sdb2, но он отсутствует
cat /proc/mdstat Personalities : [raid1] md2 : active raid1 sdb1[1] sda1[0] 256896 blocks [2/2] [UU] md3 : active raid1 sdc1[0] 1465135936 blocks [2/1] [U_] md0 : active raid1 sdb3[1] sda3[0] 227552576 blocks [2/2] [UU]
Когда я пытаюсь создать md2, я получаю:
[root@xen2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 /dev/sda2 /dev/sdb2 mdadm: /dev/sda2 appears to be part of a raid array: level=raid1 devices=2 ctime=Wed Aug 15 02:48:06 2012 mdadm: /dev/sdb2 appears to be part of a raid array: level=raid1 devices=2 ctime=Wed Aug 15 02:48:06 2012 Continue creating array? n
Сканирование mdadm также показывает, что он отсутствует
[root@xen2 ~]# mdadm --detail --scan ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 UUID=51ef54bd:770bb58e:90183df1:d82a79c7 ARRAY /dev/md3 level=raid1 num-devices=2 metadata=0.90 UUID=2d7dfb1e:6b091396:a7558ec2:4d288e6f ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=ecdd769b:c49d51b6:fe43f166:465b7073
Я не уверен, почему / dev / md1 решил потеряться после перезагрузки, но безопасно ли его восстанавливать?
Да, вам нужно запустить массив в деградированном режиме с помощью sdc drive. Затем вы можете повторно добавить сбойный диск sdd.
Обычно я использую команду mdadm с параметром --assemble для сборки и запуска массива в деградированном режиме, используя только один диск. Что-то вроде этого:
$ mdadm --assemble /dev/md1 /dev/sda2
Возможно, вам придется использовать -f
возможность принудительного запуска деградированного массива.
Если это работает нормально, вы можете продолжить, повторно добавив замененный диск.
$ mdadm --re-add /dev/md1 /dev/sdb2
Раньше я использовал эти команды много раз и не испытывал потери данных. Работали без сбоев при исправных дисках.
Меры предосторожности: сделайте резервную копию ваших дисков перед запуском таких команд, чтобы избежать возможной потери данных.