Жесткий диск не обнаружен на ранней стадии автоматической установки
Я делаю автоматическую установку Ubuntu-14.04-сервера с USB-накопителем и preseed
файл на разных типах серверов (HP Proliant ML110, ML310, ML350). это preseed
файл содержит несколько правил, включая конфигурацию partman-auto
это автоматизирует (настраиваемое) разбиение жесткого диска сервера.
На серверах ML110 и ML310, в начале процесса установки (до
partman
запускается), жесткий диск находится в/dev/sda
и USB-накопитель занимает/dev/sdb
, Поэтому я уточняюd-i partman-auto/disk string /dev/sda
в моемpreseed
файл, и разделение применяется на жестком диске сервера. Все отлично работаетНо на серверах ML350, в начале процесса установки, основного жесткого диска нет
/dev/sd*
и USB-накопитель/dev/sda
, Это всего лишь несколько шагов спустя, что жесткий диск обнаруживается... в/dev/sdb
, Поэтому мое правило вpreseed
файл больше не действителен иpartman
испортить мой USB-накопитель.
Этот очень раздражающий факт поднимает два вопроса:
- Почему основной жесткий диск не отображается на устройствах в начале процесса установки?
- Как я мог заставить основной жесткий диск обнаружиться (и заставить его взять
/dev/sda
) или, если я не могу, как я могу с уверенностью выяснить, на каком/dev/sdX
основной жесткий диск будет.
Я пытался добавить dmraid=true
в настройках ядра это не сработало. Я тоже пытался добавить pci=conf1
(найдено здесь) но безуспешно.
2 ответа
Даже если в presed/early_command
жесткий диск еще не был обнаружен, я обнаружил, что в partman/early_command
, это!
Поэтому я сделал команду, которая устанавливает partman-auto/disk
параметр debian-installer
с правильным именем устройства, проверено в тот момент.
Для получения дополнительной информации об этой запятой см. Автоматическая установка с preseed - предоставьте пользовательское устройство partman-auto
После перехода от старого драйвера CCISS к драйверу HPSA контроллеры HP Smart Array теперь используют обычную подсистему блочных устройств SCSI. Следовательно, схема именования устройств /dev/sdX
,
Использование USB-ключа изменяет перечисление устройства, поскольку USB-устройство присутствует до RAID-контроллера (вы загружаетесь с него). Таким образом, USB-ключ становится /dev/sda
и первый RAID-контроллер HP Smart Array является /dev/sdb
,
Современные операционные системы Linux используют метки разделов или UUID, поэтому имя устройства не будет иметь значения при первой загрузке ( после удаления USB-ключа).
Разница между вашими платформами может заключаться в том, что ML110 и ML310 (вы не указали поколения) не используют контроллеры Smart Array или имеют другой класс устройств RAID.
ML350 имеет надлежащий контроллер Smart Array, поэтому поведение, которое вы видите, вполне ожидаемо.
Используйте другой файл preseed или попробуйте другой подход к развертыванию, если это возможно.