Один из жестких дисков в конфигурации 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
настроен, как указано выше.