Ubuntu Server 12.04, номер устройства MDADM внезапно меняется?

Я столкнулся с действительно раздражающей ошибкой, я установил программный RAID1 с mdadm, и установка прошла нормально, с этими результатами

/dev/md/lucas.mgscreativa.com .ar: 0

Я также настроил mdadm.conf следующим образом

DEVICE /dev/sda /dev/sdb

# auto-create devices with Debian standard permissions CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts MAILADDR root

# definitions of existing MD arrays ARRAY /dev/md/lucas.mgscreativa.com.ar:0 metadata=1.2
name=lucas.mgscreativa.com.ar:0
UUID=c913486a:e62c7ea1:cfb98b6b:253d1f62

И fstab настроен так

/dev/md/lucas.mgscreativa.com.ar:0 /media/data     ext4
defaults,noatime      0       0

Но однажды имя моего массива внезапно изменилось с /dev/md/lucas.mgscreativa.com.ar:0 на / dev / md0, поэтому я внес некоторые изменения в fstab и mdadm.conf (разумеется, после нескольких часов работы ошибка) и все прошло нормально, но сегодня, опять-таки, номер MD изменился с / dev / md0 на / dev / md127 !!!

Что здесь происходит? это ошибка?

Есть ли способ исправить номер MD, чтобы мой сервер мог работать без ошибок?

Спасибо!

4
задан 26 November 2012 в 07:02

2 ответа

Для этого ответа я предполагаю, что массив не поврежден - нет неисправных дисков, нет других состояний ошибки, только меняется «номер устройства».

Что обычно должно работать, так это остановить массив:

# mdadm --verbose --misc --stop /dev/md127

... исправить строку, относящуюся к массиву в /etc/mdadm/mdadm.conf (то есть настроить имя устройства). Затем соберите его следующим образом:

# mdadm --verbose --assemble --update=super-minor --run /dev/md0 /dev/sdaX /dev/sdbX

(настройте ссылки на физические устройства в вашем случае).

Вы должны увидеть результат, подобный следующему:

mdadm: looking for devices for /dev/md0
mdadm: updating superblock of /dev/sdaX with minor number 0
mdadm: /dev/sdaX is identified as a member of /dev/md0, slot 0.
mdadm: updating superblock of /dev/sdbX with minor number 0
mdadm: /dev/sdbX is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdbX to /dev/md0 as 1
mdadm: added /dev/sdaX to /dev/md0 as 0
mdadm: /dev/md0 has been started with 2 drives.

И если вы запросите подробности, вы увидите обновленное поле «Предпочитаемый несовершеннолетний». Проверьте:

# mdadm -Q -D /dev/md0|grep "Preferred"
Preferred Minor : 0

Предупреждения: также убедитесь, что вы монтируете устройство и пишете на него. В противном случае изменение может не вступить в силу. Кроме того, super-minor, по-видимому, относится к старому формату метаданных.

NB. Я не знаю, можете ли вы повлиять на «имя» в первоначальном смысле этого слова. Однако я знаю, что вы можете повлиять на X в созданных /dev/mdX именах.

0
ответ дан 26 November 2012 в 07:02

Во-первых: у вас, вероятно, есть ошибки в вашем массиве. Вам нужно немедленно проверить его статус.

Пример:

root@locutus:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jun  1 15:30:31 2012
     Raid Level : raid10
     Array Size : 1953119232 (1862.64 GiB 1999.99 GB)
  Used Dev Size : 976559616 (931.32 GiB 1000.00 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sun Nov 25 21:39:44 2012
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : locutus:0  (local to host locutus)
           UUID : b81ac63a:51a9b01c:c01812ec:86c534c4
         Events : 182

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       49        1      active sync   /dev/sdd1
       2       8       17        2      active sync   /dev/sdb1
       3       8       33        3      active sync   /dev/sdc1

Скорее всего, вы обнаружите, что у вас есть ошибки ... которые нужно исправить.

Двигаясь дальше, вы должны изменить способ настройки вашего fstab, чтобы использовать UUID вместо devicename. Используйте команду blkid в вашем массиве (или разделе под вашим массивом), чтобы получить его UUID, затем используйте этот UUID для его монтирования в /etc/fstab.

.

Пример:

root@locutus:~# blkid /dev/mapper/vg0-root
/dev/mapper/vg0-root: UUID="61998221-7b39-49cd-83f7-62fda973218c" TYPE="ext4" 

С этой информацией я бы установил мою запись в / etc / fstab для root так:

UUID=61998221-7b39-49cd-83f7-62fda973218c    /    ext4    defaults,errors=remount-ro    0    1

Как только вы это сделаете, ваша система найдет ваши разделы независимо от того, изменятся их имена устройств или нет (например, если кабели дисковода меняются местами).

Вы также должны настроить /etc/mdadm/mdadm.conf для автоматического поиска вещей, не нуждаясь в каком-либо конкретном диске, чтобы находиться в каком-либо конкретном месте:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

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

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=c913486a:e62c7ea1:cfb98b6b:253d1f62 name=lucas.mgscreativa.com.ar:0

ПРИМЕЧАНИЕ. В ЭТОМ КОНФЕ НЕ УКАЗАНЫ УСТРОЙСТВА FILE. Это особенность, а не ошибка. Если mdadm.conf настроен таким образом, ваша система автоматически просканирует все подключенные диски в поисках всего, что принадлежит вашему массиву, и соберет их все как /dev/md0.

.
0
ответ дан 26 November 2012 в 07:02

Другие вопросы по тегам:

Похожие вопросы: