В XenServer 6.x возможности Auto Start для виртуальных машин были убраны из графического интерфейса консоли управления XenCenter, хотя присутствовали в более ранних версиях.

Сделано это было потому, что механизм автоматического старта виртуальных машин в XenServer конфликтуют с функциями высокой доступности (HA).

Для включения Auto Start, сначала нужно включить его на уровне XenServer и пула, для чего нужно выполнить следующее:

1. Определяем UUID пула, для которого необходимо включить Auto Start. Для этого выполняем консольную команду на сервере XenServer:

xe pool-list

Нужен параметр [UUID], например:

2.1. Для получения сведений о текущих параметрах пула:

1
xe pool-param-list uuid=UUID

2.2. Разрешаем автостарт виртуальных машин на уровне пула с найденным UUID командой:

1
xe pool-param-set uuid=UUID other-config:auto_poweron=true

Теперь включаем автостарт на уровне виртуальных машин, для чего:

1. Выполняем команду для получения UUID виртуальной машины:

1
xe vm-list

2. И для найденного [uuid-vm] включаем автостарт:

1
xe vm-param-set uuid=[uuid-vm] other-config:auto_poweron=true

Другой способ включения механизма Auto Start – это использование скрипта, который можно скачать вот в этой ветке на форуме Citrix.

Суть использования скрипта сводиться к следующему:

  1. файл скрипта autostart-script.sh нужно сделать исполняемым и добавить (например в cron) для автоматического запуска при старте XenServer-а.
  2. Для виртуальной машины необходимо добавить тэг "autostart" воспользовавшись консолью управления XenCenter, после чего виртуалка будет автоматически запускаться при старте хоста.

Исходный код скрипта autostart-script.sh привожу ниже:

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
 
ARRAY=`xe vm-list tags="autostart" | grep uuid | awk{ print $5 }`
 
for f in $ARRAY
do
        VM_NAME=`xe vm-param-get uuid=$f param-name=name-label`
        echo "Starting $VM_NAME"
        /opt/xensource/bin/xe vm-start uuid=$f
done

24th Май 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回