Есть два скрипта:
Для замораживания виртуальных машин
#!/bin/sh
vmwarecmd="/usr/bin/vmware-cmd"
$vmwarecmd -l | while read vmlist;
do
echo "$vmlist"
name=`$vmwarecmd "$vmlist" getstate`
echo $name
if
then
vmrun suspend "$vmlist"
fi
sleep 5
done
и для размораживания
#!/bin/sh
vmwarecmd="/usr/bin/vmware-cmd"
$vmwarecmd -l | while read vmlist;
do
echo "$vmlist"
name=`$vmwarecmd "$vmlist" getstate`
echo $name
if
then
vmrun start "$vmlist"
fi
sleep 5
done
Как можно модифицировать скрипты, чтобы заморозка производилась выборочно? Т.е. чтобы при заморозке замораживались только те машины, которые не заморожены, а при разморозке, чтобы размораживались только те что замораживались.
Гипервизор: Vmware server 1.0.2
Заморозка виртуальных машин на "Vmware Server 1" (Выборочная заморозка и разморозка виртуальных машин на "Vmware Ser)
Модератор: Модераторы разделов
-
alfss
- Сообщения: 262
Re: Заморозка виртуальных машин на "Vmware Server 1"
1.вести простейшую базу о состояниях и черпать от туда информацию
2.каким образом можно получить список запущенных ВМ? и каким образом всех? vmrun list diff /usr/bin/vmware-cmd -l
2.каким образом можно получить список запущенных ВМ? и каким образом всех? vmrun list diff /usr/bin/vmware-cmd -l
-
rfcr
- Сообщения: 92
Re: Заморозка виртуальных машин на "Vmware Server 1"
Модифицировал скрипты вот так:
Замораживаем:
#!/bin/sh
vmwarecmd="/usr/bin/vmware-cmd"
$vmwarecmd -l | while read VMXLIST_STATE;
do
STATEVM=`$vmwarecmd "$VMXLIST_STATE" getstate`
echo $VMXLIST_STATE $STATEVM
if
then
echo $VMXLIST_STATE >> vmlist.log
fi
done
cat vmlist.log | while read VMXLIST;
do
echo " "
echo "$VMXLIST"
vmrun suspend "$VMXLIST"
sleep 1
done
echo " "
echo "Finish ..."
Размораживаем
#!/bin/sh
cat vmlist.log | while read VMXLIST;
do
echo "$VMXLIST"
vmrun start "$VMXLIST"
done
cat /dev/null > vmlist.log
echo " "
echo "Finishing starting Machine"
Но заморозка не всегда проходит успешно. Большинство машин замораживаются, а некоторые нет. При этом появляется такая вот ошибка(ки) :
/vm/Other Linux 2.4.x kernel 64-bit.vmx
Error: Command failed: Cannot connect to the virtual machine
./syspend: line 34: 5832 Ошибка сегментирования vmrun suspend "$VMXLIST"
/vm/SUSE Linux.vmx
Error: Command failed: Cannot connect to the virtual machine
./syspend: line 34: 5939 Ошибка сегментирования vmrun suspend "$VMXLIST"
Есть и другие ошибки, но они повидимому не влияют на успешность заморозки:
/vm/Windows 2000 Professional.vmx
./syspend: line 34: 5957 Ошибка сегментирования vmrun suspend "$VMXLIST"
Замечено, что если машину которая не замораживается включить - выключить через вмваре консоль то она будет замораживаться нормально. Через консоль при этих ошибках тоже все нормально замораживается. Что делать, как справиться с ошибками? Версия гипервизора - Vmware server 1.0.2.
Замораживаем:
#!/bin/sh
vmwarecmd="/usr/bin/vmware-cmd"
$vmwarecmd -l | while read VMXLIST_STATE;
do
STATEVM=`$vmwarecmd "$VMXLIST_STATE" getstate`
echo $VMXLIST_STATE $STATEVM
if
then
echo $VMXLIST_STATE >> vmlist.log
fi
done
cat vmlist.log | while read VMXLIST;
do
echo " "
echo "$VMXLIST"
vmrun suspend "$VMXLIST"
sleep 1
done
echo " "
echo "Finish ..."
Размораживаем
#!/bin/sh
cat vmlist.log | while read VMXLIST;
do
echo "$VMXLIST"
vmrun start "$VMXLIST"
done
cat /dev/null > vmlist.log
echo " "
echo "Finishing starting Machine"
Но заморозка не всегда проходит успешно. Большинство машин замораживаются, а некоторые нет. При этом появляется такая вот ошибка(ки) :
/vm/Other Linux 2.4.x kernel 64-bit.vmx
Error: Command failed: Cannot connect to the virtual machine
./syspend: line 34: 5832 Ошибка сегментирования vmrun suspend "$VMXLIST"
/vm/SUSE Linux.vmx
Error: Command failed: Cannot connect to the virtual machine
./syspend: line 34: 5939 Ошибка сегментирования vmrun suspend "$VMXLIST"
Есть и другие ошибки, но они повидимому не влияют на успешность заморозки:
/vm/Windows 2000 Professional.vmx
./syspend: line 34: 5957 Ошибка сегментирования vmrun suspend "$VMXLIST"
Замечено, что если машину которая не замораживается включить - выключить через вмваре консоль то она будет замораживаться нормально. Через консоль при этих ошибках тоже все нормально замораживается. Что делать, как справиться с ошибками? Версия гипервизора - Vmware server 1.0.2.