Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /home/sync4me/domains/aboutnetapp.ru/public_html/blog/wp-includes/plugin.php on line 311
ALUA - Asymmetric Logical Unit Access - что это и как настроить в vSphere | about NetApp

ALUA – Asymmetric Logical Unit Access

ALUA, или Asymmetric Logical Unit Access это протокол внутри спецификаций SCSI-2 и SCSI-3, позволяющий правильно организовывать доступ к данным, доступным по различным путям с различными характеристиками доступа. Для его использования, понимать ALUA должны все участники, как система хранения, так и OS хоста.

С ситуацией асимметричного доступа часто сталкиваются при организации подключения двумя путями через два различных контроллера системы хранения. Например, у нас есть LUN, находящийся на дисках, которые обслуживаются определенным  контроллером системы хранения, такой контроллер называется для этих дисков “owner”. Однако, для обеспечния отказоустойчивости, эти диски, и данные с них, могут быть доступны через второй контроллер системы хранения, но по неоптимальному по характеристикам доступа пути.
Несмотря на то, что данные с дисков доступны обоим контроллерам, все операции с “владеемыми” дисками, для обеспечения целостности данных, пока он “жив”, должен совершать именно контроллер-владелец соответствующих дисков.

Рассмотрим подробнее на рисунке.

image

Вы видите, что хост, подключающийся к LUN A по пути A, получает данные наиболее “прямым” образом. А хост, подключающийся через второй контроллер, по пути B, хотя и тоже может видеть данные LUN, но получает его данные неоптимально. Его запрос на данные проходит через второй контроллер (FAS B), кластерный интерконнект между контроллерами, попадает на первый контроллер, обрабатывается им, и отправляется к его “owned” дискам. Данные пойдут в адрес запросившего хоста в обратном порядке, с дисков к контроллеру-owner, затем по интерконнекту, на второй контроллер, и через его порты к запросившему хосту. В результате загружаются работой оба контроллера вместо одного, данные загромождают интерконнект, и производительность снижается.

В этом случае вы сможете наблюдать в логах сообщение вида:

Это сообщение как раз и указывает на то, что данные получаются хостом через порты “чужого” контроллера, по неоптимальному пути.

Для того, чтобы автоматически разруливать такие ситуации, и организовывать подключение в нормальном режиме, когда оба пути к обоим работающим контроллерам активны, но один из них более предпочтителен, чем другой, и используется ALUA.

?з операционных систем его поддерживают свежие Linux, MS Windows 2008 со своим DSM и VMware ESX4 (vSphere). Поддержка ALUA есть и в Data ONTAP от 7.3.1.

Рассмотрим, как включить использование ALUA в vSphere.

Убедитесь, что на системе хранения вы используете версию Data ONTAP от 7.3.1 и выше.

FAS1> version
NetApp Release 7.3.1.1: Mon Apr 20 22:58:46 PDT 2009

Включите флаг ALUA  для igroups ESX на каждом из контроллеров системы хранения

FAS1> igroup show -v vmesx_b
    vmesx_b (FCP):
        OS Type: vmware
        Member: 21:00:00:1b:32:10:27:3d (logged in on: vtic, 0b)
        Member: 21:01:00:1b:32:30:27:3d (logged in on: vtic, 0a)
        ALUA: No

FAS1> igroup set vmesx_b alua yes

FAS1> igroup show -v vmesx_b
    vmesx_b (FCP):
        OS Type: vmware
        Member: 21:00:00:1b:32:10:27:3d (logged in on: vtic, 0b)
        Member: 21:01:00:1b:32:30:27:3d (logged in on: vtic, 0a)
        ALUA: Yes

С помощью VMotion переместите все VM с данного хоста ESX на другие хосты кластера и перезагрузите данный сервер ESX.

После перезагрузки значение SATP (Storage Array Type) изменится на VMW_SATP_ALUA, а PSP (Path Selection Policy) на VMW_PSP_MRU. Вам нужно изменить PSP с VMW_PSP_MRU на VMW_PSP_RR. Сделать это можно двумя способами.

1. С помощью NetApp ESX Host Utilities Kit 5.1
#/opt/netapp/santools/config_mpath –m -a CtlrA:username:password -a CtlrB:username:password

После изменений вы получите соответствующее собщение и предложение перезагрузить ESX

2. Вручную
# esxcli nmp satp setdefaultpsp –satp VMW_SATP_ALUA –psp VMW_PSP_RR

Перезагрузка сервера ESX

Проверьте получившеся настройки

#esxcli nmp device

naa.60a9800050334b356b4a51312f417541
    Device Display Name: NETAPP Fibre Channel Disk (naa.60a9800050334b356b4a51312f417541)
    Storage Array Type: VMW_SATP_ALUA
    Storage Array Type Device Config: {implicit_support=on;explicit_support=off;explicit_allow=on;alua_followover=on;{TPG_id=2,TPG_state=AO}{TPG_id=3,TPG_state=ANO}}
    Path Selection Policy: VMW_PSP_RR
    Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0;lastPathIndex=3: NumIOsPending=0,numBytesPending=0}
    Working Paths: vmhba2:C0:T2:L1, vmhba1:C0:T2:L1

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

5 комментариев

  1. Haired:

    Спасибо. Очень доходчиво расписано, и главное во время попалось на глаза :)

  2. Дмитрий:

    Сначала проверяем, и оказывается по умолчанию все правильно настроено
    ESXi 4.1.0 582267
    ~ # esxcli nmp device list
    naa.60a98000534b534b4b5a69366b7a5564
    Device Display Name: NETAPP Fibre Channel Disk (naa.60a98000534b534b4b5a69366b7a5564)
    Storage Array Type: VMW_SATP_ALUA
    Storage Array Type Device Config: {implicit_support=on;explicit_support=off; explicit_allow=on;alua_followover=on;{TPG_id=3,TPG_state=ANO}{TPG_id=2,TPG_state=AO}}
    Path Selection Policy: VMW_PSP_RR
    Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0;lastPathIndex=0: NumIOsPending=0,numBytesPending=0}
    Working Paths: vmhba4:C0:T0:L2

  3. А что произойдет с системой, если указать одинаковый приоритет для двух контроллеров? Возможна ли такая конфигурация?

  4. s0n1q:

    Думаю, что будет то же самое, что и без ALUA вообще. То есть если настроить руками правильно, через какой контроллер данные к какому LUN ходят - то ничем не буде отличаться от того, что настроит ALUA.

  5. Для истории )))
    esxcli nmp device
    сейчас
    esxcli storage nmp device

Оставить комментарий

20/0.078

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией NetApp, Inc. Излагаемая в этом блоге точка зрения выражает мнение исключительно его автора и может не совпадать с позицией NetApp, Inc.

This content is not endorsed, sponsored or affiliated with NetApp, Inc. The views expressed in this blog are solely those of the author and do not represent the views of NetApp, Inc.