Восстанавливаем виртуальную машину из снапшота
Добавлено: 04 апр 2015, 16:04
...Данный пост не столько инструкция по восстановления, сколько описание граблей при невнимательном подходе...
И было следующее...
обычный вечер пятницы и желание сделать снапшот виртуальной машины... Была нажата соответствующая кнопочка, и через минуту виртуалка перестала отвечать...
Введение:
Виртуальная машина выключена. не запускается - говорит нет жёского диска. Свойства виртуальной машины говорят что жёский диск равен 0.
Задача:
Починить и запустить машину
Подготовка:
1) делаем копию файлов машины - в процессе починки она мне пригодалась 2 раза, прежде чем всё получилось. Тут либо копируем через оснастки, либо шелом. Мне проще (см. пункт 2) сделать шелом - входим на сервер и
Что бы это всё сделалось быстрее я делал архивацию без сжатия.
2) практически невозможно работать со всем этим из MAC OS X - связь рвётся, архивы не распаковываются. А вот через винду архив 200 мегабайт копируется долго, но нормально.
3) Может быть стечение обстоятельств, может быть что-то ещё, но только через виндовый клиент сферы мне удалось запустить машину - через вебинтерфейс она пускать не хотела никак.
Решение задачи:
Делать будем на резервном сервере, ибо боевые сервера не место для эксперементов. Ни при каких обстоятельствах.Да.
Итак, у меня есть распакованный архив виртуальной машины на переносном диске. Подключаю его к ближайшему UNIX серверу (что бы быстрей) и копирую файлы на тестовый ESXi
Дальше идёт на ESXi по ssh и смотрим что есть
Заходим в нашу виртуальную машину и смотрим что есть там
Дальше всё по инструкции
По сути мы уже получили размер файла, но на всякий случай выделим его, что бы был перед глазами
Дальше нам советую узнать какой диск подключен
И вот тут была первая моя ошибка - коллега, заметив что диск нулевой - отключил его от виртуальной машины, а я про это забыл. Потратил много времени ((( Итак, добавляем строчку про жёский диск в конфигурацию виртуальной машины
Ну а дальше всё по инструкции
осталось отредактировать файл
Редактируем:
1) правим название файла снапшота
2) правим версию виртуальной машины
Ну и удаляем
Сохраняем. Всё - можно запускать и пользовваеться
Краткая справка по работе в vi (ну нет там другого интерпретатора)
Запуск - vi Имя.Файла
Переход в режим редактирования - i
Выход из режима редактирования - esc
Удаление текушей строки - dd
Запись изменений - :w
Выход из программы - :q
Вывод:
1) не делайте снапшот, когда машина нагружена какими-то процессами
2) следите за действиями коллег, а не пропускайте мимо ушей
3) если что-то не получилось сделать через web-интерфейс - попробуйте сделать это другим способом (виндовая оснастка, консоль)
Литература:
http://kb.vmware.com/selfservice/micros ... Id=1002511
http://eddnet.org/?p=1349
И было следующее...
обычный вечер пятницы и желание сделать снапшот виртуальной машины... Была нажата соответствующая кнопочка, и через минуту виртуалка перестала отвечать...
Введение:
Виртуальная машина выключена. не запускается - говорит нет жёского диска. Свойства виртуальной машины говорят что жёский диск равен 0.
Задача:
Починить и запустить машину
Подготовка:
1) делаем копию файлов машины - в процессе починки она мне пригодалась 2 раза, прежде чем всё получилось. Тут либо копируем через оснастки, либо шелом. Мне проще (см. пункт 2) сделать шелом - входим на сервер и
Код: Выделить всё
cd /vmfs/volumes/51474e08-38bf700a-109e-002618db1edc
tar -cf srv-zabbix.tar srv-zabbix
2) практически невозможно работать со всем этим из MAC OS X - связь рвётся, архивы не распаковываются. А вот через винду архив 200 мегабайт копируется долго, но нормально.
3) Может быть стечение обстоятельств, может быть что-то ещё, но только через виндовый клиент сферы мне удалось запустить машину - через вебинтерфейс она пускать не хотела никак.
Решение задачи:
Делать будем на резервном сервере, ибо боевые сервера не место для эксперементов. Ни при каких обстоятельствах.Да.
Итак, у меня есть распакованный архив виртуальной машины на переносном диске. Подключаю его к ближайшему UNIX серверу (что бы быстрей) и копирую файлы на тестовый ESXi
Код: Выделить всё
roman$ scp /Volumes/ExtHDD/srv-zabbix/srv-zabbix/srv-zabbix.vmxf root@192.168.10.2:/vmfs/volumes/hdd4/srv-zabbix
Password:
srv-zabbix.vmxf 100% 265 0.3KB/s 00:00
roman$ scp /Volumes/ExtHDD/srv-zabbix/srv-zabbix/srv-zabbix.vmx root@192.168.10.2:/vmfs/volumes/hdd4/srv-zabbix
Password:
srv-zabbix.vmx 100% 3291 1.6KB/s 00:02
roman$ scp /Volumes/ExtHDD/srv-zabbix/srv-zabbix/srv-zabbix.vmsd root@192.168.10.2:/vmfs/volumes/hdd4/srv-zabbix
Password:
srv-zabbix.vmsd 100% 0 0.0KB/s 00:00
roman$ scp /Volumes/ExtHDD/srv-zabbix/srv-zabbix/srv-zabbix-flat.vmdk root@192.168.10.2:/vmfs/volumes/hdd4/srv-zabbix
Password:
srv-zabbix-flat.vmdk 100% 200GB 17.8MB/s 3:11:49
Код: Выделить всё
# cd /vmfs/volumes/51474e08-38bf700a-109e-002618db1edc
# ls -l
drwxr-xr-x 1 root root 420 Apr 4 04:29 srv-zabbix
Код: Выделить всё
# cd srv-zabbix/
# ls -l
total 34799624
-rwxr-xr-x 1 root root 214748364800 Apr 4 07:38 srv-zabbix-flat.vmdk
-rwxr-xr-x 1 root root 0 Apr 4 07:06 srv-zabbix.vmsd
-rwxr-xr-x 1 root root 3291 Apr 4 07:06 srv-zabbix.vmx
-rwxr-xr-x 1 root root 265 Apr 4 07:05 srv-zabbix.vmxf
По сути мы уже получили размер файла, но на всякий случай выделим его, что бы был перед глазами
Код: Выделить всё
# ls -ltr *.vmdk
-rwxr-xr-x 1 root root 214748364800 Apr 4 10:18 srv-zabbix-flat.vmdk
Код: Выделить всё
# less *.vmx | grep -i virtualdev
ethernet0.virtualDev = "e1000"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge7.virtualDev = "pcieRootPort"
Код: Выделить всё
# vi srv-zabbix.vmx
scsi0.virtualDev = "lsilogic"
Код: Выделить всё
# less *.vmx | grep -i virtualdev
ethernet0.virtualDev = "e1000"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge7.virtualDev = "pcieRootPort"
scsi0.virtualDev = "lsilogic"
/vmfs/volumes/51474e08-38bf700a-109e-002618db1edc/srv-zabbix # ls -l *-flat.vmdk
-rwxr-xr-x 1 root root 214748364800 Apr 4 10:18 srv-zabbix-flat.vmdk
/vmfs/volumes/51474e08-38bf700a-109e-002618db1edc/srv-zabbix # vmkfstools -c 214748364800 -a lsilogic -d thin temp.vmdk
Create: 100% done.
/vmfs/volumes/51474e08-38bf700a-109e-002618db1edc/srv-zabbix # ls -ltr *.vmdk
-rwxr-xr-x 1 root root 214748364800 Apr 4 10:18 srv-zabbix-flat.vmdk
-rw------- 1 root root 494 Apr 4 11:04 temp.vmdk
-rw------- 1 root root 214748364800 Apr 4 11:04 temp-flat.vmdk
/vmfs/volumes/51474e08-38bf700a-109e-002618db1edc/srv-zabbix # rm temp-flat.vmdk
/vmfs/volumes/51474e08-38bf700a-109e-002618db1edc/srv-zabbix # mv temp.vmdk srv-zabbix.vmdk
Код: Выделить всё
# vi srv-zabbix.vmdk
1) правим название файла снапшота
2) правим версию виртуальной машины
Код: Выделить всё
# Extent description
RW 419430400 VMFS "srv-zabbix-flat.vmdk"
ddb.virtualHWVersion = "8"
Код: Выделить всё
ddb.thinProvisioned = "1"
Краткая справка по работе в vi (ну нет там другого интерпретатора)
Запуск - vi Имя.Файла
Переход в режим редактирования - i
Выход из режима редактирования - esc
Удаление текушей строки - dd
Запись изменений - :w
Выход из программы - :q
Вывод:
1) не делайте снапшот, когда машина нагружена какими-то процессами
2) следите за действиями коллег, а не пропускайте мимо ушей
3) если что-то не получилось сделать через web-интерфейс - попробуйте сделать это другим способом (виндовая оснастка, консоль)
Литература:
http://kb.vmware.com/selfservice/micros ... Id=1002511
http://eddnet.org/?p=1349