admin.txt

… заметки IT’шника…

Импорт в ESXi всех виртуальных машин с датастора.

Импорт в онсастку ESX(i) вирутальных машин из датастора можно сделать из контекстного меню .vmx файла виртуальной машины (выбрав Browse Datastore,  и найдя нужный файл. Но если таких машин больше несколькоих десятков, а то и сотни — на выполнение этих рутинных операций в ручную можно потратить много часов времени.

Мне пришлось переустановить один сервер с ESX 3.5 на ESXi 3.5 сохранив все виртуальные машины на отдельных датасторах (это были локальные диски, но ситуация не отличилась бы и в слуачае NAS/SAN хранилища).  Замечу, для того что бы подключить к новой инсталяции ESXi 3.5 старые диски с сохранением существующих VMFS разделов нужно на новом хосте в конфигурации выбрав «Advanced Settings», в разделе «LVM» изменить опцию «LVM.EnableResignaturing» c нуля на единицу и сделать Rescan всех котроллеров систем хранения с опцией поиска новых VMFS разделов.

Собстевнно массовый импорт машин для ESX хоста описан тут: Mass Import VMs to New ESX Host by .VMX files, там приведено два способа.

Первый способ — сделать скрипт.

for i in `find /vmfs/volumes/ -name "*.vmx" `
do
echo "Registering VM $i"
vmware-cmd -s register $i
done

Скрипт нужно сохранить, например, как massImport.sh, дать ему права на выполнение (chmod +x /path-to-script/massImport.sh) и выполнить. У этого решения свой недостаток — если в пути/имени виртуалки содержатся пробелы, то ничего не получится. Эта проблема решается во втором варианте.

Второй — одной строкой из консоли ESX:

find /vmfs/volumes -name “*.vmx” | while read LINE; do echo “registering VM $LINE”; vmware-cmd -s register $LINE

Но это решения дл ESX, а в моем случае был ESXi. Для ESXi комманды vmware-cmd нету, а на ESX я эти варианты не проверял… Немного погуглив я нашел список команд для работы через SSH/CLI с ESXi. Разрешив из локальной консоли доступ к  ESXi по  ssh, я нашел и протестировал работу аналога нужной команды.

vim-cmd solo/registervm /vmfs/vol/datastore/dir/vm.vmx
Registers vm in hypervisor inventory

т.к. у меня была куча виртуалкок в имени (и пути к VMX файлу) которых содержались пробелы, я решил «поправить» второй способ для работы в ESXi. Эта команда импортирует все виртуальные машины с выбранного датастора «Temp-IT-Drive(1TB)» в «корень» оснастки хоста. Вот что вышло:

find /vmfs/volumes/Temp-IT-Drive\(1TB\)/ -name "*.vmx"| while read LINE; do echo "registering VM $LINE"; vim-cmd solo/registervm "$LINE";done

Пришлось добавить к исходному варианту «;done» в конце и заключить $LINE в ковычки выполнении команды импорта, иначе виртуалки «с пробелами»  все же не обрабатывались.

Вот собственно и все, если есть что добавить — велком в коменты.

Реклама

Сентябрь 8, 2010 Posted by | Virtualization | , | 2 комментария

Смена настроек DNS на ESXi хостах средствами PowerCLI

Если есть необходимость смены настроек ДНС на сервереах виртуализации ESX(i), то можно пойти двумя путями.

1. В ручную изменить настройки на вкладке «Configuration», разделе «DNS and Routing» каждого хоста виртуализации. Все быстро и просто, пока работы охватывают пару-тройку хостов. А если нужно перенастриоть 10+ серверов нужно «идти в обход».

2. Когда хостов много, а времени на работу в вручную мало/жалко — пора использовать VMware PowerCLI. Я не обладая опытом работы за пару минут нашел способо изменить конфигурацию DNS на нужной мне группе хостов. Итак после загрузки последнего дистрибутива PowerCLI с сайта VMware можно сразу приступать к работе.

После запуска PowerCLI нужно подключиться к хосту, в простейшем случае (если ваш аккаунт имеет права в вашем vCenter) это делается одной командой:

Connect-VIServer -server vCenter-name

После подключения, нужно выполнить следующую команду. В данном примере будет смена адресов DNS сервреов всех хостов в датацентре «MyDataCenter»

Get-VMHost -Location (Get-Datacenter -Name MyDataCenter) | get-vmhostnetwork | set-vmhostnetwork -dnsaddress "192.168.0.1","192.168.0.2"

Ну и стоит отметить, что смена конфигурации DNS на хостах не приводит (по крайней мене в моем слуаче было так) к переключению хоста на новые настройки.  Новые настройки вступят в силу после перезагрузки хоста или после рестарта Management сервисов (services.sh restart из консоли хоста)

Сентябрь 2, 2010 Posted by | Virtualization | , , | Оставьте комментарий