Настроим зонирование для сети храниения данных на коммутаторе Cisco Nexus 5672UP FC
Когда-то давно я делал минигайд про
настройку зон на коммутаторах Cisco MDS 9124Особо сильно с тех пор не изменилось (стабильность, залог успеха). Но некоторые мелочи не хочется забыть.
Итак коммутатор Cisco Nexus 5672UP - это конвергентный коммутатор, который умеет и в Ethernet и в Fibre channel.
Вырос он именно из FC свичей, а не из каталистов. NX-OS это наследница SAN OS, а не IOS. Поэтому многие наработки командной строки тут не подойдут. Так-же в наличии скотская политика раздельного лицензирования всего что только можно. Да и сама структура конфига, на мой взгляд, несколько сумбурная. Но что есть, то есть.
Итак. У нашего коммутатора в наличии есть 24 Ethernet порта 10Gb/s , 24 унифицированных порта (Eth и FC) и 6 портов Ethernet 40Gb/s.
Наша задача соединить сервер и хранилку. У сервера два FC порта. У хранилки - четыре (по два на контроллер). Классический дизайн предполагает использование двух независимых коммутаторов. Поэтому сделаем на каждом коммутаторе по одному порту от сервера и по два от хралилки (по одному с каждого контроллера) на коммутатор.
Первым делом надо включить FC
feature fcoe
feature npiv
feature npv
feature fport-channel-trunk
feature fabric access
Некоторые фишки возможно нам сейчас не пригодятся. Но надо помнить, что активация некоторых из них в дальнейшем потребует перезагрузки свича. А вы можете себе предстваить, сколько времени займет согласование простоя. Коллега ждал четыре месяца доступного окна и это не предел :)
Теперь надо выбрать сколько портов из унифицированных вы хотите превратить в FC. Выбор есть из трёх вариантов. Все, половина или нисколько.
Я решил сделать 12 портов.
slot 2
port 13-24 type fc
Кстати, эта процедура тоже тянет за собой необходимость перезагрузки железки. Поэтому планируем всё заранее. Иначе потом возможности реконфигурации придётся ждать ОООЧЕНЬ долго.
Немного теории (вовремя правда?) про терминологию в FC сетях.
E-port (expansion). Подсоединяется к другому Е-порту для создания межкоммутаторного линка (Inter-Switch Link, ISL). Е-порты переносят фреймы, которые предназначаются конечным серверам. По сути, это аналог 802.1Q в LAN сетях.
F-port (fabric). Подсоединяется к периферийному устройству (серверу или диску). Аналог access-порта.
N-port (node). Порт на сервере (дисковом устройстве), подсоединяется к F-порту.
Точно также, как в классических IP-сетях используются МАС и IP-адреса, в FC предусмотрена своя адресация. У каждого порта есть свой World Wide Name (WWN), который покупается производителем у IEEE.
WWN’ы бывают двух типов:
Node WWN (nWWN). Уникально идентифицирует устройство. Каждая FC сетевая плата, коммутатор, шлюз и FC диск имеют по одному уникальному nWWN.
Port WWN (pWWN). Идентифицирует конкретный порт на устройстве. Т.е. двойной HBA (Host Bus Adapter) имеет три WWN: один nWWN и два pWWN.
Помимо встроенных аппаратных адресов у устройств есть логический адрес - FC Identificator (FCID). Это 3-ех байтный адрес, который назначается устройству фабрикой (!). Адрес состоит из трех частей:
Domain ID. У каждого коммутатора DID свой и является уникальным в фабрике. Area ID. Характеризует группу портов внутри логической зоны. Port ID.
Virtual SAN (VSAN) - дополнительный логический уровень абстракции, который позволяет создавать виртуальные SAN поверх реальных. Рекомендуется думать о VSAN как о классических VLAN. VSAN обладает индивидуальным адресным пространством и позволяет использовать те же FCID представляет собой одновременно в разных VSAN.Но что-то мы ушли от темы.
Ближе к практике.
Создадим VSAN
vsan database
vsan 10 name "PROD"
После этого в настройках портов указываем тип (этого можно делать, но я не всегда склонен полагаться на автоматику)
interface fc2/17
switchport mode F
interface fc2/19
switchport mode F
interface fc2/20
switchport mode F
Запихиваем порты в VSAN
vsan database
vsan 10 interface fc2/17
vsan 10 interface fc2/19
vsan 10 interface fc2/20
Когда потом будете смотреть в конфиг не удивляйтесь что блоков vsan database будет два. В одном показывают VASN-ы, в другом привязку портов к ним. Циска - нинада_так!!!
Добавим к портам описание и включим их. Добавлять дискрипшены очень полезно. Потому что потом запутаться очень легко. Да и сиситемы мониторинга потом вытаскивают названия портов.
Кстати, блоков с настройками FC портов в конфиге тоже два. Не пытайтесь понять эту логику.
interface fc2/17
switchport description FC2/17 -==SERVER
no shutdown
interface fc2/19
switchport description FC2/19 -==UNITY A
no shutdown
interface fc2/20
switchport description FC2/20 -==UNITY B
no shutdownСмотрим состояние портов
show interface fc2/17, fc 2/19-20
fc2/17 is up
Port description is FC2/17 -==SERVER
Port mode is F, FCID is 0x760000
Port vsan is 10
Speed is 8 Gbps
fc2/19 is up
Port description is FC2/19 -==UNITY A
Port mode is F, FCID is 0x760020
Port vsan is 10
Speed is 16 Gbps
fc2/20 is up
Port description is FC2/20 -==UNITY B
Port mode is F, FCID is 0x760040
Port vsan is 10
Speed is 16 Gbps
Видим что порты поднялись, видим их тип, VSAN и скорость.
Убедимся что произошел FLOGI (процесс подключения конечных устройств к фабрике).
show flogi database
INTERFACE VSAN FCID PORT NAME NODE NAME
--------------------------------------------------------------------------------
fc2/17 10 0x760000 10:00:00:10:9b:5d:31:f0 20:00:00:10:9b:5d:31:f0
fc2/19 10 0x760020 50:06:01:61:48:a0:17:8c 50:06:01:60:c8:a0:17:8c
fc2/20 10 0x760040 50:06:01:69:48:a0:17:8c 50:06:01:60:c8:a0:17:8c
так-же есть ещё две команды показывающие подробности происходящего внутри.
show fcs database и show fcns database
По идее на этом всё. НО. Все подключенные устройства в коммутатор во VSAN 10 будут видеть друг друга. А это не нужно, ибо вероятность подключить не тот LUN не в тот сервер ненулевая. На помощ приходит зонирование. Это что то вроде приватного влана в Ethernet.
Их можно делать на основе разных паратметров, но лучшая практика - использовать PWWN. А что-бы не лепить везде эти длинные PWWN, есть возможность создать для них алиесы.
device-alias database
device-alias name UNITY-A pwwn 50:06:01:61:48:a0:17:8c
device-alias name UNITY-B pwwn 50:06:01:69:48:a0:17:8c
device-alias name SRV pwwn 10:00:00:10:9b:5d:31:f0device-alias commitСоздаём зону с тремя нашими устройствами
zone mode enhanced vsan 10
zone name ZN-SRV-UNITY-A-B vsan 10
member device-alias UNITY-A
member device-alias UNITY-A
member device-alias SRV
После этого заносим нашу зону в общую базу зон.
zoneset name ZN-NEXUS-U vsan 10
member ZN-SRV-UNITY-A-B
Активируем зону и применяем её настройки
zoneset activate name ZN-NEXUS-U vsan 10zone commit vsan 10
В конфиге почему-то настройка зонсета тоже отображается два раза. Наслаждайтесь.
Посмотреть состояние зоны и всего зонсета можно командами
show zone
show zone status
show zoneset
zoneset name ZN-NEXUS-U vsan 10
zone name ZN-SRV-UNITY-A-B vsan 10
pwwn 50:06:01:61:48:a0:17:8c [UNITY-A]
pwwn 50:06:01:69:48:a0:17:8c [UNITY-B]
pwwn 10:00:00:10:9b:5d:31:f0 [SRV]
Теперь можно настраивать хранилку и сервер. Но это уже совсем другая история :)
PS: Забыл сказать. Рекомендую к настройке следующий макрос.
cli alias name wr copy running-config startup-config