antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 27 Март , 2014

В этой статье я постараюсь рассказать Вам о том, без чего невозможен Fibre Channel. Речь пойдет о технологии, которая получила название Zoning.

По сути Zoning представляет собой некоторую аналогию по сравнению с ACL в IP сетях. Основное отличие состоит в том, что в IP списки доступа применяются и настраиваются администратором по желанию, а Zoning является обязательной FC службой.

Основные постулаты:

  • Зона состоит из нескольких членов (zone members)
    • Все мемберы, которые относятся к одной зоне, могут общаться между собой (им разрешено сетевой взаимодействие)
    • Если zoning не активирован администратором в ручную, то все члены относят к зоне по-умолчанию (default zone)
    • Сама зона, если проводить аналогии, представляет собой Access List Entry (строчку списка доступа)
    • Зоны объединяются в зоновый набор (Zone Set)
    • Зоновый набор состоит из одной или более зон
      • Работает отдельно на каждую VSAN
      • В одной VSAN’е может быть только один активный Zone Set (аналогия с IP: вы можете применить только один ACL на интерфейс в in/out направлении)
      • В противовес ACL, зоновый набор не имеет направления применения. Он действует целиком на VSAN (эдакая логика VACL).
      • Всего можно настроить 500 зоновых наборов
      • Настраивать Zoning можно с любого коммутатора в фабрике. Все политики синхронизируются между устройствами.
      • Конечные хосты помещаются в зону чаще всего на основе своего pWWN (реже на основе FCID).
      • Различают активные зоны и полные зоны (Active Zone и Full Zone)
        • Full zone – по сути это зона, которую вы конфигурируете. После введения необходимых команд через cli, зона создается, но не распространяет свое действие на фабрику. Чтобы правила применились, зону необходимо активировать.

Конфигурация

Для более наглядного понимания, рассмотрим технологию на примере.

1. TOpology

Согласно рисунку, VSAN A = VSAN 27, VSAN B = VSAN 28.

Сначала просмотрим базу данных фабрики

POD2-MDS9222(config-if)# sh fcns data
VSAN 27:
--------------------------------------------------------------------------
FCID        TYPE  PWWN                    (VENDOR)        FC4-TYPE:FEATURE
--------------------------------------------------------------------------
0x3400e8    NL    c6:82:00:11:0d:08:fa:ce                 scsi-fcp:target
0x3400ef    NL    c6:82:00:11:0d:01:01:08                 scsi-fcp:target
0x340100    N     21:01:00:e0:8b:2a:ef:54 (Qlogic)        scsi-fcp:init

Total number of entries = 3

VSAN 28:
--------------------------------------------------------------------------
FCID        TYPE  PWWN                    (VENDOR)        FC4-TYPE:FEATURE
--------------------------------------------------------------------------
0xb00000    N     21:00:00:e0:8b:0a:ef:54 (Qlogic)        scsi-fcp:init
0xb100e8    NL    c6:83:00:11:0d:18:fa:ce                 scsi-fcp:target
0xb100ef    NL    c6:83:00:11:0d:02:01:08                 scsi-fcp:target

Total number of entries = 3

Сначала убедимся на сервере Win2008, что нам не доступны удаленные диски в Storage-массиве.

2. No disks Default

Почему так происходит, ведь вроде FC связность настроена нормально (об этом свидетельствует FCNS)? Вспомните что я говорил по поводу зон: они обязательны, а не опциональны! Значит, есть дефолтная политика. Посмотрим ее для VSAN27

POD2-MDS9222(config-if)# show zone status vsan 27
VSAN: 27 default-zone: deny distribute: active only Interop: default
    mode: basic merge-control: allow
    session: none
    hard-zoning: enabled broadcast: disabled
    smart-zoning: disabled
Default zone:
    qos: none broadcast: disabled ronly: disabled
Full Zoning Database :
    DB size: 4 bytes
    Zonesets:0  Zones:0 Aliases: 0
Active Zoning Database :
    Database Not Available
Status:

Как видим, default-zone: deny говорит нам о том, что по-умолчанию, любые взаимодействия запрещены. Самым простым способом дать доступ серверу к дискам, является изменение политики на permit. Для этого есть команда zone default-zone permit vsan 27,28

3. All disks default policy

POD2-MDS9222(config)# show zone status vsan 27
VSAN: 27 default-zone: permit distribute: active only Interop: default
    mode: basic merge-control: allow
    session: none
    hard-zoning: enabled broadcast: disabled
    smart-zoning: disabled
Default zone:
    qos: none broadcast: disabled ronly: disabled
Full Zoning Database :
    DB size: 4 bytes
    Zonesets:0  Zones:0 Aliases: 0
Active Zoning Database :
    Database Not Available
Status: Default zoning policy changed to permit at 10:18:52 UTC Mar 27 2014

Однако, такой путь не является безопасным, т.к. мы не можем контролировать кто и куда имеет доступ. Посмотрим как можно настраивать Zoning. Если вы работаете через CLI, то необходимо с помощью каких-либо средств собрать соответствие pWWN/физ. Устройство. Для моего случая я привожу табличку

Устройство

pWWN

ARRAY_PORT_1_DISK_1

c6:82:00:11:0d:08:fa:ce

ARRAY_PORT_1_DISK_2

c6:82:00:11:0d:01:01:08

ARRAY_PORT_2_DISK_1

c6:83:00:11:0d:18:fa:ce

ARRAY_PORT_2_DISK_2

c6:83:00:11:0d:02:01:08

WIN2K8_PORT1

21:01:00:e0:8b:2a:ef:54

WIN2K8_PORT2

21:00:00:e0:8b:0a:ef:54

 

Разрешим серверу доступ на 1ый диск хранилища. Для этого создадим две зоны (для vsan 27 и vsan 28)

POD2-MDS9222(config)# zone name WIN2K8_PORT1_TO_ARRAY_PORT_1_DISK_1 vsan 27
POD2-MDS9222(config-zone)# member pwwn 21:01:00:e0:8b:2a:ef:54
POD2-MDS9222(config-zone)# member pwwn c6:82:00:11:0d:08:fa:ce
POD2-MDS9222(config-zone)# zone name WIN2K8_PORT2_TO_ARRAY_PORT_2_DISK_1 vsan 28
POD2-MDS9222(config-zone)# member pwwn 21:00:00:e0:8b:0a:ef:54
POD2-MDS9222(config-zone)# member pwwn c6:83:00:11:0d:18:fa:ce
Далее создаем зоновый набор для каждой VSAN’ы
POD2-MDS9222(config)# zoneset name ZS_VSAN27 vsan 27
POD2-MDS9222(config-zoneset)# member WIN2K8_PORT1_TO_ARRAY_PORT_1_DISK_1
POD2-MDS9222(config-zoneset)# zoneset name ZS_VSAN28 vsan 28
POD2-MDS9222(config-zoneset)# member WIN2K8_PORT2_TO_ARRAY_PORT_2_DISK_1
Убедимся, что пока зоны не имеют силы в фабрике
POD2-MDS9222(config)# show zoneset active vsan 27
Zoneset not present

Следующим шагом проводим активацию

POD2-MDS9222(config)# zoneset activate name ZS_VSAN27 vsan 27
POD2-MDS9222(config)# zoneset activate name ZS_VSAN28 vsan 28
POD2-MDS9222(config)# show zoneset active vsan 28
zoneset name ZS_VSAN28 vsan 28
  zone name WIN2K8_PORT2_TO_ARRAY_PORT_2_DISK_1 vsan 28
  * fcid 0xb00000 [pwwn 21:00:00:e0:8b:0a:ef:54]
  * fcid 0xb100e8 [pwwn c6:83:00:11:0d:18:fa:ce]

Проверим синхронизацию зон на 2ом коммутаторе

POD2-MDS9148(config)# show zoneset active vsan 28
zoneset name ZS_VSAN28 vsan 28
  zone name WIN2K8_PORT2_TO_ARRAY_PORT_2_DISK_1 vsan 28
  * fcid 0xb00000 [pwwn 21:00:00:e0:8b:0a:ef:54]
  * fcid 0xb100e8 [pwwn c6:83:00:11:0d:18:fa:ce]

4. One disk

Вот вроде и всё. Все хорошо, компьютер имеет доступ к одному диску, как и планировалось. Однако, при таком методе настройки, есть несколько больших но:

POD2-MDS9148(config)# show run zone
!Command: show running-config zone
!Time: Thu Mar 27 11:15:51 2014
version 5.2(6)

На 2ом коммутаторе нет Full Zone! Что будет, если на нем создать зоновый набор для vsan 28?

POD2-MDS9148(config)# zone name ZONE_TEST vsan 28
POD2-MDS9148(config-zone)# member pwwn 21:00:00:e0:8b:0a:ef:54
POD2-MDS9148(config)# zoneset name VSAN28 vsan 28
POD2-MDS9148(config-zoneset)# member ZONE_TEST
POD2-MDS9148(config)# zoneset activate name VSAN28 vsan 28
POD2-MDS9222(config)# show zone status vsan 28
VSAN: 28 default-zone: deny distribute: active only Interop: default
    mode: basic merge-control: allow
    session: none
    hard-zoning: enabled broadcast: disabled
    smart-zoning: disabled
Default zone:
    qos: none broadcast: disabled ronly: disabled
Full Zoning Database :
    DB size: 172 bytes
    Zonesets:1  Zones:1 Aliases: 0
Active Zoning Database :
    DB size: 52 bytes
    Name: VSAN28  Zonesets:1  Zones:1

Т.е. видим, что на коммутаторах стал активным совершенно левый zoneset! Т.е. одним неловким движением можно положить всю фабрику.

Конечно, ситуация немножко надуманная: чаще всего в компаниях правила именования объектов стандартизированы. Но даже в таком случае можно получить неприятность: предположим, что зона активна на 2ух коммутаторах, но Full zoneset ZS_VSAN28 находится только на 1ом. Если администратор, хочет как-то поправить этот зоновый набор и при этом, он находится на коммутаторе, где Full Zoneset отсутствует, то … В общем вы поняли что будет дальше J  Политики зон на всех коммутаторах фабрики затрутся на то правило, которое сейчас напишет админ (т.е. они не сольются воедино).

Чтобы таких недоразумений не происходило, рекомендую

  • Включить распространение full zone между свитчами. Сделать это можно командой zoneset distribute full vsan <VSAN NUMBER>
  • Перейти из basic zone (режим, который мы рассмотрели только что) к расширенному. Делается это командой zone mode enhanced vsan <VSAN NUMBER>

После того, как зона переведена в расширенный режим, создадим новую зону для VSAN26:

POD2-MDS9222(config)# zone name ZONE26 vsan 26
Enhanced zone session has been created. Please 'commit' the changes when done

Если попытаться создать зону на другом коммутаторе в этот момент, то можно увидеть примерно следующее:

POD2-MDS9148(config)# zone name ZONA-1 vsan 26
Lock is currently busy

Завершим процедуру создания зоны на первоначальном коммутаторе.

POD2-MDS9222(config)# zone commit vsan 26
Commit operation initiated. Check zone status

И посмотрим, что изменилось на втором:

POD2-MDS9148(config-if)# sh run zone
zone name ZONE26 vsan 26
member pwwn c6:82:00:11:0d:08:fa:cd

В заключение хочу сказать, что работать с зонами проще через графический интерфейс Cisco Prime Data Center Network Manager (DCNM), нежели через CLI.

 

 

Метки: , ,
Опубликовано: Data Center , Unified Fabric

 

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

Вы должны войти чтобы прокомментировать.