Как создать и добавить репозитории хранилища Citrix XenServer — часть 4
В четвертой статье серии XenServer будут обсуждаться решения для хранения данных. Как и в случае с сетями, решения для хранения данных в XenServer поначалу зачастую трудно понять. Прежде чем приступить к настройке, следует обсудить новую терминологию и концепции, связанные с хранилищем XenServer.
Обновление: В мае 2016 года Citrix выпустила новую версию платформы XenServer 7. Для установки выполните: Свежая установка XenServer 7.
XenServer вводит несколько новых терминов в список традиционной терминологии хранилища. Хотя понимание концепций всегда важно при работе с любой ИТ-системой, хранилище не так важно, как в предыдущей статье, посвященной концепциям сети. Однако в этой статье все равно потребуется время, чтобы объяснить и попытаться разъяснить эти концепции хранения.
Первое, что следует помнить о хранилище XenServer, — это то, что у нас есть хранилище для реального хоста XenServer, а также хранилище для гостевых или виртуальных машин, которые будут работать на хосте XenServer. Концептуально это легко понять, но управление ею может оказаться сложной задачей, если администратор не знаком с назначением каждого из аспектов хранения.
Первый термин известен как ’SR’ или Репозиторий хранения. Возможно, это самый важный термин в хранилище XenServer, поскольку он представляет собой физическую среду, на которой будут храниться и извлекаться диски виртуальных машин. Репозиториями хранения могут быть любые из нескольких типов систем хранения, включая локальное хранилище, физически подключенное к хосту XenServer, iSCSI/Fibre Channel LUN, сетевые общие файловые ресурсы NFS или хранилище на устройстве хранения данных Dell/NetApp.
Репозитории хранилища могут быть общими или выделенными и могут поддерживать множество полезных функций, таких как быстрое клонирование, разреженное распределение (хранилище предоставляется по мере необходимости виртуальной машины) и образы виртуальных дисков изменяемого размера (подробнее об этом позже).
Репозитории хранилища, SR, логически подключены к хосту XenServer с помощью так называемого Физического блочного устройства, чаще называемого PBD. PBD — это просто ссылка на место хранения. Эти объекты PBD могут быть «подключены» к хосту XenServer, чтобы позволить этому хосту читать/записывать информацию в этот репозиторий хранилища.
Целью репозиториев хранилища является в первую очередь хранение файлов Образа виртуального диска (VDI) виртуальной машины. Файлы VDI — это места на SR, выделенные для хранения операционной системы и других файлов виртуальной машины, работающей на хосте XenServer. Файлы VDI могут относиться к любому из нескольких типов. Тип определяется типом хранилища хранилища.
Распространенными типами VDI в XenServer являются логические тома (LV), управляемые диспетчером логических томов, виртуальный жесткий диск (VHD) или номера логических устройств (LUN) на устройстве хранения данных Dell или NetApp. Примечание. В этой статье будут использоваться LUN на устройстве хранения данных Dell.
Эти файлы VDI логически подключены к виртуальным машинам через объект, известный как Виртуальное блочное устройство, обычно называемый VBD. Эти объекты VBD могут быть прикреплены к виртуальным гостям, что затем позволяет гостевой машине получить доступ к данным, хранящимся в этом конкретном VDI на соответствующем SR.
Как и в случае с сетью в XenServer, чтение о хранилище — это одно, но возможность увидеть взаимосвязь между каждым из этих элементов часто укрепляет концепцию. Общие диаграммы, используемые для представления концепций хранения данных XenServer, часто сбивают с толку новичков, поскольку диаграммы часто читаются линейно. Ниже приведено одно из таких изображений, позаимствованное у Citrix.
Многие люди читают это линейно слева направо, думая, что каждая часть представляет собой отдельное физическое устройство. Это не так и часто приводит к большой путанице в том, как работает хранилище XenServer. На рисунке ниже предпринята попытка объяснить концепции менее линейным, но более прагматичным способом.
Надеемся, что приведенный выше рисунок не введет людей в еще большее замешательство относительно хранилища XenServer. Второе изображение — это попытка показать логические соединения (PBD и VBD), которые используются для подключения XenServers и гостей к удаленному хранилищу через одно фактическое сетевое соединение.
С концептуализацией покончено; можно начать настройку. Напоминая первую статью этой серии, в этом руководстве используется устройство хранения данных Dell PS5500E iSCSI для хранения дисков виртуальной машины (гостевых). В этом руководстве не рассматривается настройка устройства Dell iSCSI.
Конфигурация системы:
- XenServer 6.5 установлен и исправлен (часть 1 серии)
- Устройство Dell PS5500E iSCSI (можно использовать и другие устройства iSCSI, просто заменяя информацию о среде там, где это необходимо).
- Настроены сетевые интерфейсы XenServer (часть 3 серии).
- Устройство iSCSI и XenServer могут логически видеть друг друга (с помощью утилиты ping).
- CIFS (SAMBA) Сервер, на котором размещены файлы ISO компакт-дисков (не обязательно, но очень полезно).
Создание репозитория хранилища Citrix XenServer
Этот первый процесс будет включать в себя этапы создания программного инициатора iSCSI от хоста XenServer до Dell PS5500E.
Этот конкретный LUN использует Протокол проверки подлинности с запросом-рукопожатием (CHAP) для ограничения доступа к тому iSCSI определенным авторизованным сторонам.
Для создания репозитория хранилища используется традиционная команда ’xe’. Перед созданием репозитория хранилища необходимо получить соответствующую информацию iSCSI.
Передача параметра ’sr-probe’ в утилиту ’xe’ даст указание XenServer запросить у устройства хранения iSCSI IQN (полное имя iSCSI).
Первая команда поначалу покажется напряженной, но все не так плохо, как кажется.
xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
Эта первая команда необходима для сбора SCSI IQN для конфигурации репозитория хранилища. Прежде чем двигаться дальше, давайте рассмотрим все части этой команды.
- sr-probe — используется для запроса у устройства iSCSI информации о томе, созданном для этого хоста XenServer.
- type= Используется для указания XenServer типа репозитория хранилища. Это будет зависеть от того, какая система используется. Из-за использования Dell PS5500 в этой команде используется lvm over iSCSI. Обязательно измените его в соответствии с типом устройства хранения.
- device-config:target= Используется, чтобы сообщить XenServer, какое устройство iSCSI следует запрашивать по IP-адресу.
- device-config:chapuser= Используется для аутентификации на устройстве iSCSI. В этом примере том iSCSI был ранее создан для пользователя «tecmint». Отправив имя пользователя и пароль в этой команде, устройство iSCSI ответит необходимой информацией для завершения создания репозитория хранилища.
- device-config:chappassword= Это пароль для указанного выше имени пользователя CHAP.
После ввода и отправки команды XenServer попытается войти в устройство iSCSI и вернет некоторую информацию, необходимую для фактического добавления этого устройства iSCSI в качестве репозитория хранилища.
Ниже показано, что вернула тестовая система от этой команды.
Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
<TGT>
<Index>
0
</Index>
<IPAddress>
</IPAddress>
<TargetIQN>
iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
</TargetIQN>
</TGT>
<TGT>
<Index>
</Index>
<IPAddress>
</IPAddress>
<TargetIQN>
</TargetIQN>
</TGT>
</iscsi-target-iqns>
Выделенная здесь часть известна как iSCSI IQN. Это очень важно и необходимо для определения SCSIid репозитория хранилища. С помощью этой новой информации предыдущую команду можно изменить, чтобы получить SCSIid.
xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
Единственное, что добавлено в команду, — это раздел targetIQN. Выдав эту новую команду, система ответит последней информацией, необходимой для создания репозитория хранилища iSCSI. Последняя часть информации — это идентификатор SCSI.
Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
<LUN>
<vendor>
EQLOGIC
</vendor>
<serial>
</serial>
<LUNid>
0
</LUNid>
<size>
107379425280
</size>
<SCSIid>
36090a028b04a9a0def60353420006046
</SCSIid>
</LUN>
</iscsi-target>
С этого момента все необходимые элементы для создания репозитория хранилища iSCSI доступны, и пришло время дать команду для добавления этого SR к этому конкретному XenServer. Создание репозитория хранилища из объединенной информации осуществляется следующим образом:
xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046
Если все пойдет хорошо, система подключится к устройству iSCSI, а затем вернет UUID вновь добавленного репозитория хранилища.
bea6caa4-ecab-8509-33a4-2cda2599fb75
Вывод UUID – отличный знак! Как и во всех задачах системного администрирования, всегда полезно убедиться, что команда выполнена успешно. Это можно сделать с помощью другой команды ’xe’.
xe sr-list name-label="Tecmint iSCSI Storage"
Пример вывода
uuid ( RO) : bea6caa4-ecab-8509-33a4-2cda2599fb75
name-label ( RW) : Tecmint iSCSI Storage
name-description ( RW) :
host ( RO) : xenct-xen2
type ( RO) : lvmoiscsi
content-type ( RO) : user
Судя по выходным данным CLI, этот XenServer успешно подключился к устройству Dell iSCSI и готов хранить гостевые файлы VDI.
Создание репозитория хранилища ISO
Следующая серия шагов описывает процесс создания библиотеки ISO. Файлы ISO обычно представляют собой образы установочного носителя компакт-диска (CD).
Имея специальный репозиторий, созданный для этих файлов ISO, установку новых гостевых систем можно выполнить очень быстро. Когда администратор желает создать нового гостя, он может просто выбрать один из файлов ISO, существующих в этой библиотеке ISO, вместо того, чтобы физически помещать компакт-диск в XenServer в пуле.
В этой части руководства предполагается, что у пользователя есть работающий сервер SAMBA. Если сервер SAMBA не настроен, пожалуйста, прочитайте эту статью о том, как выполнить эту задачу в Red Hat/Fedora (в будущем у меня будет руководство по серверу SAMBA Debian):
- Настройка сервера Samba для обмена файлами
Первым шагом является сбор необходимых учетных данных и информации о конфигурации для библиотеки SAMBA ISO. Как только имя пользователя, пароль и информация о подключении станут доступны, можно использовать простой вариант команды ’xe’ для подключения библиотеки SAMBA к XenServer.
xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>
Эта команда ничего не выведет на экран, если она не завершится неудачно. Чтобы убедиться, что общий ресурс SAMBA ISO действительно смонтирован, введите еще одну команду ’xe’:
xe sr-list
Пример вывода
uuid ( RO) : 1fd75a51-10ee-41b9-9614-263edb3f40d6
name-label ( RW) : Remote ISO Library on: // /ISO
name-description ( RW) :
host ( RO) : xenct-xen2
type ( RO) : iso
content-type ( RO) : iso
Этот хост XenServer теперь настроен как с репозиторием хранилища iSCSI, так и с библиотекой ISO CIFS для хранения установочных носителей для виртуальных машин (гостей).
Следующими шагами будет создание виртуальных машин и подключение этих систем к соответствующим сетям из предыдущей статьи о сетях.