Понадобилось мне как-то раз пересоздать raid на сервере с гипервизором Xenserver 6.5. Для этого нужно было отключить и удалить все локальные хранилища, пересоздать рейд и подключить заново новые storages. Задача простая, но как это часто бывает с XenServer, выполнить ее из панели управления нельзя, нужно лезть в консоль и выполнять кучу громоздких команд.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Приступаем к работе. Освобождаем хранилища, которые будем удалять. Для этого надо остановить и куда-нибудь перенести все виртуальные машины с них, иначе ничего не выйдет. Когда очистите сторейджи, можно приступать к работе.
Первым делом надо выяснить UUID отключаемых хранилищ:
# xe sr-list uuid ( RO) : 4489372b-0fd2-7af6-1093-629b572502fd name-label ( RW): RAID1-01 name-description ( RW): host ( RO): xen02 type ( RO): lvm content-type ( RO): user uuid ( RO) : dda2990b-70eb-17e5-5021-826f36b000db name-label ( RW): RAID1-02 name-description ( RW): host ( RO): xen02 type ( RO): lvm content-type ( RO): user
У вас вывод будет скорее всего длиннее, там будут подключенные iso репозитории, двд дисковод и прочее. Я все это вырезал, оставил только 2 local storage, которые буду удалять: RAID1-01 и RAID1-02. Записываем куда-нибудь их uuidы.
Дальше нам нужно получить уиды от Physical Block Device (PBD). Выполняем команды для каждого storage:
# xe pbd-list sr-uuid=4489372b-0fd2-7af6-1093-629b572502fd uuid ( RO) : 7b4d9a8d-e5d6-2610-7a29-836839ba77c3 host-uuid ( RO): c1413f35-0611-44cb-84cc-6808dd8fad42 sr-uuid ( RO): 4489372b-0fd2-7af6-1093-629b572502fd device-config (MRO): device: /dev/md10 currently-attached ( RO): true # xe pbd-list sr-uuid=dda2990b-70eb-17e5-5021-826f36b000db uuid ( RO) : 6b814cb2-8bd3-217f-d10f-3e91630a007a host-uuid ( RO): c1413f35-0611-44cb-84cc-6808dd8fad42 sr-uuid ( RO): dda2990b-70eb-17e5-5021-826f36b000db device-config (MRO): device: /dev/md11 currently-attached ( RO): true
Сохраняем полученные uuid от pbd. Отключаем их с помощью команд:
# xe pbd-unplug uuid=7b4d9a8d-e5d6-2610-7a29-836839ba77c3 # xe pbd-unplug uuid=6b814cb2-8bd3-217f-d10f-3e91630a007a
В этом режиме хранилища будут существовать в отключенном виде. Их еще можно будет подключить обратно. Если они вам точно больше не нужны, то удаляем их:
# xe pbd-destroy uuid=7b4d9a8d-e5d6-2610-7a29-836839ba77c3 # xe pbd-destroy uuid=6b814cb2-8bd3-217f-d10f-3e91630a007a
Поле удаления они все равно продолжают висеть в XenCenter, хотя сделать с ними уже ничего нельзя. Чтобы они полностью исчезли, забываем их:
# xe sr-forget uuid=4489372b-0fd2-7af6-1093-629b572502fd # xe sr-forget uuid=dda2990b-70eb-17e5-5021-826f36b000db
Все, теперь их нет в системе. Можно разбирать mdadm массив и собирать с новыми параметрами. Потом стандартным образом подключать новые local storage к xenserver.
XenServer в плане управления не очень удобная система. В бесплатной версии практически все действия по управлению, кроме создания виртуальных машин, требуют каких-то действий в консоли. Но с другой стороны, мы имеем в основе практически стандартный линукс. Если у вас есть опыт работы с ним, то вы сможете оценить удобства, которые из этого вытекают. К примеру, вы без проблем можете разместить гипервизор на программный рейд mdadm. В случае бюджетного железа это очень существенный плюс. Сервер реально получает отказоустойчивость, я много раз проверял подобные конфигурации.
Вы легко можете подключить UPS APC к серверу и управлять им с помощью apcupsd. Это очень удобно. В бесплатных версиях vmware или hyper-v вам будет значительно сложнее реализовать подобный функционал. А в случае с рейдом просто нет шансов установить гипервизор на рейд, если его не поддерживает железо. Постараюсь в будущем поподробнее описать работу с xenserver. У нас он почему-то не очень популярен, хотя среди бесплатных гипервизоров для малого и среднего бизнеса он может быть весьма полезен.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.