Удалить диск из мягкого RAID


11

У меня есть выделенный сервер с 3 SSD-дисков в RAID 1. Вывод cat / proc / mdstat:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]

md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]

unused devices: <none>

¿Как можно безопасно извлечь накопитель из программного набора без потери данных? Я хотел бы удалить диск из массива, чтобы переформатировать его и использовать его независимо, сохраняя при этом самые важные данные в зеркале.

заранее спасибо

Ответы:


19

У вас есть трехстороннее зеркало: на каждом диске есть полная копия всех данных. Если предположить , что диск , который вы хотите удалить, /dev/sdcи вы хотите , чтобы удалить его из всех трех массивов, нужно выполнить следующие шаги для /dev/sdc1, /dev/sdc2и /dev/sdc4.

Шаг 1: Извлеките диск из массива. Вы не можете удалить активное устройство из массива, поэтому сначала нужно пометить его как сбойное.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

Шаг 2: Сотрите метаданные RAID, чтобы ядро ​​не пыталось добавить их заново:

wipefs -a /dev/sdc1

Шаг 3: Сократите массив так, чтобы это было только двустороннее зеркало, а не трехстороннее зеркало с отсутствующим диском:

mdadm --grow /dev/md1 --raid-devices=2

Возможно, вам придется удалить растровое изображение с намерением записи, /dev/md4прежде чем сжимать его (в руководстве это не ясно), и в этом случае вы сделаете это непосредственно перед шагом 3 с mdadm --grow /dev/md4 --bitmap=none, а затем снова вернуть его с помощью mdadm --grow /dev/md4 --bitmap=internal.


Сохраняет ли это данные на диске, который вы удаляете? Т.е. можете ли вы впоследствии получить доступ к данным, которые были на RAID, с отдельного диска?
Никто

1
@ Никто, если вы хотите прочитать данные с удаленного диска, вы должны пропустить шаг 2. Практически все данные остаются там после запуска wipefs(это стирает только несколько ключевых байтов, необходимых для распознавания файловой системы), но чтение становится упражнением в восстановлении данных, а не просто в подключении диска.
Марк

0

man mdadm:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.