Pull to refresh

interop mode и IVR на Cisco MDS

Reading time 8 min
Views 11K
Позвольте поделиться небольшим опытом в контексте SAN.

Дано:

В одной неизвестной организации есть серверная, в которой была внедрена и успешно функционирует SAN сеть. В сети две фабрики, в каждой фабрике было по коммутатору HP AM869A 8/40. Как оказалось, эти коммутаторы представляют собой сорока портовые SAN коммутаторы Brocade 5100, под управлением Fabric OS. К этим фабрикам подключено несколько десятков серверов и пару Систем хранения данных. Без подробностей выглядит всё это следующим образом… страшненько:

image

Как видите, кроме счастливых серверов которые подключены одновременно к обоим фабрикам, есть сервера подключённые к SAN сети не надёжным образом, только одним линком к одному из свичей. Увы, что есть — то есть.
Организация развивалась и организовала себе ещё одну серверную в соседнем здании. В новой серверной было серверов немного больше и систем хранения данных намного больше. В качестве свичей используются Cisco MDS 9148, к которым подключены I/O модули Dell M8428-k в режиме AG(эти модули установлены на блейд корзинах Dell M1000 ). Так же к свичам MDS подключены рэковые сервера и системы хранения данных Hitachi VSP. Небольшой эскиз SAN сети новой серверной:

image

Задача

Задача была поставлена чётко. Необходимо мигрировать ряд сервисов со старой серверной в новую. Сервисы запущены на виртуальных машинах. В обоих серверных используется платформа виртуализации VMware vSphere. Основными этапами подготовки инфраструктуры к миграции в нашем случае являлись:

  1. Объединение сети передачи данных, дабы подключить хосты старой серверной с которых будут съезжать сервисы к vCenter Server в новой серверной для возможности vMotion.
  2. Объединение SAN сети, чтобы выбранные хосты старой и новой серверных имели общий сторедж и можно было выполнить storage vMotion.

Что же необходимо сделать, чтобы объединить наши фабрики старой и новой серверных?
Думаю, сначала нарисовать, то что мы хотим получить:

image

В новой серверной, при настройке зоннинга, на обоих фабриках использовалась VSAN 1. Для того чтобы все манипуляции при подключении фабрик к MDS свичам не были диструптивны, создана VSAN 2, которая и будет работаь в Interop mode со свичем HP. Далее будем говорить об объединении фабрики (MDS #2 — #4) и фабрики (HP AM869A 8/40 №1). Объединение других двух фабрик будет выполняться по аналогии.

Подготовка и настройка interop mode

Большинство операций необходимо выполнять на коммутаторе Cisco MDS 9148 #4.

  1. Для начала создадим резервную копию конфигурации MDS #4:
    mds4# copy running-config ftp:
    Enter destination filename: [mds4-running-config] 
    Enter hostname for the ftp server: 192.168.200.252
    Enter username: admin
    
    Please log in with USER and PASS first.
    Password: 
    Copy complete, now saving to disk (please wait)...
    mds4# 
    

  2. Создадим резервную копию конфигурации коммутатора HP №1:
    configupload -all -p ftp 192.168.200.252,ftp_user,,password
    

  3. Далее необходимо проверить, что версии NX-OS и Fabric OS совместимы, эту информацию можно узнать в документации, а посмотреть версию ОС на MDS можно следующей командой:

    mds4# sh ver
    Cisco Nexus Operating System (NX-OS) Software
    TAC support: http://www.cisco.com/tac
    Documents: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.html
    Copyright (c) 2002-2013, Cisco Systems, Inc. All rights reserved.
    The copyrights to certain works contained herein are owned by
    other third parties and are used and distributed under license.
    Some parts of this software are covered under the GNU Public
    License. A copy of the license is available at
    http://www.gnu.org/licenses/gpl.html.
    
    Software
      BIOS:      version 1.0.19
      loader:    version N/A
      kickstart: version 5.2(8b)
     <u> system:    version 5.2(8b)</u>
      BIOS compile time:       02/01/10
      kickstart image file is: bootflash:///m9100-s3ek9-kickstart-mz.5.2.8b.bin
      kickstart compile time:  12/25/2020 12:00:00 [07/03/2013 10:16:59]
      system image file is:    bootflash:///m9100-s3ek9-mz.5.2.8b.bin
      system compile time:     6/5/2013 15:00:00 [07/03/2013 10:48:15]
    
    
    Hardware
      cisco MDS 9148 FC (1 Slot) Chassis ("1/2/4/8 Gbps FC/Supervisor-3")
      Motorola, e500v2  with 1036300 kB of memory.
      Processor Board ID JAF1649ATAG
    
      Device name: mds4
      bootflash:    1000944 kB
    Kernel uptime is 11 day(s), 20 hour(s), 5 minute(s), 5 second(s)
    
    Last reset at 100354 usecs after  Tue Sep 17 07:16:43 2013
    
      Reason: Reset due to upgrade
      System version: 5.0(1a)
      Service: 
    mds4#
    


  4. На HP:
    FC-Switch1:FID128:admin> version
    Kernel:     2.6.14.2
    <u>Fabric OS:  v6.3.1a</u>
    Made on:    Fri Feb 26 18:38:50 2010
    Flash:      Tue Dec 7 06:31:48 2010
    BootProm:   1.0.9
    


  5. Теперь не поленится и почитать release notes для наших версий прошивок. Вы можете прочесть на сайте производителя, что cisco MDS 9148 поддерживает IVR, но к сожалению в NX-OS 5.0(1a) именно на нашей платформе IVR включить не получится. И по этому придётся обновиться на последнюю стабильную версию NX-OS, например 5.2(8b). И поможет обновиться команда:
    mds4# install all kickstart bootflash:///m9100-s3ek9-kickstart-mz.5.2.8b.bin system bootflash:///m9100-s3ek9-mz.5.2.8b.bin
    

  6. После обновления убедится, что у нас есть лицензия которая включает IVR. В нашем случае это Enterprise license:
    mds4# sh license usage 
    Feature                      Ins  Lic   Status Expiry Date Comments
                                     Count
    --------------------------------------------------------------------------------
    FM_SERVER_PKG                 No    -   Unused             -
    ENTERPRISE_PKG                Yes   -   In use 13 Oct 2014 -
    PORT_ACTIVATION_PKG           Yes  32   In use never       -
    --------------------------------------------------------------------------------
    

  7. Отлично, MDS коммутатор готов к настройке. Для начала выключим интерфейсы, которые физически подключают MDS #4 к HP №1:
    mds4# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    mds4(config)# int fc 1/3-4
    mds4(config-if)# shutdown
    mds4(config)#
    

  8. Далее создадим VSAN 2, добавим наши интерфейсы к этой VSAN и включим interop mode 3:
    mds4(config)# 
    mds4(config)# vsan database 
    mds4(config-vsan-db)# vsan 2
    mds4(config-vsan-db)# vsan 2 interface fc 1/3 – 4
    mds4(config-vsan-db)# vsan 2 interop 3
    

  9. Так же минимум необходимо выключить Brocades Per VC Flow Control на коммутаторе HP, так как его не поддерживает cisco MDS и ISL не перейдут в состояние UP и вы будете видеть следующие события:
    2013 Sep 26 08:24:57 mds4 %PORT-5-IF_DOWN_ELP_FAILURE_ISOLATION_UNKNOWN_FLOW_CTL_PARAM: %$VSAN 2%$ Interface fc1/4 is down (Isolation due to ELP failure: invalid flow control param)   
    2013 Sep 26 08:24:57 mds4 %PORT-5-IF_DOWN_ELP_FAILURE_ISOLATION_UNKNOWN_FLOW_CTL_PARAM: %$VSAN 2%$ Interface fc1/3 is down (Isolation due to ELP failure: invalid flow control param)   
    

  10. Выключаем Per VC Flow Control на коммутаторе HP (порты 21-22):
    portcfgislmode 21,1
    portcfgislmode 22,1
    

  11. Всё, порты можно включать и через минутку уже проверять что, они в состоянии UP.
    FC-Switch1:FID128:admin> switchshow
    switchName:     FC-Switch1
    switchType:     66.1
    switchState:    Online
    switchMode:     Native
    switchRole:     Subordinate
    switchDomain:   1
    switchId:       fffc01
    switchWwn:      10:00:00:05:33:49:40:e4
    zoning:         ON (DC_ZONESET)
    switchBeacon:   OFF
    FC Router:      OFF
    Allow XISL Use: OFF
    LS Attributes:  [FID: 128, Base Switch: No, Default Switch: Yes, Address Mode 0]
    
    Index Port Address Media Speed State     Proto
    ==============================================
      0   0   010f00   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c5:fc
      1   1   010d00   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c6:0d
      2   2   010b00   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c6:09
      3   3   010900   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c5:f8
      4   4   010e00   id    N8   No_Light    FC  Disabled (Persistent)
      5   5   010c00   id    N8   No_Light    FC  Disabled (Persistent)
      6   6   010a00   id    N4   Online      FC  F-Port  10:00:00:05:33:26:d8:77
      7   7   010800   id    N4   Online      FC  F-Port  10:00:00:05:33:48:00:56
      8   8   010700   id    N4   Online      FC  F-Port  10:00:00:05:1e:fa:fb:eb
      9   9   010500   id    N4   Online      FC  F-Port  10:00:00:05:33:26:7c:67
     10  10   010300   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c5:fe
     11  11   010100   id    N4   Online      FC  F-Port  10:00:00:05:1e:fa:fc:40
     12  12   010600   id    N4   Online      FC  F-Port  50:00:1f:e1:50:21:c5:fa
     13  13   010400   id    N4   Online      FC  F-Port  50:01:43:80:06:34:23:5e
     14  14   010200   id    N4   No_Light    FC
     15  15   010000   id    N4   No_Light    FC
     16  16   012700   id    N4   Online      FC  F-Port  50:06:0e:80:16:4e:97:61
     17  17   012500   id    N4   Online      FC  F-Port  50:06:0e:80:16:4e:97:60
     18  18   012300   --    N8   No_Module   FC
     19  19   012100   --    N8   No_Module   FC
     20  20   012600   id    N4   No_Light    FC
     21  21   012400   id    N4   Online      FC  E-Port  20:02:54:7f:ee:c1:26:61 "mds4"
     22  22   012200   id    N4   Online      FC  E-Port  20:02:54:7f:ee:c1:26:61 "mds4" (upstream)
     23  23   012000   id    N4   Online      FC  F-Port  50:01:43:80:06:34:23:8c
     24  24   011f00   --    N8   No_Module   FC  (No POD License) Disabled
     25  25   011d00   --    N8   No_Module   FC  (No POD License) Disabled
     26  26   011b00   --    N8   No_Module   FC  (No POD License) Disabled
     27  27   011900   --    N8   No_Module   FC  (No POD License) Disabled
     28  28   011e00   --    N8   No_Module   FC  (No POD License) Disabled
     29  29   011c00   --    N8   No_Module   FC  (No POD License) Disabled
     30  30   011a00   --    N8   No_Module   FC  (No POD License) Disabled
     31  31   011800   --    N8   No_Module   FC  (No POD License) Disabled
     32  32   011700   --    N8   No_Module   FC  (No POD License) Disabled
     33  33   011500   --    N8   No_Module   FC  (No POD License) Disabled
     34  34   011300   --    N8   No_Module   FC  (No POD License) Disabled
     35  35   011100   --    N8   No_Module   FC  (No POD License) Disabled
     36  36   011600   --    N8   No_Module   FC  (No POD License) Disabled
     37  37   011400   --    N8   No_Module   FC  (No POD License) Disabled
     38  38   011200   --    N8   No_Module   FC  (No POD License) Disabled
     39  39   011000   --    N8   No_Module   FC  (No POD License) Disabled
    FC-Switch1:FID128:admin>
    

  12. Проверяем, что с зонингом всё в порядке:
    FC-Switch1:FID128:admin> alishow
    


Настройка IVR

Зачем нужен Inter VSAN Routing?
Для того, чтобы мы могли создать зону для pWWN которые находятся в разных VSAN, в нашем случае это VSAN старой и новой серверной. Напомню, что нашей целью является возможность взаимодействия узлов из двух разных фабрик.

  1. Включаем IVR на коммутаторе, и на всякий случай ivr nat, включаем ivr distribution и автоматическое определение IVR топологии:
    mds4(config)# feature ivr 
    mds4(config)# ivr nat 
    mds4(config)# ivr distribute 
    mds4(config)# ivr vsan-topology auto 
    fabric is now locked for configuration. Please 'commit' configuration when done.
    

  2. Теперь после любых изменений связанных с IVR необходимо применить изменения, а после проверить их успешность:
    mds4(config)# ivr commit 
    commit initiated. check ivr status
    mds4(config)# sh ivr session status 
    Last Action Time Stamp     : Sun Sep 29 06:06:01 2013
    Last Action                : Commit
    Last Action Result         : Success
    Last Action Failure Reason : none
    mds4(config)#
    

  3. Далее всё очень просто, необходимо определить те pWWN с наших VSAN которые должны взаимодействовать. Допустим, что для теста я хочу разрешить взаимодействие между одним из хранилищ в новой серверной и сервером в старой серверной.
    Адреса портов хранилища:
    pwwn 50:06:0e:80:16:7b:d8:01 
    pwwn 50:06:0e:80:16:7b:d8:61 
    pwwn 50:06:0e:80:16:7b:d8:21 
    pwwn 50:06:0e:80:16:7b:d8:41 
    pwwn 50:06:0e:80:16:7b:d8:11 
    pwwn 50:06:0e:80:16:7b:d8:31 
    pwwn 50:06:0e:80:16:7b:d8:51 
    pwwn 50:06:0e:80:16:7b:d8:71
    

  4. и адрес сервера:
    pwwn 50:01:43:80:06:34:23:8c
    

  5. Попробуем создать IVR зону:
    ivr zone name Test_VSP2_ServerX
      member pwwn 50:01:43:80:06:34:23:8c  vsan 2
      member pwwn 50:06:0e:80:16:7b:d8:01 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:61 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:21 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:41 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:11 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:31 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:51 vsan 1
      member pwwn 50:06:0e:80:16:7b:d8:71 vsan 1
    

  6. Далее создадим IVR zoneset, добавим туда нашу зону и активируем его:
    ivr zoneset name INTERDCSET
      member Test_VSP2_ServerX
    ivr zoneset activate name INTERDCSET force
    

  7. Но не забывайте применить изменения:
    ivr commit
    

  8. Вы можете посмотреть логи:
    mds4# sh logging last 15
    2013 Sep 26 10:37:36 mds4 %IVR-5-IVZS_WAITING_FOR_LOWEST_SWWN: Waiting for lowest switch WWN Inter-VSAN enabled switch in VSAN 1
    2013 Sep 26 10:37:38 mds4 %IVR-5-IVZ_ACTIVATED_VSAN: Inter-VSAN zoneset INTERDCSET activated in VSAN 2
    2013 Sep 26 10:37:51 mds4 %IVR-5-IVZS_WAITING_FOR_LOWEST_SWWN: Waiting for lowest switch WWN Inter-VSAN enabled switch in VSAN 1
    2013 Sep 26 10:38:06 mds4 %IVR-5-IVZ_ACTIVATED_VSAN: Inter-VSAN zoneset INTERDCSET activated in VSAN 1
    2013 Sep 26 10:38:06 mds4 %IVR-5-IVZ_ACTIVATED: Inter-VSAN zoneset INTERDCSET activated
    

  9. Также вы увидите, что в zoneset для обоих VSAN появились зоны с суффиксом IVRZ:
    mds4# sh zoneset brief active vsan 2
    zoneset name DC_ZONESET vsan 2
        zone EVA_serv1
      output omitted…
       zone IVRZ_Test_VSP2_ServerX
    mds4#
    mds4# sh zoneset brief active vsan 1
    zoneset name Fabric_B vsan 1
      zone dell_tape_libr_drive2and1_pA_dell510_10_p0
      zone VSP1_1A_dell915_3_p1
      output omitted…
      zone IVRZ_Test_VSP2_ServerX
    mds4#
    
    


Вот теперь, можно презентовать LU и подключать их как стореджи, и при этом хранилище и сервер будут с разных фабрик.
Надеюсь, статья кому-то поможет либо будет интересной.
Пожалуйста комментируйте и задавайте вопросы, с удовольствием отвечу.
Tags:
Hubs:
+4
Comments 2
Comments Comments 2

Articles