Показаны сообщения с ярлыком rdac. Показать все сообщения
Показаны сообщения с ярлыком rdac. Показать все сообщения

среда, 8 июня 2011 г.

Установка RDAC на IBM xSeries 366.


Недавно встала передо мной задача подготовить сервер IBM xSeries 366 под Oracle. Под данные выделили LUN на DS4300.
В данной заметке я постараюсь описать свой опыт установки Linux RDAC под RHEL 6.1.
Первым делом, определимся что это? Драйвер RDAC позволяет объединить несколько маршрутов ввода-вывода между узлами серверов и дисковыми массивами в единое целое. Маршруты в этом случае представляют собой физические SAN-соединения, которые могут включать отдельные кабели, переключатели и контроллеры. При их агрегации будет создано новое устройство.
Точно такую же функцию выполняет DM-Multipath из пакета device-mapper-multipath, входящего в поставку RHEL6. IBM рекомендует устанавливать Linux RDAC драйвер для доступа к стойке.

Скачиваем последний архив с исходниками:
wget -c http://www.lsi.com/sep/Documents/rdac/rdac-LINUX-09.03.0C05.0454-source.tar.gz
 wget -c http://www.lsi.com/sep/Documents/rdac/ibm_sw_ds3k4k5krdac_09.03.0C05.0454_linux_anycpu.txt

Внимательно читаем README и узнаем, что в версии 09.03.0C05.0454 предлагается:

- Новая архитектура с поддержкой многопоточной обработки.
- Улучшение производительности по сравнению с предыдущими версиями.
- Поддержка RedHat 6.

Отлично, изменения более подробно описывать смысла нет, можно посмотреть в файле изменений самостоятельно.
Теперь об ограничениях/замечаниях текущей версии драйвера:

1. KDUMP не работает с установленным MPP-драйвером в RHEL 6.0. Проблема решена в RHEL 6.1

2. RDAC драйвер не может сосуществовать с Fibre Channel HBA-level multipath failover/failback driver.

3. SCSI-подсистема в Linux не поддерживает несмежные LUNы. Например, хосту презентованы LUN1 и LUN4, в данном случае ядро не будет сканировать оставшиеся LUNы.
Рекомендуется презентовать смежные LUNы или перед запуском приложений запускать скрипт, который обнаружит LUNы с помощью mppBusRescan, а затем примонтирует найденные разделы.

4. Разработчики рекомендуют использовать зонирование FC-коммутаторов.

5. RDAC драйвер немедленно рапортует о ошибках ввод/вывода при потере всех путей к стойке.

6. Стек RDAC драйверов (включает mppUpper; драйвера HBA, например, qla2xxx; mppVhba) не рекомендуется загружать/выгружать с помощью modprobe/insmod/rmmod, только с помощью перезагрузки в тоже или другое ядро.

Новая установка

Распаковать исходники:
tar -zxf rdac-LINUX-09.03.0C05.0454-source.tar.gz
Войти в папку:
cd linuxrdac-09.03.0C05.0454
Удалить старые объектные файлы
make clean
Скомпилировать
make
Установить
make install

После этого в каталоге /boot появится файл mpp-2.6.32-131.2.1.el6.x86_64.img
Его нужно добавить в меню grub:

title Red Hat Enterprise Linux Server (2.6.32-131.2.1.el6.x86_64) with MPP
root (hd0,0)
kernel /vmlinuz-2.6.32-131.2.1.el6.x86_64 ro root=UUID=4be0d*** rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet elevator=deadline
initrd /mpp-2.6.32-131.2.1.el6.x86_64.img


Перезагрузка
reboot

Проверка, что модули драйвера успешно загружены:
# lsmod | grep mpp
mppVhba 135909 1
mppUpper 153884 1 mppVhba


Для проверки. что драйвер нашел устройства:
# ls -lR /proc/mpp
либо
# /opt/mpp/lsvdev
Array Name Lun sd device
-------------------------------------
IBM4300-001 0 -> /dev/sdb


Конфигурация драйвера хранится в файле /etc/mpp.conf. Если вы делаете какие-либо изменения в нем, рекомендуется запустить mppUpdate (обновит RAM-диск в сообветствии с новой конфигурацией). Многие изменения в конфигурации требуют перезагрузки системы. Разработчики драйвера категорично рекомендуют делать именно перезагрузку, а не выгрузку/загрузку модулей.

Удаление RDAC драйвера
cd linuxrdac-09.03.0C05.0454
make uninstall
reboot


Переустановка/обновление RDAC драйвера
cd linuxrdac-09.03.0C05.0454
make uninstall
make clean
make
make install
reboot


Kernel Update
rpm -Uvh kernel-firmware-VERSION kernel-devel-VERSION -kernel-headers-VERSION
rpm -ivh new_kernel-VERSION
Отмонтировать разделы
Отмапить разделы со стойки
reboot


После успешной загрузки следовать пунктам в "Переустановка/обновление RDAC драйвера".

воскресенье, 16 января 2011 г.

Обновление RDAC на сервере SunFire X4450

Субботний вечер. Сижу дома, никого не трогаю. Звонит ИТ-директор с фразой "все пропало, шеф". Хорошее начало. Оказывается DBA увидел в /var/log/messages на сервере записи типа: "MCE: warning: using only 7 banks". Гугление приводит на errata RHSA-2008:0612-25 (http://rhn.redhat.com/errata/RHSA-2008-0612.html), в котором говорится, что "* the kernel currently expects a maximum of six Machine Check Exception (MCE) banks to be exposed by a CPU. Certain CPUs have 7 or more, which may have caused the MCE to be incorrectly reported." Т.е. надо обновляться до новой версии ядра (текущая 2.6.18-92).

предварительный этап:

делаю бэкап настроек сервера, параллельно dba доделывает бэкап Oracle. Скачиваю последнее ядро для RHEL 5.5 - kernel-2.6.18-194.32.1 и kernel-devel-2.6.18-194.32.1.

С сайта lsi.com/rdac скачиваю последний RDAC - rdac-LINUX-09.03.0C05.0439.

Обновление ядра:
# rpm --test -ivh /root/kernel-2.6.18-194.32.1.el5.x86_64.rpm /root/kernel-devel-2.6.18-194.32.1.el5.x86_64.rpm
warning: /root/kernel-2.6.18-194.32.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        ecryptfs-utils < 44 conflicts with kernel-2.6.18-194.32.1.el5.x86_64

Ладно, ecryptfs мне не нужен, удаляю пакеты
# rpm -e ecryptfs-utils.x86_64
# rpm -e ecryptfs-utils.i386

# rpm -ivh /root/kernel-2.6.18-194.32.1.el5.x86_64.rpm /root/kernel-devel-2.6.18-194.32.1.el5.x86_64.rpm
warning: /root/kernel-2.6.18-194.32.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:kernel-devel           ########################################### [ 50%]
   2:kernel

Закомментировать в /etc/fstab все, что касается разделов на стойках.
Перегружаюсь в новое ядро и ловлю на этапе старта кучу ошибок I/O. Недолго думая, вытаскиваю из сервера все FC-линки.
Теперь новое ядро загрузилось без проблем, далее установка RDAC.
Распаковать архив
make uninstall
make clean
make
make install
Изменить/добавить запись в файле /boot/grub/grub.conf
title Red Hat Enterprise Linux Server (2.6.18-194.32.1.el5) with MPP support
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/ quiet elevator=deadline usb-handoff
        initrd /mpp-2.6.18-194.32.1.el5.img

Перезагрузка, подключение FC-линков.
Проверка /opt/mpp/lsvdev, fdisk -l