null

Добавляем поддержку iSCSI-лунов в VIOS

При подготовке стенда к мастер-классу "Администрирование AIX" я столкнулся со следующей проблемой: iSCSI-диски, которые я нарезал для лабовых LPAR ни в какую не хотели работать на втором VIOS и давали ошибку:
    0514-047 Cannot access a device
А это значит, что протестировать Live Partition Mobility (технологию миграции LPAR с одного хоста на другой) не получится.

Рекомендации состоят в том, чтобы отключить SCSI-резервации - делается это выставлением аттрибута reserve_policy у соответствующих устройств. И это работает для FC-устройств, а вот у iSCSI-устройств такого атрибута увы нет. Хорошую подсказку дает ссылка: Updating ODM stanzas for Storwize V7000 system iSCSI devices

В моем стенде используется тоже массив 7000-й серии но от Sun Microsystems, соответственно патчить систему - не вариант. Это значит, чтобы этот параметр появился, придется лезть в ODM - бинарный "реестр" AIX (а VIOS по сути основан на AIX).

Для начала нам надо перейти в полноценный AIX shell, для этого в VIOS предусмотрена следующая команда:
$ oem_setup_env

Посмотрим, какой класс и тип имеют устройства hdisk, соответствующие iSCSI-томам:
# odmget -q 'name like hdisk* and parent = iscsi0' CuDv
CuDv:
        name = "hdisk7"
        status = 1
        chgstatus = 2
        ddins = "scsidisk"
        location = ""
        parent = "iscsi0"
        connwhere = "6"
        PdDvLn = "disk/iscsi/osdisk"

Соответственно, класс данного устройства - disk, под-класс - iscsi, а тип - osdisk.

Команда lsdev рассказывает еще несколько типов iSCSI-дисков в AIX:
# lsdev -P | grep iscsi
PCM            iscsiother      friend         SCSI/FCP Disk Path Control Module
<cut>
disk           mpioapdisk      iscsi          MPIO Other iSCSI Disk Drive
disk           mpioosdisk      iscsi          MPIO Other iSCSI Disk Drive
disk           nonmpiodisk     iscsi          iSCSI Disk Drive
disk           osdisk          iscsi          Other iSCSI Disk Drive
disk           scsd            iscsi          Other iSCSI Disk Drive
<cut>


И тип nonmpiodisk, к счастью, содержит нужное нам описание аттрибута:
# odmget -q 'uniquetype = disk/iscsi/nonmpiodisk' PdAt
PdAt:
        uniquetype = "disk/iscsi/nonmpiodisk"
        attribute = "reserve_policy"
        deflt = "no_reserve"
        values = "no_reserve,single_path"
        width = ""
        type = "R"
        generic = "DU"
        rep = "sl"
        nls_index = 96

Я думаю, вы обратили внимание, что названия таблиц ODM состоят из четырех букв: первые две указывают на то, является ли она предопределенной при инсталляции (Pd) или индивидуальной для конкретного хоста (Cu), остальные буквы - на содержимое таблицы: Dv - описание устройств, At - их атрибуты, VPD - Vital Product Data, и т. д.

Создадим файл /tmp/pdat, в который скопируем описание атрибута reserve_policy, поменяв поле uniquetype. Значение по-умолчанию no_reserve - это то, что нам нужно.
PdAt:
        uniquetype = "disk/iscsi/osdisk"
        attribute = "reserve_policy"
        deflt = "no_reserve"
        values = "no_reserve,single_path"
        width = ""
        type = "R"
        generic = "DU"
        rep = "sl"
        nls_index = 96


Добавим данное описание в ODM:
# odmadd /tmp/pdat

Чтобы не прописывать отдельно значения атрибутов в ODM, пересоздадим устройства (а методы cfgmgr сами склонируют нужный нам атрибут):
# for I in 2 3 4 5 6 7 8 9 10; do rmdev -l hdisk$I -d; done
# cfgmgr


После этого проблема решилась, а Live Partition Mobility заработал.

К списку статей

 

Интересуюсь по большей части системным анализом программного обеспечения: поиском багов и анализом неисправностей, а также системным программированием (и не оставляю надежд запилить свою операционку, хотя нехватка времени сказывается :) ). Программированием увлекаюсь с 12 лет, но так уж получилось, что стал я инженером.

Основная сфера моей деятельности связана с поддержкой Solaris и оборудования Sun/Oracle, хотя в последнее время к ним прибавились технологии виртуализации (линейка Citrix Xen) и всякое разное от IBM - от xSeries до Power. Учусь на кафедре Вычислительной Техники НИУ ИТМО.

See you...out there!

http://www.facebook.com/profile.php?id=100001947776045
https://twitter.com/AnnoyingBugs