Promise SX6000 и Ubuntu Linux 9.10

Promise SX6000 и Ubuntu Linux

Сегодняшняя заметка будет интересна в основном узкому кругу системных администраторов. Я расскажу о своём недавнем опыте подключение RAID контроллера Promise SuperTrack SX6000 в Ubuntu Linux Server.

Для начала немного предыстории. В нашем ЦОД (центр обработки данных) был сервер под управлением Windows Server 2003 и в качестве аппаратного RAID контроллера на нём используется тот самый Promise SuperTrack SX6000. Система была установлена на отдельный жёсткий диск подключенный непосредственно к контроллеру материнской платы и вот в один прекрасный день этот самый диск с системой благополучно умер нарисовав в MHDD более 20000 бэд-блоков. Было принято решение заменить диск и по случаю перевести сервер под управление ОС Ubuntu Server 9.10 которая кстати говоря вышла на той неделе.

Отсюда и начинается наша история. Во время инсталляции ОС сразу стало понятно, что из коробки она контроллер и том массива не увидит. Поэтому параллельно полез в гугль искать информацию по этому поводу.

Официальный сайт Promise порадовал драйверами 6-ти летней давности под ядро 2.2 и 2.4. Но таки нашёл статью как установить Fedora 7 на аналогичный контроллер. Благо у меня задача была проще — надо было просто смонтировать дисковый том с информацией в линуксе.

Первое что пришлось сделать это перезагрузится и войти в BIOS самого контроллера. Делается это просто, после проверки BIOS материнской платы идёт проверка BIOS контроллера во время которой он проверяет целостность RAID массива, а после выдаёт приглашение войти в BIOS нажав Ctrl+F.

В самом BIOS необходимо перейти в настройки RAID контроллера (Controller Configuration) нажав клавишу 5. Затем выбрать в опции OS Selection пункт Other OS. В принципе там есть и пункт Linux, но как советуют в FAQ i2o который мы будет далее использовать для доступа к тому, надо поставить именно Other OS. К тому же установив пункт Linux в этой опции при монтировании на консоль валили ошибки ввода-вывода, поэтому я не стал экспериментировать, а сделал как мудрые люди написали.

Далее грузим ОС. И загружаем 2 модуля i2o:

$ sudo insmod i2o_block.ko
$ sudo insmod i2o_proc.ko

мне правда пришлось указывать полный путь к файлам модулей

$ sudo insmod /lib/modules/2.6.31-14-generic-pae/kernel/drivers/message/i2o/i2o_block.ko
$ sudo insmod /lib/modules/2.6.31-14-generic-pae/kernel/drivers/message/i2o/i2o_proc.ko

Далее создаём файлы устройств в каталоге /dev

Подпишись на наш канал в Telegram или VK - первым узнавай о бесплатных вебинарах и курсах, а так же скидках на платное обучение.
$ sudo mkdir /dev/i2o
$ sudo mknod /dev/i2o/hda b 80 0
$ sudo mknod /dev/i2o/hda1 b 80 1
$ sudo mknod /dev/i2o/hda2 b 80 2


и т.д. в зависимости от того, сколько разделов у вас там было, у меня было всего 2.
В принципе уже можно проверить как всё работает. Во первых в каталоге /proc/i2o будет создано куча файлов. Во вторых можно просто попытаться смонтировать раздел во временную папку:

$ sudo mkdir /mnt/tmp
$ sudo mount -t ntfs-3g /dev/i2o/hda1 /mnt/tmp

Если всё в порядке, то в каталоге /mnt/tmp увидим содержимое раздела. Что собственно у меня и произошло!

Далее прописываем загрузку модулей при старте системы. Для этого открываем на редактирование файл /etc/modules:

$ sudo nano /etc/modules

Добавляем в файл следующие строчки:
i2o_block
i2o_proc

Сохраняем. Затем прописываем в /etc/fstab строчки для монтирования файловых систем:

$ sudo nano /etc/fstab

и прописываем туда что-то вроде:
/dev/i2o/hda1 /mnt/tmp ntfs-3g defaults,locale=ru_RU.UTF-8 0 0

Сохраняем и перезагружаемся. У меня всё сразу заработало. Если есть необходимость переделить разделы можно воспользоваться для этого parted либо более консервативным fdisk как ими пользоваться читайте мануалы.

Ссылки по теме, которые мне очень помогли:
http://www.linuxquestions.org/questions/linux-hardware-18/fedora-core-7-directly-on-to-supertrak-sx6000-raid-577581/ — описание процесса установки Fedora Core 7 на аналогичный контроллер (на английском)
http://i2o.shadowconnect.com/ — сайт драйверов i2o — с хорошим FAQ и перечнем поддерживаемых контроллеров.

UPD от 15.12.2009
На самом деле Ubuntu Server видит этот контроллер во время установки. Причиной по которой программа установки не видел контроллера и разделов была неверная опция установленная в настройках контроллера (та самая опция выбор операционной системы). При установки в Other OS всё работает. В качестве эксперимента было проверено на дистрибутивах начиная с 8.04.
Онлайн образование
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.