В связи с растущей популярностью идеи Private Cloud, задача автоматизации управления хранилищами и гипервизорами виртуальных машин приобретает особую актуальность. Microsoft предлагает управлять парком Hyper-V машин с помощьюSystem Center Virtual Machine Manager (SC VMM), однако до недавнего времени SC VMM не имел достаточно удобного способа автоматизированного управления хранилищами. Выпустив SC VMM 2012 SP1, Microsoft устранила этот недостаток, добавив поддержку стандарта SMI-S.
Теперь из консоли VMM можно создавать и удалять диски, назначать и подключать их к Hyper-V хостам, размечать и форматировать их. Раньше для этого приходилось обращаться к утилитам управления от производителя дискового массива, что усложняло администрирование.
Целью этой статьи является демонстрация того, как настроить, подключить и использовать SMI-S провайдер для автоматизации процессов управления дисковым массивом. Рассмотрим работу с хранилищем данных по протоколу SMI-S на примере бесплатной версии iSCSI-хранилища StarWind iSCSI SAN. Архив со всем необходимым берите тут.
SMI-S
Storage Management Initiative – Specification или просто SMI-S представляет собой стандарт управления дисковыми хранилищами. Его разработка была начата ассоциацией SNIA еще в далеком 2002 году. SMI-S базируется на открытом стандарте Common Information Model (CIM) и технологии Web-Based Enterprise Management (WBEM). На данный момент, SMI-Sратифицирован как ISO стандарт и поддерживается многими производителями систем хранения данных.
Спецификация SMI-S теперь уже штатно поддерживается и в Windows Server 2012 в рамках Storage Spaces, которая, к примеру, упоминается здесь и здесь. В контексте автоматизации, для нас в Storage Spaces важной является возможность воспользоваться SMI-S в PowerShell–скриптах. О поддержке SMI-S в SC VMM применительно к Microsoft iSCSI-Target недавно был пост на Хабре.
Производитель дискового массива, естественно, тоже должен позаботиться о поддержке SMI-S в своих продуктах. Он должен предоставить т.н. SMI-S провайдер, его еще иногда называют «агентом», который играет роль посредника при взаимодействии SMI-S клиента (SC VMM) и серверной части дискового массива. SMI-S клиент взаимодействует с SMI-Sпровайдером по протоколу CIM-XML, в то время как сам SMI-S провайдер может использовать проприетарные механизмы взаимодействия с дисковым массивом.
Подготовка StarWind iSCSI SAN
Перед тем как приступить к настройке StarWind SMI-S Agent, необходимо вначале настроить сервис StarWind iSCSI SAN. Ничего особенного, но все же. Подключитесь к сервису StarWind iSCSI SAN с помощью входящей в комплект StarWind Management Console и создайте один пустой iSCSI-таргет (рис. 1, рис. 2). Не имеет значения, как вы его назовете. Например, назовем его «empty».
Рис. 1.
Увеличить
Рис. 2.
Установка и настройка StarWind SMI-S Agent
Компания StarWind бесплатно распространяет SMI-S провайдер (StarWind SMI-S Agent) для управления дисковым массивом, базирующимся на их решении. На данный момент к загрузке доступна его beta-версия.
Архив со StarWind SMI-S Agent можно скачать здесь. В архиве есть также самая последняя бесплатная версия StarWind iSCSI SAN, с которой совместим SMI-S провайдер.
Сама установка проходит стандартно — инсталлятор задаст несколько вопросов, а потом распакует необходимые файлы и зарегистрирует системный сервис. К слову, сам StarWind SMI-S Agent не обязательно устанавливать на ту же машину, где установлен StarWind iSCSI SAN Free.
После установки StarWind SMI-S Agent его необходимо сконфигурировать. Это делается с помощью утилитыStarWindSMISConfigurator (рис. 3). Чтобы ее запустить, нажмите Win+R, введите в окне «Run» команду «StarWindSMISConfigurator» и затем нажмите кнопку «ОК».
Увеличить
Рис. 3.
Придумайте название дисковому массиву и введите его в поле StorageSystemName. В данном случае, ему было присвоено название «TestStorage». Укажите адрес хоста, на котором запущен StarWind iSCSI SAN Free, номер порта управления не меняйте. Не путайте порт управления StarWind сервисом (3261) с портом (5988), по которому будет доступен сам StarWind SMI-S Agent. В поля path необходимо ввести правильные пути к папкам, где будут храниться файлы образов дисковых устройств. Пути в полях path должны быть указаны для сервера, на котором размещен iSCSI-таргет. Указывайте их в том же формате, который используется при создании виртуальных устройств в StarWind iSCSI SAN.
Пул ConcretePool#2 настраивать не нужно, так как в бесплатной версии StarWind поддержка HA (High Availability) устройств отсутствует.
После того как вы применили новые настройки, перезагрузите сервис StarWind SMI-S Agent.
Примечание. Всегда перед перезапуском StarWind SMI-S Agent, проверяйте, что в этот момент сервис StarWind iSCSI SANзапущен и работает.
Подключение SMI-S провайдера к SC VMM 2012 SP1
Для того чтобы получить возможность управлять дисковым массивом из под VMM, необходимо подключить соответствующийSMI-S провайдер. Для этого воспользуемся специальным мастером. Нажмите кнопку «Add resources» (рис. 4, обозначение 1) на панели инструментов консоли SC VMM 2012 SP1 и выберите из списка «Storage Devices» (рис. 4, обозначение 2).
Рис. 4.
На страницах мастера необходимо ответить на ряд вопросов. Рассмотрим этот процесс подробнее. Вначале укажите тип провайдера. Необходимо выбрать «Add a storage device that is managed by an SMI-S provider» (рис. 5).
Рис. 5.
На следующей странице выберите протокол «SMI-S CIMXML» (рис. 6), введите адрес хоста, на котором запущен StarWind SMI-S Agent, выберите пользователя, под именем которого VMM должен будет авторизоваться на стороне StarWind SMI-S Agent. Если подходящего пользователя еще нет, создайте его прямо здесь.
Примечание. По умолчанию, доступ к StarWind SMI-S Agent организован без пароля. Чтобы изменить эти настройки, нужно подкорректировать файл «cimserver_planned.conf», который находится в установочном каталоге StarWind SMI-S Agent. В этот файл нужно добавить строку:
enableAuthentication=true
Сохраните файл и перезапустите сервис StarWind SMI-S Agent. После этого в командной строке введите:
cimuser –a –u -w
Поле должно совпадать с существующей на этой Windows-машине учетной записью.
Увеличить
Рис. 6.
На следующем шаге мастер попытается соединиться с провайдером и получить от него информацию о дисковом массиве. В случае успеха он отобразит все найденные дисковые массивы. На рис. 7 видно, что мастер успешно обнаружил систему «TestStorage».
Увеличить
Рис. 7.
Нажмите «Next» и на следующем шаге выберите пулы, которые хотите предоставить в ведение VMM. Так как HA пул не настроен, выбираем все пулы кроме него (рис. 8). Каждый добавляемый пул требуется классифицировать. Если ни одной классификации еще не создано, создайте ее, нажав кнопку «Create classification…».
Увеличить
Рис. 8.
На последнем шаге мастер отобразит сводную информацию о дисковом массиве, провайдере и пулах, которыми вы решили управлять из под VMM (Рис. 9).
Увеличить
Рис. 9.
Создание логического устройства
Логическое устройство (Logical Unit, LU, Storage Volume) создается на базе одного из пулов хранилища. Список созданных устройств смотрите в разделе Classification and Pools (рис. 10). Как видите, еще не создано ни одного устройства.
Увеличить
Рис. 10.
Один из способов создать логическое устройство — это нажать кнопку «Create Logical Unit» (рис. 11).
Рис. 11.
В открывшемся диалоге (рис. 12) выберите пул, введите название логического устройства, затем его размер и нажмите «OK».
Рис. 12.
Если создание прошло успешно, то в списке появится новое устройство (рис. 13):
Увеличить
Рис. 13.
Обратите внимание, что новое устройство «testlu123» еще не назначено ни одному хосту, т.к. поле Assigned = No. Из следующего раздела вы узнаете, что это значит.
Если посмотреть состояние StarWind сервиса с помощью StarWind Management Console, то мы увидим, что в списке устройств появилось новое «ImageFile1» (рис. 14). Устройство активно, но не подключено ни к одному таргету, т.е. к нему еще пока нет доступа. Обратите внимание, по какому пути размещен файл образа устройства — «My Computer\C\Images» (как и было задано в настройках на рис. 1).
Увеличить
Рис. 14.
Назначение пулов и устройств
SC VMM позволяет разграничить доступ Hyper-V хостов и групп хостов к пулам хранилища и отдельным логическим устройствам. Для того чтобы хост или группа получила возможность использовать пул или устройство их нужно им назначить.
Назначение пулов и логических устройств выполняется в диалоге «Allocate Storage Capacity» (рис. 16), который открывается по нажатию одноименной кнопки (рис. 15).
Рис. 15.
Увеличить
Рис. 16.
Вначале назначим пулы (рис. 17). Установите галку «Display as available only storage arrays that are visible to any host in the group», чтобы проверить, видны ли пулы хостам по сети. Если после установки этой галки пулы исчезли из списка, необходимо обновить информацию о Hyper-V хосте и Storage Provider'e. Чтобы обновить информацию о Hyper-V хосте, выберите пункт Refresh контекстного меню соответствующего хоста. Чтобы обновить информацию о Storage Provider'e, выберите пункт Rescan из его контекстного меню. Если после этого пулы все равно пропадают, проверьте настройки firewall, сетевые маршруты, сетевое зонирование и т.п. Скорее всего, ни один Hyper-V хост из группы не имеет доступа к сервису StarWind iSCSI SAN по сети.
Выбирайте пулы по одному и добавляйте их, нажимая кнопку «Add», в конце нажмите «OK».
Увеличить
Рис. 17
Теперь подобным образом назначим группе «All Hosts» созданное в предыдущем разделе логическое устройство (рис. 18).
Увеличить
Рис. 18.
Подключение логических устройств к Hyper-V хостам.
Подключим логический диск к одному из Hyper-V хостов.
Для этого нужно открыть свойства хоста и выбрать закладку Storage (рис. 19).
Рис. 19.
Вначале добавим дисковый массив кнопкой «Add iSCSI Array» (рис. 20).
Увеличить
Рис. 20.
Теперь выбираем в диалоге «Create New iSCSI Session» (рис. 21) необходимый дисковый массив и жмем «ОК».
Рис. 21.
В результате добавления нового дискового массива обновится список «Target portals» в разделе «Discovery» iSCSI-инициатора выбранного Hyper-V хоста. На рис. 22 видим, что там появилась новая запись (подчеркнуто красным). Адрес 192.168.1.137 принадлежит хосту, на котором установлен и работает StarWind iSCSI SAN.
Рис. 22.
Когда массив добавлен, открывается возможность создавать на его базе новые диски и подключать существующие. Нажмите кнопку «Add Disk» (рис. 23) для того, чтобы подключить к хосту новый диск.
Рис. 23.
Так как в предыдущем разделе логическое устройство «testlu123» было назначено группе хостов «All Hosts», то это устройство появилось в списке доступных к подключению устройств (подчеркнуто красным на рис. 24). Существует возможность прямо здесь же создать новое логическое устройство (подчеркнуто зеленым).
Увеличить
Рис. 24.
После того, как устройство выбрано, о нем сразу же выводится вся известная о нем информация (рис. 25). VMM сразу предлагает: инициализировать диск, отформатировать его в NTFS и назначить ему букву диска. В результате, новое устройство будет готовым к размещению на нем vhd-файлов дисков виртуальных машин.
Нажмите «ОК» для того, чтобы запустить процесс подключения устройства к Hyper-V хосту.
Рис. 25.
Заглянем на сам Hyper-V хост и посмотрим, что же там в это время происходит (рис. 26). Как видим, хост установил соединение с iSCSI-таргетом «iqn.2008-08.com.starwindsoftware.192.168.1.137-testlu123.img», а в диспетчере дисков появился новый диск размером 1 ГБ, который уже отформатирован в NTFS (рис. 27). Все это свидетельствует об успешном подключении логического устройства к Hyper-V хосту.
Рис. 26.
Рис. 27.
В разделе Classification and Pools в консоли SC VMM 2012 (рис. 28) обновились данные об устройстве «testlu123». Теперь свойство Assigned стало равным Yes.
Увеличить
Рис. 28.
В разделе «Devices» утилиты StarWind Management Console мы увидим, что устройство «ImageFile1» теперь подключено к таргету «iqn.2008-08.com.starwindsoftware.192.168.1.137-testlu123.img» в качестве LUN0 (рис. 29).
Увеличить
Рис. 29.
В разделе «Targets» мы можем дополнительно удостовериться, что к таргету «iqn.2008-08.com.starwindsoftware.192.168.1.137-testlu123.img» подключено устройство «ImageFile1» в качестве LUN0. Есть информация также о том, что к таргету, в данный момент, подключен инициатор «iqn.1991-05.com.microsoft:vmws8hypervdev.sws.com» (рис. 30).
Увеличить
Рис. 30.
В процессе назначения логического устройства хосту SMI-S провайдер также добавляет на стороне StarWind сервиса ACLправило доступа, которое позволит заданному хосту подключаться к таргету (рис. 31). Обратите внимание, что имена ACLправил, которые создал SMI-S провайдер, всегда начинаются с префикса «SMI-S». Эти правила не стоит изменять или удалять вручную из StarWind Management Console.
Увеличить
Рис. 31.
Отключение логических устройств от Hyper-V хостов
Отключение логического устройства не представляет ничего сложного. Потребуется еще раз открыть свойства Hyper-Vхоста, на вкладке «Storage» выбрать подлежащий отключению диск, и нажать кнопку «Remove Disk» (рис. 32).
Увеличить
Рис. 32.
VMM попросит подтвердить отключение выбранного логического устройства (рис. 33). Само логическое устройство и данные на нем останутся нетронутыми. Вы сможете опять подключить это устройство позже.
Рис. 33.
Удаление логического устройства
Если устройство больше не нужно, его можно удалить и освободить занимаемое им место в пуле. Удаляемое логическое устройство не должно быть при этом подключено к какому-либо Hyper-V хосту, т.е. следует убедиться в том, что его свойство Assigned равно No.
Переходим в раздел Classification and Pools в консоли SC VMM 2012 (рис. 34). Чтобы удалить устройство кликните правой кнопкой мыши по устройству, которое решили удалить, и нажмите «Remove» в открывшемся контекстном меню.
Увеличить
Рис. 34.
VMM попросит подтвердить удаление выбранного логического устройства (рис. 35).
Рис. 35.
Список заданий
Все операции, которые выполняет SC VMM в данный момент или выполнил в прошлом, записаны в списке Jobs (рис. 36). Как видите, все описанные выше операции были выполнены успешно.
Увеличить
Рис. 36.
Заключение
Поддержка стандарта SMI-S в новой версии SC VMM 2012 — важный шаг вперед в деле автоматизации процессов управления облачной инфраструктурой. Теперь практически все операции можно выполнять из консоли VMM, и нет необходимости обращаться к утилитам управления от производителей дисковых массивов, например, таких, как StarWind Management Console. Можете себе представить, как была бы сложна жизнь администратора в том случае, если бы ему приходилось иметь дело с несколькими дисковыми массивами от нескольких производителей без возможности использовать SMI-S.
Все вышеописанные операции, доступны также из PowerShell–скриптов, что открывает еще больше возможностей по автоматизации и облегчает администрирование.