Раздел отсутствует в /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 (найден в тестировании) и после перезагрузки все работает как надо.