unique_id дисков в AIX


Главная Форумы POWER Systems AIX/Hardware unique_id дисков в AIX

В этой теме 4 ответа, 2 участника, последнее обновление  andrewk 6 года/лет назад.

  • Автор
    Сообщения
  • #14120

    andrewk
    Участник

    имхо этой информации нет ни в каком инфоцентре или открытом документе IBM.

    odmget -q «name=hdiskXX and attribute=unique_id» CuAt
    или
    lsattr -El hdiskXX -a unique_id

    Возвращается длинная строка из кучи символов. Например,
    210800054C110AST373207LC03IBMscsi

    Первые 2 символа — длина строки в hex’е.
    Вторые 2 символа — длина серийного номера устройства в hex’e.
    Последующие символы (в моем случае 8) — серийный номер устройства. В этом поле вендоры часто пишут не только серийный номер, но и LUN ID на сторедже (некоторые в hex’е, некоторые в десятичной системе).
    Следующие 2 символа — длина Machine Type-Model в hex’e
    Следующие символы (в моем примере 0A, т.е. 10) — этот тот самый MTM, по которому можно определить сторедж. Например, 2107900 — DS8000. Может быть написано также словами, типа OPEN-V — HDS USP-V.
    Следующие 2 символа — для вендора в hex’e.
    Следующее поле (в моем примере 3 символа) — вендор. IBM, HITACHI, HP, …
    Последнее поле (все оставшееся) — обозначение протокола типа scsi, fcp

    Если диск передан с VIOS’а через VSCSI, то в unique_id:
    Первые 2 символа — длина всей строки в hex’e
    Вторые 2 символа — длина следующего поля
    Потом идет поле, которое в точности повторяет поле unique_id устройства на VIOS’е. Если Вы выделили клиенту не целиком устройство, а только один LV, то длина этого поля будет 00 и начиная с 3 символа строки будет идти LV ID, по которому потом можно найти на VIOS этот самый LV (lquerylv -L lvid)
    Потом снова 2 символа — длина протокола (05)
    Потом всегда 5 символов — VDASD (Virtual Direct Attach SCSI Device)
    Дальше не помню, но ничего интересного 🙂

    Смысл в том, что обычно все равно, какой у Вас сторедж и как Вы отдаете диски — по NPIV, VSCSI или напрямую через выделенную карту, — Вы всегда можете проанализировав unique_id найти сторедж, с которого выдан LUN, и ID этого LUN’а.

    пришлось сегодня потратить полчаса на reverse engineering 🙂

  • #14126

    Michael
    Участник

    В случае с дисками через SVC строка с цифирками длиннее будет :laugh:
    $ lsattr -El vpath0 -a unique_id
    unique_id 332136005076801900175500000000000003D04214503IBMfcp Device Unique Identification False

    Здесь:
    6005076801900175500000000000003D — это UID диска примапленного через SVC
    2145 — модель SVC (без типа)

    Остальное в окончании детально расписано предыдущим оратором, но вот начало строки «33213» меня немного смущает с утра пораньше. Пойду кофейку попью…

  • #14129

    andrewk
    Участник

    а чего смущает? тоже ведь расписано:
    33 — это длина всей строки, т.е. 51 символ
    21 — длина первого поля, т.е. 33 символа, в нее как раз входит весь UID диска, только начинается он почему с 3х — но я такое уже тоже видел. На какой-то старой DS8000 мне тоже отдался серийный номер с первой тройкой. Что она значит для IBM — не знаю.

  • #14130

    andrewk
    Участник

    пример строки из виртуализированного AIX:

    3520200B75DWYA1170607210790003IBMfcp05VDASD03AIXvscsi

    35 — длина всей строки
    20 — длина «серийного номера» устройства
    200B75DWYA1170607210790003IBMfcp — «серийный номер» устройства. На самом деле — unique_id диска, отданного VIO-клиенту
    05 — длина MTM
    VDASD — MTM
    03 — длина вендора
    AIX — вендор
    vscsi — протокол

    200B75DWYA1170607210790003IBMfcp
    20 — длина всей строки
    0B — длина серийного номера
    75DWYA11706 — «серийный номер», LUN ID
    07 — длина MTM
    2107900 — MTM
    03 — длина вендора
    IBM — вендор
    fcp — протокол

    372200c1ffc500004c000000012969df287a.105VDASD03AIXvscsi

    37 — длина всей строки
    22 — длина серийного номера
    00c1ffc500004c000000012969df287a.1 — LV ID логического тома с VIOS’а
    05 — длина MTM
    VDASD — MTM
    03 — длина вендора
    AIX — вендор
    vscsi — протокол

    1F0C50 133DE500106OPEN-V02HPfcp

    1F — длина всей строки
    0C — длина серийного номер
    50 133DE5001 — серийный номер. Здесь на самом деле 133DE — серийный номер стореджа в hex’е, а 5001 — LUN ID. что такое первые 50 — не знаю.
    06 — длина MTM
    OPEN-V — MTM. В данном случае HP XP24000.
    02 — длина вендора
    HP — вендор
    fcp — протокол

  • #14143

    andrewk
    Участник

    а для SVC в интернете нарылось:

    The Vdisk UID is broken down as follows:
    6 = NAA (Network Address Authority) in this case: IEEE
    Registered Extended.
    005076 = OUI (Organizationally Unique Identifier). i.e. IBM
    80187001E28 = Product (801=SVC)/Cluster Id alias (see note 1 below)
    00000000 = reserved zeroes
    000000 = Lun Instance number (see note 2 below).

    Note 1:

    The cluster id displayed here is the cluster id alias shifted by 2 bits.
    So if you take the number 80187001E28 and divide by 2 twice, it should
    evaluate to the cluster id alias reported by “svcinfo lscluster” —
    which I think makes it: 20061C0078A. In most cases a cluster id will
    match the cluster id alias, but I think there are certain operations on
    a cluster which can lead to the alias (and therefore lun uids) becoming
    different.

    Note 2:

    The LUN instance is not the same as the LUN ID (Vdisk ID). (Although in
    a newly created cluster, the lun instance/id will be the same to begin
    with, but as Vdisks are created and destroyed etc, they will not
    necessarily continue to match.)

Для ответа в этой теме необходимо авторизоваться.