Назад | Перейти на главную страницу

Один диск программного RAID10 был переделан. Что делать?

У меня программный массив на одной машине

root@c ~# mdadm --query --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Mon Mar 17 10:22:38 2014
     Raid Level : raid10
     Array Size : 976772096 (931.52 GiB 1000.21 GB)
  Used Dev Size : 488386048 (465.76 GiB 500.11 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Jan 19 10:30:49 2015
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : far=2
     Chunk Size : 256K

           UUID : e21d2907:a7b46e36:220b319d:884b2099
         Events : 0.296

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       48        1      active sync   /dev/sdd
       2       8       64        2      active sync   /dev/sde
       3       8       80        3      active sync   /dev/sdf

md0 - это массив RAID-10. Сотрудник сделал fdisk на / dev / sdf и создал там три раздела Linux. В настоящее время md0 работает нормально, но меня беспокоит, что произойдет, когда сервер будет перезагружен.

Моя информация в безопасности? Fdisk уничтожил один из пары RAID1? Как исправить sdf, не повредив массив?

Заранее спасибо.

Ваша информация небезопасна; вы уничтожили один диск в массиве, и он не появится при перезагрузке. Ваше ядро, скорее всего, по-прежнему будет использовать старую таблицу разделов, потому что она использовалась, когда fdisk был создан, но вам необходимо выполнить следующие шаги:

  1. Сделайте резервную копию ваших данных (это само собой разумеется, но я хочу прояснить, что я не несу ответственности, если эта процедура не сработает ;-)
  2. Вывести диск из строя: mdadm --fail /dev/md0 /dev/sdf
    • Теперь массив должен отображаться как деградированный в /proc/mdstat
  3. Удалите диск из массива: mdadm --remove /dev/md0 /dev/sdf
    • Диск должен был исчезнуть из /proc/mdstat
  4. Очистите таблицу разделов: dd if=/dev/zero of=/dev/sdf bs=1k count=1
  5. Повторно добавляем диск в массив: mdadm --add /dev/md0 /dev/sdf
  6. Теперь массив должен перестраиваться. Монитор /proc/mdstat до завершения.
  7. Снова сделайте резервную копию данных в другом месте. Сравните его с первой резервной копией и убедитесь, что изменились только новые / обновленные файлы.

Вы должны иметь возможность делать все вышеперечисленное, пока массив находится в сети, потому что RAID 10 означает, что у вас есть как минимум 2 копии каждого блока.

То, что ваш коллега сделал с массивом, является хорошей причиной не использовать необработанные диски в RAID-массивах. Для будущих массивов вам следует создать раздел на каждом диске типа FD, чтобы система знала, что они являются разделами RAID, и любой, кто придет, увидит разделы на нем. Вы теряете лишь крошечный объем места и получаете действительно большой красный флаг, который сообщает людям, что диск используется.

Удачи!