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

Привод с возможностью горячей замены получил новое название. Если я добавлю его обратно в массив `md` и он будет переименован при перезагрузке, будет ли массив работать?

Один из жестких дисков в конфигурации RAID моего сервера вышел из строя, поэтому я вынул его из массива и приказал центру обработки данных выполнить горячую замену. Они сделали это, но теперь новый диск /dev/sdc скорее, чем /dev/sda. Подозреваю, что если я перезагружу сервер, он будет /dev/sda снова, поэтому я не решаюсь добавить его обратно в массив как /dev/sdc потому что я не хочу ставить себе ловушку, в которую можно попасть при следующей перезагрузке. Я бы просто не перезагружал сервер, если мне это не нужно (если мне это нужно, что ж, очень плохо для меня).

Если я добавлю это как /dev/sdc, будет ли проблема при перезагрузке? Или есть способ изменить имя устройства с /dev/sdc к /dev/sda без перезагрузки?

Это на Ubuntu 10.04 LTS. Это md array («Linux Software RAID»), где в настоящее время одно из устройств (их несколько) выглядит следующим образом («деградировало», потому что я удалил старые /dev/sda от него):

# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sun Oct 11 21:07:54 2009
     Raid Level : raid1
     Array Size : 97536 (95.27 MiB 99.88 MB)
  Used Dev Size : 97536 (95.27 MiB 99.88 MB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Jun 30 09:31:16 2011
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           UUID : 496be7a5:ab9177ed:7792c71e:7dc17aa4
         Events : 0.112

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       0        0        1      removed

Можно продолжить и добавить его как /dev/sdc. Читая ядро md документация, если имя изменится при перезагрузке, это не имеет значения. (Хороший дизайн.) Вот почему:

Автоопределение времени загрузки RAID-массивов

Когда md компилируется в ядро ​​(не как модуль), разделы типа 0xfd сканируются и автоматически собираются в массивы RAID. Это автоопределение можно подавить с помощью параметра ядра «raid = noautodetect». Начиная с ядра 2.6.9, только диски с суперблоком типа 0 могут автоматически обнаруживаться и запускаться во время загрузки.

Параметр ядра «raid = partitionable» (или «raid = part») означает, что все автоматически определяемые массивы собираются как разделяемые.

Хотя у меня не было md скомпилирован в ядро, моя установка делает то же самое, что и выше, потому что она автоматически загружается mdadm и mdadm.conf настроен для сканирования всех разделов на наличие суперблока, как и ядро:

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

Так что можно перестроить массив с помощью /dev/sdc; имя, вероятно, изменится на /dev/sda при перезагрузке, но это не вызовет никаких проблем, если md настроен, как указано выше.