Русфонд

понедельник, 2 декабря 2013 г.

vSphere: операции заканчиваются ошибкой "The operation is not allowed in the current state."

Повторение пройденного.. Операции vMotion, Take Snapshot, Shut Down Guest и др. для одной из виртуальных машин заканчиваются ошибкой:
The operation is not allowed in the current state.
Как лечили, смотрим тут.

пятница, 29 ноября 2013 г.

PowerCLI: изменение размера оперативной памяти и количества CPU у виртуальной машины

Скрипт Change-VM_Memory_CPU_Count.ps1 позволяет изменять размер RAM и количество vCPU у виртуальной машины. При запуске скрипта необходимо указывать параметры:
-vCenter - имя vСenter-сервера;
-vmName - имя виртуальной машины;
-MemoryMB - размер памяти в MB, на который хотим изменить текущее значение;
-MemoryOption - значение Add или Remove, т. е. увеличиваем или уменьшаем память;
-CPUCount - количество vCPU, на которое хотим изменить текущее значение;
-CPUOption - значение Add или Remove, т. е. увеличиваем или уменьшаем количество vCPU.

Скрипт выполняет следующие шаги:
1. подключение к серверу vCenter;
2. выключение виртуальной машины;
3. изменение RAM и vCPU в соответствии с указанными параметрами;
4. включение виртуальной машины;
5. отключение от сервера  vCenter.

Пример использования.
vCenter-сервер vc01.local, виртуальная машина VM01, уменьшается память на 1GB, количество vCPU не меняется:

.\Change-VM_Memory_CPU_Count.ps1 -vCenter vc01.local -vmName VM01 -MemoryMB 1024 -MemoryOption Remove -CPUCount 0 -CPUOption Add

Можно запустить скрипт из bat-файла, если хотим выполнить его по расписанию:

powershell -PSConsoleFile "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -Command "C:\Scripts\Change-VM_Memory_CPU_Count.ps1 -vCenter vc01.local -vmName VM01 -MemoryMB 1024 -MemoryOption Remove -CPUCount 0 -CPUOption Add"

Источник.

среда, 13 ноября 2013 г.

Смена нумерации vmnic

Нам потребовалось сменить номера vmnic в соответствии с нумерацией физических портов на сервере. У сервера четыре встроенных порта Ethernet и дополнительная четырехпортовая Ethernet-карта.  У нас было так, что встроенные порты на сервере обозначены от 1 до 4 слева направо, им соответствовали vmnic0 - vmnic3, тут все нормально. А для дополнительной карты нумерация vmnic шла наоборот, справа налево. Хотим исправить нумерацию только для дополнительной карты.
Насколько я понимаю, метод не поддерживается официально...
Для смены нумерации vmnic на хосте ESXi правим конфигурационный файл /etc/vmware/esx.conf в консоле или через ssh:
1. Определяем соответствие физических портов и vmnic, например, последовательно вынимая и вставляя назад кабель в нужных портах.
2. Делаем резервную копию файла
cp /etc/vmware/esx.conf /etc/vmware/esx.conf.old
3. Открываем файл в редакторе
vi /etc/vmware/esx.conf
4. Ищем строки, содержащие "vmnic",
набираем /vmnic<Enter>
5. В сртоках 
/device/000:006:00.0/vmkname = "vmnic7"
/device/000:006:00.1/vmkname = "vmnic6"
/device/000:007:00.0/vmkname = "vmnic5"
/device/000:007:00.1/vmkname = "vmnic4"
меняем номера vmnic (переводим курсор на соответствующий символ, жмем r, набираем правильную цифру).
Получаем
/device/000:006:00.0/vmkname = "vmnic4"
/device/000:006:00.1/vmkname = "vmnic5"
/device/000:007:00.0/vmkname = "vmnic6"
/device/000:007:00.1/vmkname = "vmnic7"
6. Снова ищем строки, содержащие "vmnic". Находим строки с соответствием vmnic и MAC-адресами
/net/pnic/child[0004]/mac = "00:1b:21:26:2a:e8"
/net/pnic/child[0004]/name = "vmnic4"
/net/pnic/child[0004]/virtualMac = "00:50:56:56:2a:e8"
/net/pnic/child[0005]/mac = "00:1b:21:26:2a:e9"
/net/pnic/child[0005]/name = "vmnic5"
/net/pnic/child[0005]/virtualMac = "00:50:56:56:2a:e9"
/net/pnic/child[0006]/mac = "00:1b:21:26:2a:ec"
/net/pnic/child[0006]/name = "vmnic6"
/net/pnic/child[0006]/virtualMac = "00:50:56:56:2a:ec"
/net/pnic/child[0007]/mac = "00:1b:21:26:2a:ed"
/net/pnic/child[0007]/name = "vmnic7"
/net/pnic/child[0007]/virtualMac = "00:50:56:56:2a:ed"
Удаляем все строки, относящиеся к ранее исправленным номерам (жмем dd на каждой строке). Т. е. в этом блоке удаляем все строки строки и с "mac", и с "vmnic", и с "virtualMac".
Эти строки появятся снова после перезагрузки, но уже с правильными номерами.
7. Сохраняем изменения (жмем <Shit>zz или <ESC>:wq<ENTER>)
8. Перезагружаем хост.
После перезагрузки получили нумерацию на всех восьми портах слева направо.

среда, 18 сентября 2013 г.

Расширение RDM-раздела для виртуальной машины VMware

Процедура расширения RDM-раздела зависит от того, в каком режиме совместимости он подключен.
  • Physical compatibility mode
1. Расширить LUN на дисковом массиве.
2. Выполнить Rescan для Storage на ESX-хосте.
3. Выполнить Rescan disk в оснастке Managment disk в гостевой ОС.
4. Расширить раздел в гостевой ОС.

В режиме совместимости Physical RDM  свойства используемого LUN напрямую передаются гостевой ОС. Процесс расширения раздела не требует перезагрузки виртуальной машины или хоста. Не меняются  RDM-файлы (.vmdk or metadata pointer), поэтому добавленное пространство сразу доступно виртаульной машине.
  •  Virtual compatibility mode
1. Выключить виртуальную машину.
2. Записать значение Virtual Device None (SCSI X:Y) этого раздела.
3. Удалить RDM-раздел у виртуальной машина (from the virtual machine).
4. Расширить LUN на дисковом массиве.
5. Выполнить Rescan для Storage на ESX-хосте, проверить что отображается правильный размер.
6. Пересоздать RDM mapping: VM Settings > Add > Hard Disk > RDM > указать используемый ранее Virtual Device None (SCSI X:Y).
7. Включить виртуальную машину.
8. Выполнить Rescan disk в оснастке Managment disk в гостевой ОС.
9. Расширить раздел в гостевой ОС.

KB1007021