Компонент Microsoft iSCSI Target Server предназначен для предоставления пользователям доступного по сети блочного хранилища данных. Сервер iSCSI Target Server был реализован в Windows Storage Server как дополнительно загружаемый модуль. Немного позже он стал доступен для всех в виде бесплатно загружаемого модуля, который может быть установлен на поддерживаемых версиях Windows Server. После краткого описания iSCSI Target Server я покажу, как его можно интегрировать в качестве управляемого поставщика хранилищ данных с системой управления виртуализацией System Center Virtual Machine Manager (VMM) 2012 R2. После осуществления интеграции VMM может выделять хранилища данных для управляемых узлов.
Введение в iSCSI Target Server
Компонент iSCSI Target Server включен в состав роли File Server («Файловые службы») системы Windows Server 2012. Сервер iSCSI Target идеально подходит для различных сценариев, в том числе:
- развертывания бездисковых серверов с использованием загрузки с помощью сетевого адаптера или стороннего программного загрузчика;
- предоставления удаленно доступного хранилища (которое может быть постоянно доступным, если настроено в виде отказоустойчивого кластера) для приложений, выполняемых на рабочих станциях или серверах;
- в гетерогенных средах, в которых могут использоваться сторонние инициаторы iSCSI;
- в средах для разработки, тестирования, демонстрации и обучения, в которых сервер iSCSI Target служит для тестирования приложений или в иных сценариях, предшествующих развертыванию приложений в производственной среде.
Компонент iSCSI Target Server был обновлен в Windows Server 2012 R2. Набор обновлений включает в себя:
- Переработанный уровень сохранения данных, использующий новый формат виртуального жесткого диска (VHD) версии 2.0, впервые реализованный в Windows Server 2012. Этот новый формат (с расширением файла VHDX) обеспечивает более высокую емкость виртуального диска (до 64 Тбайт) и лучшую защиту от повреждения данных в случае сбоев электропитания. Производительность работы дисков повышена за счет оптимизации размещения данных на диске и поддержки дисков с размером сектора 4 Кбайт.
- Включенный в iSCSI Target Server провайдер SMI-S. Данный провайдер способствует лучшей интеграции с VMM.
- Новые команды Windows PowerShell в модуле для iSCSI Target Server, повышающие гибкость управления в различных средах.
- Усовершенствованную функцию кэширования на уровне диска. ISCSI Target Server устанавливает флаг обхода кэша для дисковых операций ввода/вывода на узле виртуализации через Force Unit Access (FUA) только по запросу инициатора. Это обеспечивает потенциал для дальнейшего повышения производительности системы хранения.
- Повышение масштабируемости. Максимальное число сессий на сервере увеличено до 544. Максимальное число номеров логических устройств (LUN) на сервере возросло до 256.
Включение iSCSI Target Server
Как уже упоминалось, iSCSI Target Server — это компонент (то есть служба роли), являющийся частью роли файловых служб в Server 2012 R2. Вы можете добавить этот компонент с помощью пункта меню «Добавить роли и компоненты» в диспетчере серверов Server Manager или PowerShell-командой Install-WindowsFeature.
Далее будет показано, как для добавления этого компонента задействовать команду Install-WindowsFeature. Если вы не пользуетесь средой PowerShell достаточно часто, я рекомендую для начала выполнить команду Update-Help. Она загружает самую последнюю информацию о командах PowerShell, включая элементы подсказки и примеры использования от компании Microsoft.
Для добавления компонента iSCSI Target Server откройте окно среды PowerShell и выполните команду:
Install-WindowsFeature -Name FS-iSCSITarget-Server
После успешного выполнения этой команды вы можете проверить установку компонента командой:
Get-WindowsFeature -Name FS* | Where InstallState -eq Installed
После установки компонента для управления его функционированием можно использовать диспетчер серверов или PowerShell.
Интеграция iSCSI Target Server с VMM
Интеграция устройства хранения, такого как iSCSI Target Server, с VMM требует либо провайдера SMI-S, либо встроенного в Windows Management Instrumentation (WMI) провайдера управления хранилищем Storage Management Provider. В Server 2012 приходилось вручную устанавливать на сервере iSCSI Target агента SMI-S с установочного диска VMM 2012 SP1. Одно из улучшений в Server 2012 R2 заключается в том, что провайдер SMI-S для iSCSI Target Server устанавливается вместе с этим компонентом. Не требуется никаких дополнительных установок или настроек.
После установки iSCSI Target Server для интеграции с VMM выполните следующие действия:
- Откройте консоль VMM, подключитесь к серверу VMM и перейдите в категорию Providers, расположенную в разделе \Fabric\Storage.
- Щелкните правой кнопкой мыши объект Providers и выберите пункт Add Storage Devices («Добавить устройства хранения»). Данное действие запускает мастер добавления устройств хранения.
- На странице Select Storage Provider Type («Выбор типа поставщика хранилища») выберите вариант SAN and NAS devices discovered and managed by an SMI-S provider («Устройства SAN и NAS, обнаруженные и управляемые провайдером SMI-S»). Нажмите кнопку Next («Далее»).
- На странице Specify Discovery Scope («Определить область обнаружения») введите информацию о протоколе и поставщике SMI-S, который вы используете. В раскрывающемся списке Protocol («Протокол») выберите SMI-S WMI. В поле Provider IP address or FQDN («FQDN-имя или IP-адрес провайдера») укажите IP-адрес или FQDN-имя сервера, на котором работает служба iSCSI Target Server. В поле Run As account укажите учетную запись, которая будет использоваться для подключения к серверу. Эта учетная запись должна иметь права локального администратора на сервере. Нажмите Next.
- На странице Gather Information («Сбор информации») можно увидеть, как VMM подключается к серверу iSCSI Target и собирает информацию об устройствах хранения. На этой странице ничего не нужно делать, кроме нажатия кнопки Next после завершения сбора информации.
- На странице Select Storage Devices («Выбор устройств хранения») выберите доступные пулы носителей, которыми необходимо управлять с помощью VMM. Не забудьте исключить из выбора системный диск сервера. После выполнения этих действий нажмите кнопку Next.
- На странице Summary («Сводка») проверьте настройки и нажмите кнопку Finish («Готово»).
После завершения работы мастера добавления устройств хранения необходимо проверить успешность выполнения интеграции. В консоли VMM перейдите в раздел \Fabric\Storage. В категории Providers убедитесь, что статус сервера iSCSI Target Responding («Отвечает»). В категории Arrays («Массивы») щелкните мышью список серверов iSCSI Target и проверьте полученную информацию, особенно о пулах носителей, как показано на экране 1.
Экран 1. Проверка информации о массиве |
В категории Classifications and Pools («Классификации и пулы») раскройте классификации, примененные к пулам носителей сервера iSCSI Target, и проверьте информацию, отображаемую для каждого пула, как показано на экране 2.
Экран 2. Проверка информации о пуле хранения |
Подготовка хранилища
После настройки управления сервером iSCSI Target с помощью VMM хранилище может быть подготовлено и выделено для узлов. Для этого потребуется выполнить некоторые подготовительные действия на узле, а именно произвести запуск службы инициатора iSCSI и настроить ее для автоматического запуска. Это можно сделать либо в диспетчере серверов (пункт меню «Средства\Службы»), либо в командной строке PowerShell. Можно также выполнить небольшой сценарий PowerShell, аналогичный следующему:
Invoke-Command -ComputerName Contoso-HYP1 -ScriptBlock { Set-Service -Name MSiSCSI -StartupType Automatic Start-Service MSiSCSI }
После запуска на узле службы инициатора iSCSI необходимо получить свойства узла в консоли VMM. На странице свойств узла, в ее левой панели выберите мышью раздел Storage («Хранилище»). В правой панели нажмите кнопку Add («Добавить») и выберите Add iSCSI Array («Добавить массив iSCSI»), как показано на экране 3.
Экран 3. Добавление массива iSCSI |
В диалоговой панели Create New iSCSI Session («Создать новую сессию iSCSI»), показанной на экране 4, введите информацию, необходимую для создания сессии с сервером iSCSI Target. После создания сессии с iSCSI Target Server отобразятся данные, показывающие суммарную доступную емкость хранилища и количество управляемых пулов хранения.
Экран 4. Создание новой?сессии для?сервера iSCSI?Target |
Следующим шагом в работе с хранилищем будет создание номеров логических устройств LUN для их назначения узлам. В консоли VMM на ленте Home выберите мышью вариант Create Logical Unit («Создать логическое устройство»). То же самое можно сделать, нажав кнопку Create («Создать») и выбрав Logical Unit («Логическое устройство»). В диалоговой панели Create Logical Unit выберите доступный пул носителей, введите имя LUN, добавьте, если нужно, его описание, задайте размер (емкость) и нажмите OK.После создания LUN появляется в разделе Classifications and Pools («Классификации и пулы») под соответствующей классификацией. Как показано на экране 5, LUN привязан к пулу носителей iSCSI Target. На экране 5 видно, что новый LUN пока еще не назначен (значение параметра Assigned равно No). Это не является аномалией. До назначения LUN необходимо выделить узлу хранилище (если вы в консоли VMM действительно столкнетесь с какими-либо аномалиями, связанными с использованием хранилищ, выберите элемент сервера iSCSI Target в разделе \Fabric\Storage\Providers и выполните задание обновления Refresh).
Экран 5. Проверка созданного LUN |
Выделение узлу хранилища
Чтобы сделать хранилище доступным для узла, необходимо его выделить группе узлов, в которой содержится данный узел. При выделении хранилища группе узлов выделяются пулы носителей и номера логических устройств LUN. Вначале выделяются пулы носителей, для этого откройте страницу свойств группы узлов, нажмите кнопку Allocate Storage Pools («Выделить пулы носителей») и введите в диалоговой панели Allocate Storage Pools необходимую для пулов носителей информацию. В приведенном на экране 6 примере я выделил группе узлов с именем Hyper-V Servers четыре пула носителей.
Экран 6. Выделение пулов хранения группе узлов |
Затем необходимо выделить LUN, нажав на странице свойств группы узлов кнопку Allocate Logical Units («Выделить логические устройства») и введя в диалоговой панели Allocate Logical Units запрашиваемую информацию. Как показано в примере на экране 7, я выделил для группы узлов два LUN в пуле носителей D.
Экран 7. Выделение LUN группе узлов |
Теперь можно добавлять хранилище узлам в группе узлов. Для этого откройте страницу свойств узла в консоли VMM и выберите в левой панели элемент Storage. В правой панели нажмите кнопку Add Disk («Добавить диск»), как показано на экране 8.
Экран 8. Добавление диска к узлу |
В открывшейся диалоговой панели надо выбрать необходимый LUN и ввести запрашиваемую информацию (см. экран 9).
Экран 9. Настройка диска на узле |
После выполнения задания диск на данном узле будет отображаться как Online («Исправен»). На сервере iSCSI Target в диспетчере серверов диск будет показан как Connected («Подключен»), как видно на экране 10. Теперь хранилище готово к использованию.
Экран 10. Проверка подключения диска |
Платформа управления для частного «облака»
Я привел пример того, как служба Microsoft iSCSI Target Server интегрируется с VMM, но с VMM можно интегрировать и другие совместимые решения сторонних разработчиков систем хранения. Информацию о поддерживаемых решениях других разработчиков можно найти в статье TechNet Supported Storage Arrays for System Center 2012 VMM (http://social.technet.microsoft.com/wiki/contents/articles/16100.supported-storage-arrays-for-system-center-2012-vmm.aspx). Я надеюсь, что приведенная в статье информация будет вам полезна и позволит получить представление о гибкости VMM, необходимой для платформы управления частным «облаком».