Назад | Перейти на главную страницу

Создание виртуальной машины XenServer из командной строки

У меня проблема, из-за которой я не могу понять, как создать виртуальную машину XenServer из командной строки.

Я установил XenServer на неиспользуемое устройство Tower и в настоящее время подключился к нему по SSH с моего Mac. Я решил сделать это, поскольку XenCenter на нем не работает, а также, поскольку мой проект требует, чтобы я запускал всю систему из командной строки, но потратив грабительское количество времени на поиск в Интернете ответов о том, как Создавая виртуальные машины, я, казалось, натыкался на одни и те же неинформативные сценарии, один за другим.

Я понимаю, что для создания виртуальной машины вы запускаете эту команду, изменяя <template-name>, и <vm-name> соответственно:

xe vm-install template=<template-name> new-name-label=<vm-name>

Опять же, поскольку я новичок в XenServer, я не уверен даже в том, на что их нужно изменить.

В дополнение к этому, у меня нет установленных или созданных шаблонов, и я задавался вопросом, как бы я это сделал. Я надеялся, что будет такая магическая команда, как xe template-new или что-то в этом роде, но я не мог его найти. Я знаком с Docker, поэтому мне было интересно, похож ли процесс создания шаблона виртуальной машины на создание образа контейнера?

Если я выполню указанную выше команду (xe vm-install...), Я получаю следующий вывод, если заменяю "Ubuntu 14.04 (64-bit)" для имени шаблона и "Ubuntu" как этикетка:

Error: No templates matched

Я предположил, что это произошло из-за того, что я не установил шаблон, и задался вопросом, могу ли я сделать это, создав устройство хранения NFS VHD?

Я снова попытался сделать это через командную строку, но поискал в Интернете и не нашел никакой информации о том, как я это сделаю?

Я очень смущен, поскольку XenServer довольно сложен, но я твердо намерен понять, как создать виртуальную машину непосредственно из командной строки.

Чтобы помочь всем, кто ответит, я включил детали своего сервера ниже:
Имя хоста XenServer: xenserver-hxcwfafr-OliCallaghanXen
IP-адрес XenServer: 192.168.0.23

Большое спасибо за ваше время и извинения за мое, вероятно, незнание.

Оли

Итак, в конце концов я нашел ответ на проблему, с которой столкнулся. Оказалось, что у меня, должно быть, была поврежденная установка XenServer, и после повторной загрузки .iso и переустановки я обнаружил, что, выполнив xe template-list вывести длинный список полезных шаблонов.

Следующим препятствием, которое мне пришлось преодолеть, была работа виртуальной машины в режиме PV, поскольку использованная мною башня не поддерживала HVM. На самом деле оказывается, что все 32-битные дистрибутивы Linux из коробки совместимы с PV (как правило, все старое совместимо, например, Ubuntu 12.04 и 10. Независимо от 32-разрядной версии; Debian Squeeze и Wheezy 32-разрядной версии), поэтому вы можете запустить виртуальную машину точно таким же образом, используя следующие команды:

xe sr-list выводит список хранилищ репозиториев; Репозиторий хранилища «локальное хранилище» типа «ext» предоставил мне место, где я мог хранить диски каждой виртуальной машины соответственно.

xe template-list выводит список шаблонов, доступных на хосте XenServer.

xe vm-install template=<template> new-name-label=<name_for_vm> sr-uuid=<storage_repository_uuid> «устанавливает» виртуальную машину на основе шаблона на машину, однако фактическая установка на этом этапе не происходит. Затем в консоли выводится UUID виртуальной машины. Выполнив команду xe vm-list вы можете увидеть список виртуальных машин, которые в настоящее время установлены на хосте, с отображением UUID для каждой и их текущего состояния.

xe network-list bridge=xenbr0 --minimal выводит UUID моста xenbr0 который является мостом по умолчанию для новой установки XenServer. Если вы используете другой мост или хотите подключить виртуальную машину к другому адаптеру, вы можете указать другое имя на месте (однако вам нужно сначала убедиться, что вы создали его: P).

xe vif-create vm-uuid=<vm_uuid> network-uuid=<network_uuid> mac=random device=0 создает виртуальный сетевой интерфейс для виртуальной машины со случайным MAC-адресом.

xe vm-param-set uuid=<vm_uuid> other-config:install-repository=<http://server/redhat/5.0> определяет место установки сетевого установщика ОС. Лично я обнаружил, что, ища в Интернете зеркала для конкретной версии ОС, я смог найти зеркало. Затем вместо того, чтобы угадывать, что это за репозиторий для установки, я поискал в репозитории, пока не нашел папку с пометкой xen с файлом vmlinuz содержащаяся в. Я скопировал этот адрес, а затем запустил xe vm-start uuid=<vm_uuid> получение ошибки о неправильном URL. В этом URL-адресе некоторые из них будут повторяться, поэтому удалите повторяющуюся часть и запустите 'xe vm-param-set ...команду снова. Для Ubuntu 12.04 я использовал зеркало http://http://archive.ubuntu.com/ubuntu/dists/precise-updates/.

xe vm-start uuid=<vm_uuid> включит виртуальную машину, и она запустится. Этот процесс займет довольно много времени, поскольку на самом деле он загружает установщик, но на практике он должен занять около 2 минут.

Поздравляю! Вы запустили собственную виртуальную машину, работающую на своем мусорном блоке без HVM, однако следующим шагом будет фактическое подключение к нему.

Для подключения запустите команду xe console uuid=<vm_uuid>. Затем появится диалоговое окно с сообщением, что вы подключились к консоли своей виртуальной машины. В первый раз, когда я попробовал это, я не получил никакого вывода и был озадачен, однако быстрое нажатие клавиши ввода разобрало его, и установка началась.

Если вам нужна дополнительная помощь в настройке виртуальных машин, на веб-сайте Citrix есть отличный документ. http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html это объясняет процесс довольно подробно (но тоже не очень просто).

Я искренне надеюсь, что это упростило процесс запуска виртуальной машины на машине без HVM, и что это действительно станет довольно полезным.

Удачи в попытках подключить установщик к Интернету ... (может быть, я просто работаю в VirtualBox), Оли.