Стыдно признаться, НЕДЕЛЮ устанавливал Ubuntu на сервер. Проблемы начались после того, как я тестировал сервер под Windows с динамическими GPT дисками. Видать винда что то там сделала с областью загрузчика и после установки Ubuntu загрузка заканчивалась на мигающем курсоре, даже до Grub не доходило. Я долгое время тупил и что то там делал с MD RAID массивом при установке, пока не догадался, что порядок дисков для загрузки в BIOS и Linux отличается, а Ubuntu этого не просек. Windows, кстати, это определил и создавал 100 мегабайтный загрузочный раздел не на первом диске в списке дисков. В результате я не стал вспоминать как инсталлировать GRUB вручную с rescue диска, а просто инсталлировал Ubuntu на все диски поочередно оставляя их единственными в шасси. После этого заработала загрузка в нужной конфигурации software RAID. Вот выдержка по этому поводу из исходников драйвера:
4.4. Controlling Boot order on non SES-2 systems
Linux discovers drives by walking sequentially through
each channel/target/lun of the host adapter, mapping the
drives that it finds sequentially to sda, sdb, sdc, etc.
SAS, on the other hand, does not guarantee what order
drives will be discovered, or appear. Because of this
"drive drift" (different than migration) a mechanism is
needed to guarantee that SAS drives will be consistently
mapped to device names. The Razor BIOS provides a
mechanism for determining what order drives have been
reported to the system BIOS. Because of the different
mechanisms that system BIOS vendors use to manage
devices in BIOS and because of the limited size of the
Razor OCM structures, the Razor BIOS structures can not
be use to consistently map all drives to a unique device
name that persists across boots.
The only way to solve the problem of "drive drift" is to
require that users assign a UUID or label to the
filesystems on their drives. In addition, because swap
does not support labels or UUIDs, we should recommend
that the users use swap files instead of swap
partitions.