Раздел отсутствует в /dev

У меня странная проблема с тех пор, как я перешел из Centos5 в Centos6. У меня есть три диска, первые два используются в качестве RAID1, а третий - автономный резервный диск, который не указан в /etc/fstab (он монтируется при необходимости, а затем демонтируется).

Моя проблема: после загрузки /dev/sdc существует, но /dev/sdc1 не. Кроме того, ссылки в /dev/disks также отсутствуют для первого раздела sdc, С самим диском все в порядке, и если я удаляю его горячим способом и снова подключаю, /dev/sdc1 появляется нормально и все работает.

Мой вопрос: Какая подсистема управляет автообнаружением дисков, разделов и т. Д. В процессе загрузки (например, что создает /dev/disks/by-label)? Как мне настроить его на сканирование /dev/sdc и создать все соответствующие файлы и ссылки в /dev?

Изменить: Вот соответствующая часть вывода dmesg (единственное место sdc появляется). Это список sdc1, но это не в /dev!

SD 1: 0: 0: 0: [SDB] 1953525168 512-байтовые логические блоки: (1,00 ТБ /931 ГБ) SD 3: 0: 0: 0: [SDC] 976773168 512-байтовые логические блоки: (500 ГБ /465 GiB)
sd 1:0:0:0: [sdb] Защита от записи отключена sd 1: 0: 0: 0: [sdb] Режим: 00 3a 00 00 sd 1: 0: 0: 0: [sdb] Запись кэш: включен, чтение кэш: включен, не поддерживает DPO или FUA
sd 3:0:0:0: [sdc] Защита от записи отключена sd 3: 0: 0: 0: [sdc] Режим Sense: 00 3a 00 00
sd 3:0:0:0: [sdc] Кэш записи: включен, кэш чтения: включен, не поддерживает DPO или FUA
 sdb:
 sdc:
sd 0:0:0:0: [sda] 1953525168 512 байт логические блоки: (1,00 ТБ /931 ГиБ)
sd 0:0:0:0: [sda] Защита от записи отключена sd 0: 0: 0: 0: [sda] Режим Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Кэш записи: включен, кэш чтения: включен, не поддерживает DPO или FUA
 sda:
DMAR:[DMA Read] Запрос устройства [00:1e.0] ошибка addr 361bc000 
DMAR:[причина ошибки 06] PTE Доступ для чтения не установлен sdb1 sdb2 sdb3
 sdc1
 sda1
sd 1:0:0:0: [sdb] Прикрепленный диск SCSI sd 3: 0: 0: 0: [sdc] Прикрепленный диск SCSI sda2 sda3
sd 0:0:0:0: [sda] Прикрепленный диск SCSI

2 ответа

Решение

Я наконец нашел причину этой проблемы. Диск был членом RAID-массива Intel, а сигнатура RAID Intel пережила перераспределение и переформатирование на другом компьютере:

mdadm -Evvv / dev / sdc

              Magic : Intel Raid ISM Cfg Sig.
        Version : 1.1.00
.................................................
[Archive Volume]:
           UUID : xxxx
     RAID Level : 1
        Members : 2
          Slots : [UU]

mdadm выяснил, что этот диск принадлежит к чужому массиву RAID, и даже читает метаданные Intel: имя тома, уровни RAID и т. д. Конечно, все эти данные устарели и больше не соответствуют действительности.

Тот факт, что диск считался членом чужого RAID, был причиной того, что этот диск не получил свои разделы, назначенные в / dev.

Как исправить

mdadm - нулевой суперблок / dev / sdc

Замените свое собственное устройство на /dev/sdc конечно. Это должно быть неразрушающим для файловой системы, уже находящейся на диске, по крайней мере, моя файловая система пережила это без каких-либо проблем. Суперблок RAID обычно находится в последнем секторе (ах) диска.

Мораль этой истории

Всегда, всегда очищайте диск перед тем, как вынуть его из RAID и использовать его где-нибудь еще! Интернет изобилует историями о том, что чужой диск собирается в живой массив, разрушая его в процессе. Мне повезло, и я получил эту очень незначительную проблему.

Обычно обнуления первых и последних секторов достаточно. Вы должны сделать это в старой системе, где изначально использовался диск, или где-то еще, пока загружается в аварийный CD (если используется только программный RAID!).

У меня была такая же проблема на дисках Debian Squeeze и VMware, разделов для одного диска просто не было /dev, но они были видны по fdisk и в dmesg. Я обновил udev пакет от 164 (найден в стабильном) до 175 (найден в тестировании) и после перезагрузки все работает как надо.

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