Русфонд

Показаны сообщения с ярлыком How to... Показать все сообщения
Показаны сообщения с ярлыком How to... Показать все сообщения

пятница, 7 апреля 2017 г.

Ищем, кто удалил виртуальную машину

Ищем в sql-базе vCenter события удаления виртуалок (Managment Studio > sql-базе vCenter > New Query):

  • все события удаления:
SELECT CREATE_TIME, USERNAME, VM_NAME, HOST_NAME, EVENT_TYPE FROM dbo.VPX_EVENT WHERE EVENT_TYPE = 'vim.event.VmRemovedEvent'

  • удаление виртуалки с именем VMname1:
SELECT CREATE_TIME, USERNAME, VM_NAME, HOST_NAME, EVENT_TYPE FROM dbo.VPX_EVENT WHERE (VM_NAME = 'VMname1') AND (EVENT_TYPE = 'vim.event.VmRemovedEvent')

http://www.vmgu.ru/articles/esx-who-deleted-vm

вторник, 20 октября 2015 г.

PowerCLI: Копирование фалов между виртуалкой и локальной машиной

Копирование фалов между виртуалкой и локальной машиной с помощью PowerCLI.

Из ВМ на локальную машину:
Copy-VMGuestFile -VM <VM Name> -GuestUser <GuestUser Name> -GuestPassword <GuestUser Password> -GuestToLocal -Source <Guest Local Path> -Destination <Local Path>

Из локальной машины на ВМ:
Copy-VMGuestFile -VM <VM Name> -GuestUser <GuestUser Name> -GuestPassword <GuestUser Password> -LocalToGuest -Source <Local Path> -Destination <Guest Local Path>

Пример:
Copy-VMGuestFile -VM MyVM1 -GuestUser Administrator -GuestPassword "paSSword!" -GuestToLocal -Source c:\temp\file1.txt -Destination c:\logVM\

понедельник, 24 августа 2015 г.

четверг, 16 октября 2014 г.

PowerCLI: Отчет по виртуальным свичам в CSV-файле

Отчет с информацией о виртуальных свичах ESX-хостов в формате
ESX | vSwitch | Active NIC | Standby NIC | Portgroup | VLAN | Device | IP
с выгрузкой в csv:

Connect-VIServer (Read-Host "Имя vCenter")
&{foreach($esx in Get-VMHost){
        $vNicTab = @{}
        $esx.ExtensionData.Config.Network.Vnic | %{
              $vNicTab.Add($_.Portgroup,$_)
        }
        foreach($vsw in (Get-VirtualSwitch -VMHost $esx)){
              foreach($pg in (Get-VirtualPortGroup -VirtualSwitch $vsw)){
                    Select -InputObject $pg -Property @{N="ESX";E={$esx.name}},
                           @{N="vSwitch";E={$vsw.Name}},
                           @{N="Active NIC";E={[string]::Join(',',$vsw.ExtensionData.Spec.Policy.NicTeaming.NicOrder.ActiveNic)}},
                           @{N="Standby NIC";E={[string]::Join(',',$vsw.ExtensionData.Spec.Policy.NicTeaming.NicOrder.StandbyNic)}},
                           @{N="Portgroup";E={$pg.Name}},
                           @{N="VLAN";E={$pg.VLanId}},
                           @{N="Device";E={if($vNicTab.ContainsKey($pg.Name)){$vNicTab[$pg.Name].Device}}},
                           @{N="IP";E={if($vNicTab.ContainsKey($pg.Name)){$vNicTab[$pg.Name].Spec.Ip.IpAddress}}}
              }
         }
}} | Export-Csv vSwitchInfo.csv -NoTypeInformation -UseCulture


Скачать тут.

среда, 13 августа 2014 г.

Добавляем драйвер в установочный ISO-образ ESXi

1. Качаем дистрибутив утилиты ESXi-Customizer.
2. В графическом интерфейсе ESXi-Customizer нужно указать:
  - исходный образ;
  - файл с драйвером (tgz, vib или zip);
  - рабочую папку, где будет кастомизированный образ.

 

пятница, 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

пятница, 13 сентября 2013 г.

VMware vSphere: конвертация системного виртуального диска IDE в SCSI

Проверено на ESXi 5.1 и вируальной машине с гостевой ОС Windows 2008 R2. Требовалось сконвертировать системный диск. Источники KB1016192 и KB1005208. Строго говоря, это не конвертация, а изменение типа адаптера для диска.

1. Делаем экспорт ветвей реестра виртуальной машины с Windows 2008 R2, которая уже работает на виртуальном SCSI диске ветки:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSI_SAS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LSI_SCSI

2. Импортируем эти ветви на виртуальной машине, диск которой собираемся конвертировать (Подозреваю, что не во всех случаях это понадобится. В моих трех конвертациях без первых двух шагов при запуске гостевая ОС подала в синий экран и требовала восстановления).

3. Выключаем виртуальную машину.

4. Удаляем IDE-диск у виртуальной машины:
В vSphere Client > Edit Settings > Выбираем IDE-диск > Remove > Remove the Disk from the virtual machine (удаляем из виртуалки, а не с диска).

5. Правим файл, соответствующий виртуальному диску [disk_name].vmdk:
В строке ddb.adapterType = "ide" меняем ide на lsilogic.

6. Добавляем диск к виртуальной машине:
Edit Settings > Add > Hard Disk > Use Existing Virtual Disk > Выбираем соответствующий диск.

7. Если у виртуальной машины есть CD-ROM меняем ему канал IDE c 1:0 на 0:0.

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

VMware: проверка на совместимость

Проверяем на совместимость версии продуктов и фичи VMware с железом в VMware Compatibility Guide.

Пример 1. Версия ESX - MetroCluster - дисковый массив (выбранные позиции обведены красным):


Жмем кнопку Update and View Results, получаем список моделей выбраного производителя:


Кликнув на интересующую модель, получим более подробную информацию (firmware, плагин MMP и т.п.).

Пример 2. SRM - дисковый массив:


Получили требуемую версию SRA для соответствующей версии SRM и производителя дискового массива. Кликнув на имени SRA, получим список совместимых моделей дисковых массивов (не забываем на новой странице выбрать правильную версию SRM):


четверг, 28 февраля 2013 г.

PowerCLI: настройка DRS-кластера

Установка Automation Level.

Connect-VIServer <vCenter Name>
Set-Cluster -Cluster <Cluster Name> -DrsAutomationlevel <FullyAutomated, Manual, PartiallyAutomated> -Confirm:$false

Установка порога срабатывания балансировки (Migration Threshold).

Connect-VIServer <vCenter Name>
$clusterName = '<Cluster Name>'
$rate = <от 1 до 5, 1 - агрессивный уровень, 5 - консервативный уровень>
$cluster = Get-Cluster -Name $clusterName | Get-View
$clusterSpec = New-Object VMware.Vim.ClusterConfigSpecEx
$clusterSpec.drsConfig = New-Object VMware.Vim.ClusterDrsConfigInfo
$clusterSPec.drsConfig.vmotionRate = $rate
$cluster.ReconfigureComputeResource_Task($clusterSpec, $true)

понедельник, 18 февраля 2013 г.

PowerCLI: ESX в\из Maintenance mode

Перевод хоста ESX в режим обслуживания:
Set-VMHost -VMhost <ESXname> -State “Maintenance”

Вывод хоста ESX из режима обслуживания:
Set-VMHost -VMhost <ESXname> -State “Connected”

Если это нужно делать по расписанию:

1. Пишем скрипы:

Скрипт EnterMaintenance.ps1

$Creds = Get-VICredentialStoreItem -Host <vCenterName> -File <path to XML-file>
Connect-VIServer <vCenterName> -User $Creds.User -Password $Creds.Password
Set-VMHost -VMhost <ESXname> -State “Maintenance”

Как делать XML-файл с реквизитами доступа смотрим тут.

Скрипт ExitMaintenance.ps1 аналогично.

2. Делаем bat-файлы:

EnterMaintenance.bat
powershell -PSConsoleFile "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -Command <path to script, например C:\Scripts\EnterMaintenance.ps1>

ExitMaintenance.bat аналогично.

3. Настраиваем шедулер для выполнения bat-файлов.

PowerCLI: xml-файл с правами доступа vSphere

PowerCLI позволяет сохранить в XML-файл реквизиты доступа к vCenter и ESXi для использования их при вызове командлета Connect-VIServer.
XML-файл создаем комадлетом New-VICredentialStoreItem:

New-VICredentialStoreItem -Host <vCenterName или ESXname> -User <user> -Password <password> -File <path to XML-file, например, C:\Scripts\cred.xml>


В файле пароль захэширован.
Для работы с файлом используем переменную:

$Creds = Get-VICredentialStoreItem -Host <vCenterName или ESXname> -File <path to XML-file>
Connect-VIServer <vCenterName или ESXname> -User $Creds.User -Password $Creds.Password

суббота, 29 декабря 2012 г.

Драйвер Ethernet-мультипортовки Broadcom BCM 5720

Как ни странно, на сайте вендора www.broadcom.com нет драйвера под ESXi 5 для некоторых карт (в моем случае Broadcom NetXtreme BCM5720 Gigabit Ethernet).
Драйвер нашелся на сайте VMware, Support & Downloads > VMware vSphere > вкладка Drivers & Tools > Driver CDs > VMware ESXi 5.0 Driver CD for Broadcom NetXtreme I Gigabit Ethernet including support for 5717/5718/5719/5720 (на данный момент версия 3.124c.v50.1).
Ставим драйвер как в инструкции.
Community также подсказывает, что для серверов Dell на сайте dell.com можно найти кастомный дистрибутив ESXi с предустановленными драйверами broadcom.

среда, 8 августа 2012 г.

Установка драйверов для Digi AnywhereUSB в виртуальных машинах

Сетевые концентраторы USB-портов Digi AnywhereUSB используются для проброса USB-устройств в виртуальные машины.
В гостевой ОС Windows 2008 R2 достаточно установить драйвер с CD, который идет с устройством (жмем кнопку Install Driver).
В гостевой ОС Windows 2003 необходимо положить файл usbd.sys в папку c:\windows\system32\drivers. Файл usbd.sys ищем на другой подобной виртуалке, или берем из дистрибутива ОС в папке i386 файл usbd.sy_ и переименовываем его в usbd.sys. Перезагружаем виртуальную машину, и устанавливаем драйвер с CD (жмем кнопку Install Driver).