Часть 5: Зонинг
Зонирование контролирует доступ одного устройства к другому, разделяя устройства по зонам. Что по функции схоже с понятием VLAN в Ethernet свитчах или ACL (т.к. зонирование осуществляется на базе списков доступа).
Зонирование предназначено для разграничения потоков ввода-вывода в SAN сетях.
Типы зонирования:
Port zoning — зонирование на основе портов. Это зонирование на базе портов, т.е. физические порты коммутатора распределяются между разными зонами, например, задается такое правило: только устройства, подключенные к порту 1 коммутатора 1 могут разговаривать с устройствами на порте 2 коммутатора 3. Все современные коммутаторы поддерживают аппаратную реализацию зонирования. Для того чтобы попасть в зону, достаточно включить порт на коммутаторе, отнесенный к этой зоне.
WWN zoning — зонирование на основе WWN. Зонирование на базе WWN, которое ограничивает доступ по его WWN вместо идентификатора порта. Устройство с определенным WWN будет отнесено в определенную зону, вне зависимости от того, в какой порт оно будет включено.
Soft zoning — при этом виде зонирования устройства внутри зоны видят друг друга, но если какое-либо устройство вне зоны захочет обратиться к устройству внутри зоны, ему ничего мешать не будет, достаточно знать WWN устройства в зоне. Используется при WWN zoning.
Hard zoning — Фактически, это полная противоположность предыдущему типу. Никто вне зоны не может получить доступ к данным. Используется при port zoning.
В заключение, хост просит сервер доменных имен переслать список новых устройств FCP, которые он может видеть в сети fabric. И именно здесь включается зонирование. Сервер доменных имен пересылает список только тех FCP устройств, которые находятся в той же зоне (или в общей зоне). Иными словами, сервер может видеть только те устройства, которые ему разрешено видеть.
При создании зонинга в вашей SAN сети, есть 3 важные рекомендации:
- Один инициатор, множество таргетов. Допустим у вас есть 5 серверов, каждый из которых имеет в фабрике 2 порта и есть 5 массивов. Соответственно у вас должно быть 10 зон. Первый порт сервера 1 — порты массивов. Второй порт сервера 1 — порты массивов и тд. Это наиболее безопасный подход к зонированию и при этом зоны у вас минимального размера, но самое главное — изолируется трафик от инициаторов, т.к. при логине устройства в SAN-сеть, инициатор начинает опрашивать доступные ему в зоне устройства, это может негативно влиять на производительность в случае использования нескольких инициаторов.
- Использовать WWN-зонинг, а не Port-based. Чтобы в зоне участвовали WWN устройств, а не портов.
- Использовать в WWN-зонинге алиасы, а не WWN устройств.
И так, мы следуем рекомендации и будем осуществлять зонинг на базе WWN устройств и использовать их алиасы, первая команда, которая нам будет интересна — alicreate. Она позволяет задать понятное человеку имя для WWN устройства. Синтаксис крайне прост:
switch:admin> alicreate «имя_устройства», «wwn устройства»
Просмотреть все алиасы в фабрике можно командой
switch:admin> alishow *
alias: ESXi01_3
50:01:43:80:09:ad:fe:8d
alias: ESXi01_4
50:01:43:80:09:ad:fe:8f
alias: ESXi02_3
50:01:43:80:09:ae:02:e9
alias: ESXi02_4
50:01:43:80:09:ae:02:eb
alias: fas2650_1
20:00:00:a0:98:b0:d8:0f
alias: fas2650_2
20:02:00:a0:98:b0:d8:0f
Удалить алиас так же просто
switch:admin> alidelete «имя_устройства»
Удалить WWN из алиаса
switch:admin> aliremove «имя_устройства», «wwn устройства»
Соответственно далее всё крайне просто — зона, это набор алиасов наших устройств.
switch:admin> zonecreate «имя_зоны» , «алиас_порта_1_сервера;алиас_порта_1_СХД;алиас_порта_2_СХД»
Зоны вы создаёте в зависимости от выбранной вами схемы зонирования. В моём примере будет «Один инициатор, один таргет»
switch:admin> zoneshow *
zone: ESXi01_3_DS4700
DS4700_A2; DS4700_B2; ESXi01_3
zone: ESXi01_3_FAS2650
ESXi01_3; fas2650_1; fas2650_2
zone: ESXi01_3_FAS8200
ESXi01_3; fas8200_1_0e; fas8200_2_0e
zone: ESXi01_4_DS4700
ESXi01_4; DS4700_A2; DS4700_B2
zone: ESXi01_4_FAS2650
ESXi01_4; fas2650_1; fas2650_2
zone: ESXi01_4_FAS8200
ESXi01_4; fas8200_1_0e; fas8200_2_0e
zone: ESXi02_3_DS4700
DS4700_A2; DS4700_B2; ESXi02_3
zone: ESXi02_3_FAS2650
ESXi02_3; fas2650_1; fas2650_2
zone: ESXi02_3_FAS8200
ESXi02_3; fas8200_1_0e; fas8200_2_0e
zone: ESXi02_4_DS4700
ESXi02_4; DS4700_A2; DS4700_B2
zone: ESXi02_4_FAS2650
ESXi02_4; fas2650_1; fas2650_2
zone: ESXi02_4_FAS8200
ESXi02_4; fas8200_1_0e; fas8200_2_0e
Удалить зону
switch:admin> zonedelete «имя_зоны»
Добавить алиас в существующую зону
switch:admin> zoneadd «имя_зоны», «алиас»
Удалить алиас из зоны
switch:admin> zoneremove «имя_зоны», «алиас»
В каком порядке вы укажете асиасы устройств — не имеет значения.
Конечно же алиасы и зоны можно создавать не только из консоли, но и из WebTools и Brocade Network Advisor, но эти варианты можно порекомендовать разве что только для новичков — они более наглядны, особенно если вы не очень привыкли работать в консоле, но они и менее удобны на мой взгляд. Вот представим, что в нашу уже имеющуюся инфраструктуру мы добавляем какое-то устройство и нам нужно создать для него несколько зон. Конечно из консоли это делать проще, при том что команды достаточно однотипные и меняются лишь алиасы в зонах (в следующей статье я планирую как раз рассказать о том, как эти операции можно и нужно автоматизировать).
Делается это в разделе Configure — Zone admin
Конфигурирование алиасов
Обратите внимание на WWNы, отображается как WWN самого устройства, так и его конкретного порта (устройства, не коммутатора, в который оно подключено).
Конфигурирование зон
Собственно добавление/удаление алиаса из зоны осуществляется просто переносом из одного окна в другое.
После создания алиасов и зон, следующим шагом идёт включение зон в актуальную конфигурацию (ну или другую конфигурацию), для её дальнейшего применения и работоспособности. Через WebTools это выглядит аналогично алиасам и зонингу
а через консоль
switch:admin> cfgshow «имя_конфигурации»
Имя использующегося конфига можно узнать при помощи команды switchshow
switch:admin> switchshow
switchName: IBM_2498_24G_FSW1
switchType: 118.1
switchState: Online
switchMode: Native
switchRole: Subordinate
switchDomain: 11
switchId: fffc0b
switchWwn: 10:00:00:27:f8:de:cc:f8
zoning: ON (MAIN)
switchBeacon: OFF
HIF Mode: OFF
Добавление зоны в конфигурацию из консоли осуществляется следующим образом
switch:admin> cfgadd «имя_конфигурации», «имя_зоны»
Если необходимо указать несколько зон, то они перечисляются через ;
Удаление зоны из конфига происходит аналогично
switch:admin> cfgremove «имя_конфигурации», «имя_зоны»
Удаление конфига
switch:admin> cfgdelete «имя_конфигурации»
Главное при работе с зонами и конфигами не путать Delete и Remove! Delete — удаляет сущность, Remove — удаляет из сущности.
Последнее, что остаётся нам после работы с конфигом — сохранить его. Сохраняется текущая конфигурация, все те изменения, что мы внесли.
switch:admin> cfgsave
И собственно применение данной конфигурации к фабрике
switch:admin> cfgenable «имя_конфигурации»
Соответственно через WebTools это делается при помощи кнопок Save и Enable
И да, вы можете применить ваши изменения в зонинге, которые вы произвели без сохранения, соответственно они будут работать до перезапуска коммутатора, пока тот не загрузит из флеша сохранённую конфигурацию.
Traffic Isolation Zoning
Есть ещё один тип зонинга, поддерживаемый коммутаторами Brocade — Traffic Isolation Zoning (TI zone), который позволяет изолировать трафик для N_Ports и E_Ports в межкоммутаторных соединениях. Может применятся в различных сценариях:
Высокий приоритет для трафика между конкретным источником и целью
Для понижения влияния на сеть трафика с низким приоритетом
При активации Traffic Isolation Zoning, фабрика пытается изолировать межкоммутаторный трафик пришедший с члена такой зоны (N_Ports) для E_Ports, входящего в эту же зону.
Как к я уже говорил, классический «single initiator zoning» не очень удобен с точки зрения администрирования по причине необходимости создания большого кол-ва зон. По этой причине, комитетом, который занимается развитием Fibre Channel, был разработан новый тип зон — Peer Zoning. Peer Zoning строится не по схеме инициатор — таргет, а наоборот. Peer-зона включает порт массива и инициаторы (порты серверов), но умный механизм зонирования не позволяет инициаторам общаться друг с другом, даже при том, что они находятся в одной зоне, они могут общаться только с портом массива. Это существенно позволяет сократить необходимое количество зон в фабрике. Так же есть расширение технологии Peer Zoning — Target Driven Peer Zoning (TDPZ), которое позволяет устройствам самостоятельно создавать зоны и управлять ими. Т.е. зоны может создавать сам дисковый массив для хостов, которые на нём добавлены.
Когда ждать от вас новых статей из цикла?
Спасибо за интерес. Планирую продолжить в ближайшее время, навалилось слишком много дел, банально не успеваю 🙁 Но не забил!!!
Здравствуйте!
Возможно я что-то не понял, а почему на скриншоте «Создание алиасов через GUI» Вы добавляете NWWN а не PWWN?
Скажите, а почему на скриншоте про alias Вы добавили NWWN а не PWWN
В данном случае — этот скрипшот не несёт смысловой нагрузки. Задача стояла показать, как добавлять wwn в конфигурацию. На самом деле просто данный скриншот пришлось переделывать и когда переделывал — в спешке ткнул куда попало 🙂 В первой версии вышел косяк и не отображались кнопки добавления/удаления (как на следующем скриншоте «Конфигурирование зон»).
А) просто на мой взгляд это важно. Многие кто пробует первый раз будут повторять именно то что на картинках.
Не склонен в общем то с вами согласится 🙂 Что лучше использовать — nWWN или pWWN — это тема большого спора. И у того и у другого есть и плюсы и минусы.
>кто пробует первый раз
Надеюсь они всё-таки это будут делать не на продуктивной среде, а на тестовом стенде 🙂
И еще — про Peer Zoning — что он был не во всех версиях FOS насколько я знаю, кто то может не обнаружить у себя такого фунционала.
Only switches with FOSv7.4.0/+ will enforce peer zoning rules. Switches with older FOS versions will treat the peer zones as regular zones
А что используте Вы когда создаете зоны — nWWN или pWWN ? Поделитесь опытом пожалуйста)
Я сам предпочитаю использовать pWWN, в компании у нас так же принято использовать pWWN, это более гибко и удобно в плане масштабирования. Особенно когда дело касается виртуазиции одних СХД другими или необходимо разграничить хождение трафика по портам.