пятница, 1 июля 2011 г.

Citrix XenServer: xe-edit-bootloader trick

Иногда нужен доступ в FS гостевой VM (domU). В Citrix XenServer сделано много изменений и фокус, как в обычном Xen тут не проходит.
Самый простой способ (разумеется, речь идет о linux с его FS):
Логинимся на сервер. Далее:
# xe-edit-bootloader -n MyVM -p 1
где MyVM - имя виртуальной машины, 1 - номер раздела, на котором находится /boot (я обычно выношу в отдельный небольшой раздел, первый)

Данная команда позволяет загрузить в текстовый редактор (и отредактировать, конечно) меню grub гостевой VM. Это полезная фича, но есть еще не менее полезное побочное действие: появляется доступ к виртуальному диску из dom0.
Важное примечание - VM должна быть остановлена, иначе ничего не получится.

пятница, 24 июня 2011 г.

Citrix Xen: инсталляция RedHat по сети при помощи kickstart

Как известно, технология быстрой установки по сценарию (kickstart) позволяет сэкономить системному администратору массу времени. Я активно использовал эту технологию при установке виртуалок на VMware, но. к сожалению, у Citrix Xen это не совсем тривиальная задача. Проблема осложняется еще тем, что Citrix по непонятной причине не поддерживает PXE boot для PV VM.

Процедура установки по сети и использования kickstart есть в документации на Citrix XenServer. Я опишу просто способ, как наиболее быстро и легко в окружении. подобном моему, это реализовать, и некоторые тонкости.

Итак, окружение:

  • в сети есть DHCP сервер

  • в сети есть сторадж, доступный по NFS и FTP. Строго говоря, достаточно и FTP, просто по NFS установка происходит заметно быстрее

  • есть хост с установленным Citrix XenServer версии 5.6 (я использую последнюю на текущий момент версию 5.6.100 SP2)

  • есть хост, на котором запущен XenCenter (им просто удобно пользоваться)

Xen: Реинициализация загрузчика для переинсталяции VM

В Xen столкнулся с проблемой. Создаем новую VM, запускаем инсталляцию и тут по какой-то причине ее приходится прервать (ну, например, изменить параметры загрузчика или вообще не ту версию linux надо ставить). Если просто перезагрузить VM, то она уже не желает грузиться с DVD образа, а сообщает об ошибке: Failed: WARNING: /dev/xvda is not a disk image

Проблема связана с pygrub. Лечится очень просто. Нам понадобится uuid VM (можно посмотреть либо в Xencenter или другой GUI тулзе либо через команду xe). Логинимся на консоль сервера. Далее исправляем содержимое параметра PV-bootloader:

xe vm-param-set uuid=<VM UUID> PV-bootloader=eliloader

четверг, 31 марта 2011 г.

Перенос виртуальных серверов VMware на XenServer для Linux guest

Как я уже писал в предыдущей статье мне придется переезжать с VMware. А что делать с виртуалками? Не переставлять же все - у меня их десятки, я полгода переносить буду (с учетом того, что их еще проверить нужно после переинсталляции).

Более логичным и правильным было бы перенести виртуалки через экспорт-импорт. Следует обратить внимание, что, если не соблюдать процедуру, а попытаться просто сделать экпорт виртуалки а потом ее импорт через XenConvert, виртуалка запуститься в HVM-режиме (полная виртуализация). Это-во-первых, замедлит работу виртуальной машины. Во-вторых, у меня обнаружилась бага - если на эту виртуалку подать сеть, подключенную через транк (VLAN) то внутри виртуалки сетевой интерфейс работает некорректно и пользоваться им невозможно.
Поэтому категорически рекомендую использовать паравиртуализацию.

Решение задачи есть на форуме Citrix, я воспользовался именно им, с небольшим уточнением.

Итак, приступим.

Я подразумеваю, что, раз уж админ пользовался VMware, то у него обязательно есть установленный Windows-хост, расположенный где-то рядом с гипервизорами. Тем более, что для CitrixXen понадобится XenCenter, который тоже написан под Windows.

Перво-наперво нам понадобиться пойти на сайт Citrix и вытащить свежую версию XenConvert. Нюанс заключается в том, что только самая последняя версия умеет корректно импортировать виртуалки с гостевой OS Linux (да и то - там все равно нужно делять ряд действий). Подходящая версия - на ниже 2.3.1.2654. Именно эта версия позволила мне произвести конвертацию.

среда, 30 марта 2011 г.

Изменение размеров shared storage в Citrix Xen "на лету"

Пришло время апргейда железа. И оказалось, что гипервизор VMware 3.5 не работает с новыми боксами (мы взяли ProLiant BL465c G7, а с ними работает только VMware4). Фришная лицензия от VMware vSphere 4 тоже не подошла - там держатся только 2 физических CPU максимум по 6 core и не более 4х виртуальных CPU.

И серьезно стал вопрос о выборе нового гипервизора. Реально имеем две альтернативы - Xen (Citrix и XCP) и RHEV (KVM). Свое мнение про них и сравнительный анализ я напишу позже, когда все эксперименты закончатся и будет сделан выбор.

Пока в данной статье я опишу "кусочек" экспериментов. Мне понадобилось изменить размер shared SAN partition на Citrix Xen 5.6 FP1 - на раздел не помещаются снапшоты, а без снапшотов нормально бекап не провести - нужно останавливать виртуалку, что неприемлемо.

Разумеется, изменение размера нужно делать "на лету". Забегая немного вперед, отмечу, что мне удалось сделать это, даже не останавливая виртуалку, запущенную на этом томе!. Честно говоря, дисковой активности в виртуалке не было, т.е. эксперимент не совсем "чистый". И Citrix честно предупреждают, что рекомендуют все-таки виртуалку останавливать "во избежании". Полагаю, что все-таки можно производить ресайз раздела и без остановки, если активность диска низкая. Как-нибудь при возможности попробую провести эксперимент.

Но вернемся к задаче.

суббота, 15 января 2011 г.

Cisco VPN клиент и мобильный интернет GSM через модем Huawei E1550

Купил себе на поиграться и на всякий случай как запаску модем Huawei E1550 от Киевстара с акционными 2мя месяцами инета. Коротко: модем работает нормально, скорость (у меня 2G пакет, за 199 грн) прыгает от 32к до 200к. 3G от Укртелекома, к сожалению, у меня дома почти не работает - очень слабое покрытие, т.к. то 200-256к, то вообще ничего.

Но основная проблема у меня возникла при попытке запустить Cisco VPN client. По UDP соединяется, проходит авторизацию, но трафик через VPN соединение не идет :( Попробовал переключиться на TCP - вообще не коннектится!

В то же время через PeopleNet (модем CCU-550) - все работает замечательно. Т.е. проблема не в локальном файрволе и не в VPN сервере.
Позвонил в техподдержку - меня заверили, что со стороны провайдера ограничений нет.

OS - Windows 7 Home Premium

В общем, после некоторого разбирательства причина найдена. В программе дозвона в настройках драйвера модема ("Общие") есть два режима работы: RAS и NDIS. По умолчанию установлен NDIS. Как только я переключил на RAS - все отлично заработало.