вторник, 26 апреля 2011 г.

Нелегкая борьба с multipath


Имеется - блейд-сервер IBM HS22, единственным диском для которого является том на хранилище EMC CLARIION. Задача: настроить multipath-доступ к этому тому (по умолчанию, имея два оптических свича и два порта на каждом, мы видим этот том в виде 4 дисков /dev/sd[a-d]).
В CentOS 5.5 вроде имеется паспортное средство установки системы с multipath - надо при инсталяции ввести командную строку ядра linux mpath - но этот путь, мягко выражаясь, не совсем работает - т.е. система прекрасно устанавливается  на устройство /dev/mapper/mpath0, но грузиться с него отказывается - не может найти корневой раздел. 
В debian 6.0 дела чуть лучше - действуем так:
  1.  ставим систему, как обычно (я ставил на /dev/sda, но, вероятно, можно с тем же успехом ставить на любой другой диск).
  2. добавляем пакеты для multipath и пересобираем initrd:
    # apt-get install multipath-tools-boot multipath-tools firmware-qlogic
    # update-initramfs -u
  3. перегружаемся - и ищем имя multipath-устройств:
    $ ls /dev/mapper
    3600601600a02a004b0085add64e011
    3600601600a02a004b0085add64e011-part1
    3600601600a02a004b0085add64e011-part2
    control
    Имена, заканчивающиеся на part[12] и есть наши разделы. Прописываем их в /etc/fstab и в  /boot/grub/grub.cfg (там, где root=UUID=...) - вероятно, для второго действия есть более элегантный способ, но я плохо разбирась в grub2.

    После этого перегружаемся - и все должно работать. Состояние дискового массива можно посмотреть командой (и попроверять работоспособность, по очереди отключая питание на оптических свичах):

    # multipath -ll
     
 В итоге - мораль - если нужен беспроблемный мультипас из коробки, лучше ставить Vmware ESXI - тоже своего рода линукс...