Несколько слов для начала
Последние несколько лет я по долгу службы много соприкасаюсь с дисковыми
массивами и серверами соединёнными по технологии SAN.
Основная масса систем с которыми мне приходится сталкиваться это разнообразные
сотреджи от EMC от больших VMAX и новых VNX,
до мелких AX; а так-же такие системы как Netapp и Hitachi.
Из серверов я работаю почти исключительно с HP blade разных модификаций.
Связывают это хозяйство воедино коммуникаторы от Cisco или Brocade. Я специально
подробно остановился на том железе с которым мне приходится работать, поскольку
большинство используемых мной методов, а так-же вопросы которые я хочу обсудить
в этом блоге будут ориентированны на эти продукты. Однако если кому-то
понадобится помощь в работе с другими системами, буду рад помочь чем смогу.
Несколько
слов для чего предназначен данный набор скриптов: это попытка построить API
для быстрой и безошибочной работы с одним или несколькими фабриками. Он
включат:
1)
Скрипт для построения за один проход любого количества зоне по схеме
сервер-порт - сторедж-порт, на входе список серверов и список портов, на выходе
- зоны с именем сервер_сторедж_порт, зоны автоматически создаются на правильных
коммуникаторах.
2)
Поиск зон по имени сервера, стореджа или порта - скрипт работает со писком
параметров и в любой их комбинации, возможна замена любого параметра на ALL .
3)
Удаление зон по тому-же принципу
Немного предыстории. Около четырёх лет назад моя фирма решила активно
внедрять технологию SAN в наших системах. До
этого у нас был богатый опыт работы с NAS в основном от Netapp, а так-же
несколько разрозненных и небольших SAN
массивов разных производителей. Помочь нам с переходом на SAN
:) взялось EMC. В их семействе Symmetrix
только что появился VMAX, с него всё и началось.
И так, для управления и мониторинга систем было куплено ECC
от EMC которое в начале довольно неплохо
справлялось с управлением фабриком, но когда количество коммуникаторов в каждом
фабрике превысило 20, пользоваться им стало практически не возможно - время
ожидания при любом изменении в конфигурации зон стало недопустимо велико (более
часа), а вероятность успешного завершения слишком мала. Хочу заметить, что в
новой системе - ProSphere данная функциональность полностью удалена.
В результате встал вопрос - как управлять фабриками (Cisco и Brocade)
где количество коммуникаторовпревысило 40 в каждом а количество объектов приблизилось
к 1000. Конечно можно было воспользоваться программами производителя коммуникаторов:
Cisco Fabric Manager и Brocade DCFM, но во-первых - пользоваться двумя
продуктами не слишком удобно (Brocade и Cisco у нас работают в параллель для
повышения устойчивости системы к багам производителя), а во-вторых - после ECC
в конфигурациях не осталось ни одного "алиеса" и единственным методом
определения объекта стал WWN, что мягко говоря не слишком удобно.
Как результат описанного выше я решил начать разработку своих средств
управления SAN системами. Скрипты которые я
буду здесь выкладывать, являются переработанной и адаптированной под не
специфическую сеть версией. Они написаны на BASH и должны без проблем
выполнятся на любой UNIX системе. Если для работы скрипта будет необходим
дополнительный пакет (например expect), я постараюсь дать разъяснения по его
установке дополнительно.
Данная версия для коммуникации с объектами использует SSH, возможно,
если по мнению пользователей, более подходящим протоколом будет telnet или SNMP
- я займусь доработкой и под эти протоколы. Однако, для систем управления
наиболее мощным, безопасным и универсальным является именно SSH.
И так, первый скрипт предназначен для поиска зон (Soft Zone) в одном или
нескольких фабриках. В качестве входных параметров указывается список хостов, имя
стореджа и список его портов, любой из параметров может быть заменён словом ALL
для получения полного списка зон относящихся к данному серверу, массиву или
порту соответственно. На выходе - список зон объединяющих объекты запроса, с
разделением по сетям (фабрикам).
При применении ключа -v указываются WWN(ы) входящие в каждую зону. Скрипт
использует для поиска WWN объектов хранимых в конфигурационных файлах и текущую
конфигурацию зон извлекаемых непосредственно из коммуникаторов (один для каждого
фабрика).
No comments:
Post a Comment