Позвольте поделиться небольшим опытом в контексте SAN.
Дано:
В одной неизвестной организации есть серверная, в которой была внедрена и успешно функционирует SAN сеть. В сети две фабрики, в каждой фабрике было по коммутатору HP AM869A 8/40. Как оказалось, эти коммутаторы представляют собой сорока портовые SAN коммутаторы Brocade 5100, под управлением Fabric OS. К этим фабрикам подключено несколько десятков серверов и пару Систем хранения данных. Без подробностей выглядит всё это следующим образом… страшненько:
Как видите, кроме счастливых серверов которые подключены одновременно к обоим фабрикам, есть сервера подключённые к SAN сети не надёжным образом, только одним линком к одному из свичей. Увы, что есть — то есть.
Организация развивалась и организовала себе ещё одну серверную в соседнем здании. В новой серверной было серверов немного больше и систем хранения данных намного больше. В качестве свичей используются Cisco MDS 9148, к которым подключены I/O модули Dell M8428-k в режиме AG(эти модули установлены на блейд корзинах Dell M1000 ). Так же к свичам MDS подключены рэковые сервера и системы хранения данных Hitachi VSP. Небольшой эскиз SAN сети новой серверной:
Задача
Задача была поставлена чётко. Необходимо мигрировать ряд сервисов со старой серверной в новую. Сервисы запущены на виртуальных машинах. В обоих серверных используется платформа виртуализации VMware vSphere. Основными этапами подготовки инфраструктуры к миграции в нашем случае являлись:
- Объединение сети передачи данных, дабы подключить хосты старой серверной с которых будут съезжать сервисы к vCenter Server в новой серверной для возможности vMotion.
- Объединение SAN сети, чтобы выбранные хосты старой и новой серверных имели общий сторедж и можно было выполнить storage vMotion.
Что же необходимо сделать, чтобы объединить наши фабрики старой и новой серверных?
Думаю, сначала нарисовать, то что мы хотим получить:
В новой серверной, при настройке зоннинга, на обоих фабриках использовалась VSAN 1. Для того чтобы все манипуляции при подключении фабрик к MDS свичам не были диструптивны, создана VSAN 2, которая и будет работаь в Interop mode со свичем HP. Далее будем говорить об объединении фабрики (MDS #2 — #4) и фабрики (HP AM869A 8/40 №1). Объединение других двух фабрик будет выполняться по аналогии.
Подготовка и настройка interop mode
Большинство операций необходимо выполнять на коммутаторе Cisco MDS 9148 #4.
- Для начала создадим резервную копию конфигурации MDS #4:
mds4# copy running-config ftp: Enter destination filename: [mds4-running-config] Enter hostname for the ftp server: 10.31.200.252 Enter username: admin Please log in with USER and PASS first. Password: Copy complete, now saving to disk (please wait)... mds4#
- Создадим резервную копию конфигурации коммутатора HP №1:
configupload -all -p ftp 10.31.200.252,ftp_user,,password
- Далее необходимо проверить, что версии 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#
- На 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
- Теперь не поленится и почитать 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
- После обновления убедится, что у нас есть лицензия которая включает 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 - --------------------------------------------------------------------------------
- Отлично, 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)#
- Далее создадим 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
- Так же минимум необходимо выключить 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)
- Выключаем Per VC Flow Control на коммутаторе HP (порты 21-22):
portcfgislmode 21,1 portcfgislmode 22,1
- Всё, порты можно включать и через минутку уже проверять что, они в состоянии 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 (SCOD) 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>
- Проверяем, что с зонингом всё в порядке:
FC-Switch1:FID128:admin> alishow
Настройка IVR
Зачем нужен Inter VSAN Routing?
Для того, чтобы мы могли создать зону для pWWN которые находятся в разных VSAN, в нашем случае это VSAN старой и новой серверной. Напомню, что нашей целью является возможность взаимодействия узлов из двух разных фабрик.
- Включаем 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.
- Теперь после любых изменений связанных с 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)#
- Далее всё очень просто, необходимо определить те 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
- и адрес сервера:
pwwn 50:01:43:80:06:34:23:8c
- Попробуем создать 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
- Далее создадим IVR zoneset, добавим туда нашу зону и активируем его:
ivr zoneset name INTERDCSET member Test_VSP2_ServerX ivr zoneset activate name INTERDCSET force
- Но не забывайте применить изменения:
ivr commit
- Вы можете посмотреть логи:
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
- Также вы увидите, что в zoneset для обоих VSAN появились зоны с суффиксом IVRZ:
mds4# sh zoneset brief active vsan 2 zoneset name SCOD 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 и подключать их как стореджи, и при этом хранилище и сервер будут с разных фабрик.
Надеюсь, статья кому-то поможет либо будет интересной.
Пожалуйста комментируйте и задавайте вопросы, с удовольствием отвечу.
Автор: taaraora