Видаліть диск із м'якого 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>

¿Як можна безпечно вийняти накопичувач з м'якого рейду, не втрачаючи жодних даних? Я хотів би вийняти диск з масиву, щоб переформатувати його та використовувати його незалежно, зберігаючи найважливіші дані в дзеркалі.

Спасибі заздалегідь

Відповіді:


20

У вас там є триходове дзеркало: кожен диск має повну копію всіх даних. Якщо припустити , що диск , який ви хочете видалити, /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, і з окремого диска?
Ніхто

2
@Nobody, якщо ви хочете прочитати дані з видаленого диска, вам слід пропустити крок 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.