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

Планирование перезапуска виртуальной машины VMWare ESXi 4.1

У нас была виртуальная машина, работающая на хосте VMWare Server на Windows Server 2003.

На машине установлены нестабильные диски.

У нас было настроено расписание задач Windows, которое запускало командный файл для сброса машины каждую неделю, чтобы она вернулась в исходное состояние.

Пакетный файл, который у нас был запущен, был:

"C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName.vmx" stop hard
"C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName1.vmx" start

С тех пор мы перевели эту машину на бесплатную версию ESXi 4.1.

Может ли кто-нибудь сообщить мне, можно ли запланировать такой перезапуск и как?

  • включен ssh-доступ к вашему ESXi
  • добавить задание cron в корневой crontab (/ var / spool / cron / crontabs / root)

Вы можете запускать, перезагружать, останавливать и приостанавливать виртуальные машины с помощью vmware-cmd:

vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host>
/vmfs/volumes/Storage2/testvm/testvm.vmx stop soft
vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host>
/vmfs/volumes/Storage2/testvm/testvm.vmx start soft

Если вы еще этого не сделали, вам нужно будет включить доступ по ssh на вашем хосте ESXi.

Как только вы это сделаете, вы можете поместить команды vmware-cmd в скрипт и запускать их из cron, например.

#!/bin/bash
/usr/bin/vmware-cmd "Centos 5" stop hard
sleep 30
/usr/bin/vmware-cmd "Centos 5" start

остановит, а затем запустит машину "Centos 5" на текущем хосте.

Поместите это в корневой crontab

30 1 * * 0 /path/to/restart-script

и вам должно быть хорошо идти.

Редактировать:

Как отмечает chopper3, crontab не сохраняется при перезагрузках, поэтому вам нужно будет отредактировать файл / etc / local и добавить команды для воссоздания корневого crontab, например.

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "30 1 * * 0 /path/to/restart-script" >>/var/spool/cron/crontabs/root
/bin/busybox crond

Не могли бы вы также запланировать перезагрузку самой виртуальной машины? Будь то виртуальная машина Linux или Windows, вы должны иметь возможность использовать cron или планировщик задач внутри гостевой системы для выполнения запланированной перезагрузки.