0202020202020202020203951473358423630535433353030 ->
t10.ATA_____ST3500630AS_________________________________________9QG3CC60
# Создаем папку для RDM-дисков и переходим в нее
mkdir /vmfs/volumes/datastore1/rdm
cd /vmfs/volumes/datastore1/rdm
# создание виртуального RDM (-r с поддержкой снапшотов)
vmkfstools -r /vmfs/devices/disks/vml...30535433353030 rdm1.vmdk -a lsilogic
# создание физического RDM (-z без снапшотов)
vmkfstools -z /vmfs/devices/disks/vml.01....5433353030 rdm1.vmdk -a lsilogic
В виртуальную машину такой RDM цепляем как "Use existing disk"
esxcli в vSphere 5.0
# Список nfs-монтирований на хосте:
# esxcli storage nfs list
# Список установленных vib-пакетов:
# esxcli software vib list
# Информация о памяти на хосте ESXi, включая объем RAM:
# esxcli hardware memory get
# Информация о количестве процессоров на хосте ESXi:
# esxcli hardware cpu list
# Список iSCSI-адаптеров и их имена:
# esxli iscsi adapter list
# Список сетевых адаптеров:
# esxcli network nic list
# Информация об IP-интерфейсах хоста:
# esxcli network ip interface list
# Информация о настройках DNS:
# esxcli network ip dns search list
# esxcli network ip dns server list
# Состояние активных соединений (аналог netstat):
# esxcli network ip connection list
# Вывод ARP-таблицы:
# esxcli network neighbors list
# Состояние фаервола ESXi и активные разрешения для портов и сервисов:
# esxcli network firewall get
# esxcli network firewall ruleset list
# Информация о томах VMFS, подключенных к хосту:
# esxcli storage vmfs extent list
# Мапинг VMFS-томов к устройствам:
# esxcli storage filesystem list
# Текущая версия ESXi:
# esxcli system version list
# Вывод информации о путях и устройствах FC:
# esxcli storage core path list
# esxcli storage core device list
# Список плагинов NMP, загруженных в систему:
# esxcli storage core plugin list
# Рескан HBA-адаптеров:
# esxcli storage core adapter rescan
# Получить список ВМ с их World ID и убить их по этому ID
# esxcli vm process list # получаем ID
# esxcli vm process kill --type=[soft,hard,force] --world-id=WorldID
# Узнать и изменить приветственное сообщение ESXi:
# esxcli system welcomemsg get
# esxcli system welcomemsg set
# Поискать что-нибудь в Advanced Settings хоста:
# esxcli system settings advanced list
# Текущее аппаратное время хоста:
# esxcli hardware clock get
# Порядок загрузки с устройств:
# esxcli hardware bootdevice list
# Список PCI-устройств:
# esxcli hardware pci list
# Рескан iSCSI-адаптеров (выполняем две команды последовательно):
# esxcli iscsi adapter discovery rediscover -A {adapter_name}
# esxcli storage core adapter rescan [-A {adapter_name} | -all]
# Список виртуальных коммутаторов и портгрупп:
# esxcli network vswitch standard list
Активация dependend-hardware iSCSI (broadcom chip)
Ethernet Broadcom 5708,5709(1Gb) и 57711(10Gb) имеет iSCSI offload engine на
борту. Дравера к ним появились начиная с 4.1 Update 1.
1) создать выделенные vmk (для каждого адаптера) и в свойствах портовой
группы vmk в "NIC Teaming" -- "Failover Order" в Active оставить только
broadcom-овские аплинки
2) Привязать VMK к соответствующим iscsi-vmhba:
esxcli swiscsi nic add -n vmk2 -d vmhba32
esxcli swiscsi nic add -n vmk3 -d vmhba33
3) Настройка target-discavering "Broadcom iSCSI Adapter" идентична
настройкам для Software iSCSI
Назначение нескольких vmk для доступа к iSCSI
1. Создать несколько vmk-адресов (желательно, привязав их на разные аплинки)
2. биндим vmk1 и vmk2 в Siftware iSCSI vmhba31 (или какой у него номер)
esxcli swiscsi nic add -n vmk2 -d vmhba31
esxcli swiscsi nic add -n vmk3 -d vmhba31
esxcli swiscsi nic list -d vmhba33
Пути ведущие к iSCSI-лунам с vmk1 и vmk2 будут выглядеть соотвественно
vmhba33:C1:T*:L* и vmhba33:C2:T*:L*
Выбирая путь к LUN'у с C1 или C2 - мы определяем IP-адрес и интерфейс,
с которого будет вестись работа с этим путем к LUN'у
Маскировка LUN в vSphere 4
Для маскировки LUN'у вместо штатного плугина PSA назначается "тупой"
плугин MASK_PATH
# найти LUN_ID нужного LUN
esxcfg-scsidevs -l
# все пути для этого LUN. Например vmhba2:C0:T2:L13
esxcfg-mpath -L | grep {LUN_ID}
# Добавить правило в конфиг-файл под незанятым номером (в диапазоне 101-200)
esxcli corestorage claimrule add --rule 113 -t location -A vmhba2 -C 0 -T 2 -L 13 -P MASK_PATH
# Загрузить созданное правило в список активных
esxcli corestorage claimrule load
# Убедиться, что имеются два правила с выбранным номером (file и runtime)
esxcli corestorage claimrule list
# Переопределить текущие правила для маршрутов к LUN'у на только что созданные.
esxcli corestorage claiming reclaim -d {LUN_ID}
esxcfg-scsidevs -m
Origin: http://vgeek.noteit.ru/3097.html
Origin: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1009449
# Отмена маскрировки LUN'a
esxcli corestorage claimrule list
esxcli corestorage claimrule delete --rule 113
esxcli corestorage claimrule load
esxcfg-rescan
esxcfg-rescan # один раз может не помочь
esxcfg-mpath -l -P vmhba1:C0:T0:L0
esxcli corestorage claiming reclaim -d {NAA.ID}
Активация SNMP-агента в ESXi 4
# Куда слать трапы (напр. с комьюнити public)
vicfg-snmp --server hostname -t host.snmp.receiver/public
# Задать порт SNMP-агента (для get/set)
vicfg-snmp --server hostname -p 161
# Задать комьюнити для агента (например public)
vicfg-snmp --server hostname -c public
# Включаем агента SNMP
vicfg-snmp --server hostname -enable
Настройки сохраняются в /etc/vmware/snmp.xml
# Описания MIB и трапов - тут
http://communities.vmware.com/community/developer/managementapi
Сетевая PXE инсталляция ESXi 4.1
http://communities.vmware.com/blogs/vmwareinsmb/2010/07/13/esxi-41-scripted-installation-via-pxe-and-kickstart
Делаем USB-флешку для инсталляции ESXi 4.1 с USB
Origin: Vallard Benincosa http://benincosa.org/blog/?p=171
Doinfo: http://habrahabr.ru/blogs/sysadm/109204/#habracut
Dopinfo scripts: http://www.vm-help.com/forum/viewtopic.php?f=14&t=4
# монтируем ESXi iso
mount -o loop /VM/VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso /media/ESXi
На флешке: 1 primary partition, size >= 310M, active, type "b" W95 FAT32
# Отформатировать партицию под vfat
mkfs.vfat -n BOOT -F 32 /dev/sdc1
# прописать mbr на саму флешку, скопировать загрузчик syslinux на партицию
syslinux -s /dev/sdc1
dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
# Скопировать содержимое ESXi-cdorm на флешку
mount /dev/sdc1 /media/USB
cp -a /media/ESXi /media/USB
# Удалить с флешки "родной" iso-загрузчик
rm /media/USB/isolinux.bin
# подсунуть "родное" стартовое меню загрузчику syslinux
mv /media/USB/isolinux.cfg /media/USB/syslinux.cfg
########################################################
# инсталлятор будет искать install на CDROM, поэтому без КС-файла не обойтись
# в файле меню добавить вызов ks-файла для unattended инсталляции: ks=usb
########################################################
default menu.c32
menu title VMware VMvisor Boot Menu
timeout 80
label ESXi Installer
menu label ^ESXi Installer
kernel mboot.c32
append vmkboot.gz ks=usb --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz
# ks=file:///etc/vmware/weasel/ks.cfg
label ^Boot from local disk
menu label ^Boot from local disk
localboot 0x80
########################################################
# simple kickstart file (ks.cfg) just looks like this:
########################################################
vmaccepteula
rootpw cluster
######## расскомментировать, если полностью в себе уверен:
# автоформат 1-го диска # autopart --firstdisk --overwritevmfs
install usb
# install url example.com/vm - распакованый образ инсталляшки
network --bootproto=static --ip=192.168.70.76 --gateway=192.168.70.1 --hostname=esxi-76 --device=vmnic0 --nameserver=192.168.70.1 --netmask=255.255.255.0
reboot
########################################################
Если соседские VC генерят разным виртуалкам совпадающие mac-адреса
Mac-адрес виртуалки генерится исходя из VC Unique ID - если центры залиты с
одного темплейта, то дубляж mac-ов практически гарантирован.
Лечение: в настройках VM - меняем адаптеру automatic на ручной, затем снова
automatic
Лечение правильное (Reference VMware KB 1024025):
Administration > vCenter Server Settings > Runtime Settings
Меняем vCenter Server Unique ID (в диапазоне 1-63) - всем разный
vSphere 4.1 - что нового
4.1 - последняя версия ESX. Далее будет только ESXi
Поддержка scripted-инсталляции (исползуется стандартный ks-file)
vSphere-клиент с ESX не ставится. Только с www или с vCentre installation
ESXi - может грузиться с SAN. В т.ч. с software iSCSI.
Storage hardware assistance array integration (VAAI) - операции с vmdk по
возможности отдаются RAID-массиву
Продвинутая storage performance статистика
Ресурсные пулы для storage-операций.
Dependend iSCSI (hardware offload) для Broadcom 57**
http://vmware.com/support/vsphere4/doc/vsp_41_new_feat.html
VM с многоядерным процессором
cpuid.coresPerSocket = 2 # или 4 или 8
Как задать неvmwar'ный МАК-адрес для VM
В ESX 3.5 и 4 это невозможно. В ESXi5 это и так работает
Ниже описана технология для ESX 2 (и workstation)
http://communities.vmware.com/thread/172548
ethernet0.present = "true"
ethernet0.checkMACAddress = "FALSE"
ethernet0.wakeOnPcktRcv = "false"
ethernet0.networkName = "Virtual Machine Network VLAN1"
ethernet0.addressType = "static"
ethernet0.address = "01:23:43:5a:e0:9f"
Как опознать ESX-хост, который заблокировал файл у VM
vmware-cmd -l # список VM-ок и их каталогов.
проверяем, заблокирован ли файл:
touch file-flat.vmdk
. . . device or resource busy
To report the MAC address of the lock holder, run the command:
vmkfstools -D /vmfs/volumes/UUID/VM/lockedfile-flat.vmdk
Lock [type 10c00001 offset 168282112 v 116, hb offset 4145152
gen 1, mode 2, owner 00000000-00000000-0000-000000000000 mtime 69834
num 1 gblnum 0 gblgen 0 gblbrk 0]
RO Owner[0] HB Offset 3166208 56bd4103-63c01780-988c-00505601023e
tail /var/log/vmkernel # в лог попадает MAC-адрес хоста блокиратора
Apr 5 09:45:26 Hostname vmkernel: gen 532, mode 1, owner 45feb537-9c52009b-e812-00137266e200 mtime
00137266e200 - mac-adress service-console IP.
# Еще можно воспользоваться скриптом-надстройкой над vmkfstool -D :
vmfsfilelockinfo -p /vmfs/volumes/Shared/min05/min05-flat.vmdk
"min05-flat.vmdk" locked in Exclusive ... mac address ['00:50:56:01:f0:15']
Host owning the lock on file is 172.20.10.62, lockMode : Exclusive
Блокировки на NFS-стораджах выглядят как .lck.####
Какая VM так же использует мой VMDK?
egrep -i DISKNAME.vmdk /vmfs/volumes/*/*/*.vmx
lsof -n | grep win01-flat.vmdk
310578 vmx FILE 82 /vmfs/volumes/56e80110-ea5fb07e-8c6a-00505601023e/win01/win01-flat.vmdk
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=10051
HA 4.1 рестарт VM
При HA failover делается 5 попыток рестарта виртуальных машин:
R,2min,4min,8min,8min,8min # суммарно - 30 минут
8min таймаут задается в
/opt/vmware/aam/ha/vmwaremanager.pl line 37:
my $VM_RESTART_DELAY_MAX = 480; # 8min
затем
service mgmt-vmware restart
service vmware-vpxa restart
HA admition control
Host Failures Tolerated (1..4)
Размер слота = (Mem x CPU reservation максимальной VM
Считаем сколько слотов помещается в кластере, за вычетом заданного HostTolerate
Получаем максимальное число VM-ок, которое разрешается запустить в кластере
Advanced Configuration parameters for HA
Дефолтный размер HA-слота для машин с нулевой резервацией
das.vmCpuMinMHz = 256 MHz
das.vmMemoryMinMB = 256 Mb
Ограничиваем максимальный размер HA-слота для машин
с очень большой резервацией:
das.slotCpuInMHz
das.slotMemInMB
das.usedefaultisolationaddress = false (по умолчанию - default gw SC)
das.isolationaddressX (X = 1..10) дополнительные Isolation-адреса
das.failuredetectiontime = 15000 (рекомендуется увеличить до 20000 ms)
LUN маскинг в V4
esxcli corestorage claimrule add -r claimrule_ID -t type requiredoption -P MASK_PATH
Distributed switches
Хост хранит настройки от DS в локальном кеше, синхронизирует их каждые 5 мин
/etc/vmware/dvsdata.db
net-dvs -f /etc/vmware/dvsdata.db # дешифровка dvsdata кэша
таймаут на дисконфигурацию - 24 часа
C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg
<dvs><portReserveTimeout>mm</portReserveTimeout></dvs>
Оторванный DS можно удалить только когда от него отцеплены все VM
Генерация лог-бандла на ESX 4
vm-support
Внешний log-host на ESX в /etc/syslog.conf
*.* @IP.address.of.log.host
esxcfg-firewall -o 514,out,udp,syslog_traffic
Внешний log-host на ESXi
vicfg-syslog -s IP.address.of.log.host
Конфигур логинга и его ротации:
/etc/vmware/viconfig/vilogdefaults.xml
Прием логов снаружи на лог-хосте:
/etc/sysconfig/syslog
SYSLOGD_OPTIONS="- -m 0"
service syslog restart
iptables -I INPUT -i eth0 -p udp --dport 514 -j ACCEPT
и добавить его же в /etc/rc.local, или в /etc/sysconfig/iptables
Активация центрального логгинга на vMA
vilogger --server ESX_or_ESXi enable
vilogger enable
vilogger list
vsish
vsish --help # работа с конфигурационными данными ESX
cd - change working directory
ls - list nodes
pwd - print working directory
get - perform GET operation
cat - synonym for GET
set - perform SET operation
typeget - get type information
typels - list type-level nodes
loglevel - set debugging log level
exit,quit,q - quit shell
* vSphere 4 *
vCLI
vicfg-*
esxcli
vmkfstools
vifs
svmotion
resxtop
vmware-cmd
vihostupdate
"vSphere Command-Line Interface Installation and Reference Guide"
http://www.vmware.com/support/pubs
vicfg-nics --server ESXa --username root --password vmware -l
vicfg-nics --server vC1 --username vcadmin --password vmware -vihost ESXa -l
vMA(vmware managemet appliance) - настройки и использование
root - отключен, используем vi-admin
все команды начинаются с префикса vicfg-
esxcfg- - сохранен для backwardcompatibility
1. Активируем vi-fastpass (неинтерактивная авторизация)
sudo vifp addserver vCenter.Server.system
vifp listservers
vifpinit vCenter.Server.system # при новом логине команду повторить
vicfg-nics -l --vihost ESX.host
2. Альтернатива - сохранять временный session file
/usr/share/doc/vmware-vcli/samples/session/save_session.pl
save_session.pl --savesessionfile /tmp/vimsession --server server.name.or.address --username user_name --password password
vicfg-nics --sessionfile /tmp/vimsession -l
Установка vCSHB - VC Server Heartbeat
4Gb disk, 512Mb RAM, Display 1024x768
Включить RDP (My Computer - Propertie - Remote)
Выключить Firewall (Control panel - Windows Firewall)
Enable VSS для C: C: - Properties - Shadow copy
Eth1 - Statical IP for VC, Advanced - WINS - Enable NetBIOS over TCP
Eth2 - Statical IP for HB channel, Advanced - WINS - Enable NetBIOS over TCP
Установить vSphere Client
Установить VC
Дистрибутив vCSHB обязан лежать на C: (с сетевого пути не ставится)
Открыть доступ к консоли esx-VM через VNC
Работает в ESX3.5, ESX4, WorkStation 6,7. В ESXi не работает
http://kb.vmware.com/selfservi...ayKC&externalId=1246
В .vmx добавляем
RemoteDisplay.vnc.enabled = TRUE
RemoteDisplay.vnc.port = "5910"
RemoteDisplay.vnc.password = "secret"
Не забыть в файволе на ESX-сервере открыть указанный порт
esxcfg-firewall --enableService vncServer
или
esxcfg-firewall -i 5910,tcp,in,vnc10
Коннектимся к ESX-серверу:
vncviewer esx.host.name:5910 или esx.host.name:10
Бэкап конфигурации ESXi локально через VIM-CMD
KB: 2042141
# synchronize the configuration changed with persistent storage
vim-cmd hostsvc/firmware/sync_config
# backup the configuration data for an ESXi host
# command outputс URL of backup /scratch/downloads/configBundle-HostFQDN.tgz
vim-cmd hostsvc/firmware/backup_config
Бэкап конфигурации ESXi через RCLI (устарел)
# Бэкап
vicfg-cfgbackup.pl --server esxN --username root --password pass -s c:\esxN.cfg
# Восстановление:
vicfg-cfgbackup.pl --server esxN --username root --password pass -l c:\esxN.cfg
# reset to factory setting
vicfg-cfgbackup.pl --server esxN --username root --password pass -r
Что такое vShield Zones
Это система VM-ок файрволлов(vShield) на каждом ESX + управляющая
консоль(vShield Manager) - тоже VM.
У каждой vShield три сетевых интерфейса: mgmt, unprot и prot, которые
подключены в соотв. портгруппы.
mgmt (со своим IP )- для коммуникации с vShield Manager
unprot смотрит в физическую сетку
prot - смотрит в internal vSwitch - в нем и живут защищаемые VM-ки
Обеспечивает полностью прозрачный firewall, фильтрацию и т.д.
Настройка VM для установки в нее ESXi5
В vSphere 5.0 появился поддерживаемый тип гостевой: vSphere 4 и vSphere 5
При создании новой VM его невозможно выбрать, поэтому создаем VM под
Linux RedHat 5/64, а затем меняем на vSphere 5.
HW CPU и MMU для VM по умолчанию срезается. Чтобы хост пробрасывал в
свои VM аппаратную поддержку виртуализации процессора, добавить в файл
/etc/vmware/config
vhv.allow = "TRUE"
Прочие настройки почти без изменений по сравнению с V4:
VM Virtual Hardware Version 8
GuestOS: vSphere 5
VCPU: 2, RAM: 2Gb++
NIC: 2* e1000
SCSI: LSI Logic Parallel
PortGroup security: Promiscous mode=Accept
Чтобы во вложенном ESXi 5.0 работал FT:
replay.supported = "true"
replay.allowFT = "true"
replay.allowBTOnly = "true"
esxcli system settings advanced set -o /Migrate/VMotionStreamDisable -i 0
esxcfg-advcfg -s 0 /Migrate/VMotionStreamDisable
Настройка VM Workstation 7.0 для установки в нее ESX4
Общий диск делаем Preallocated, Independent, Persistent, NoWriteCache
в .vmx добавляем строчки:
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
Это позволит в Workstation'е не нарываться на блокировку vmdk
Ethernet'а достаточно и одного.
Поставить его в "Bridged" + "Replicate physical connection state"
Для NAT и HosOnly чекбокса "Replicate conn state" нет, его можно сделать:
ethernet0.linkStatePropagation.enable = "TRUE"
Сделать группу vmwareusers - ее члены смогут делать promiscous своим гостям
chgrp vmwareusers /dev/vmnet0
chmod g+rw /dev/vmnet0
Тогда виртуалки будут видны во внешнем LAN.
Wake on LAN включается так:
ethernet0.wakeOnPcktRcv = "FALSE"
Настройка VM для установки в нее ESX4
Да, это возможно. ESX 3.5 и 4.0 может крутиться внутри виртуальной
машины WorkStation 6,7, Mac Fusion 7 и ESX 4.0
http://www.vcritical.com/2009/05/vmware-esx-4-can-even-virtualize-itself/
Настройки VM:
GuestOS: RHEL 5(64 bit)
VM Virtual Hardware Version 7
VCPU: 2, RAM: 2Gb
NIC: 2* e1000
SCSI: LSI Logic Parallel
PortGroup security: Promiscous mode=Accept
Ставимся со стандартного iso с ESX4 или ESX4i
Однако при попытке стартовать VM внутри виртуалного ESX получим:
"You may not power on virtual machine in a virtual machine"
Чтобы справиться с этим добавить в .vmx файл ESX'а строку
monitor_control.restrict_backdoor = TRUE
А чтобы во вложенном ESX работал FT - добавляем (неподдерживаемый) параметр
replay.logReadData = checksum
В V4 перестала работать скриптовая инсталляция
Веб-интерфейс для генерации ks-файлов был ликвидирован, зато в /root/ks.cfg
лежит адекватная версия для проинсталлированной системы.
опция загрузки ksdevice=eth0 отныне не работает, надо использовать vmnic0
итоговая строка скриптовой инсталляции должна выглядеть примерно так:
esx ks=nfs://192.168.51.10/ks/sc-unreal06.cfg ksdevice=vmnic0
http://communities.vmware.com/message/1274648 ? http://communities.vmware.com/message/1274648
ks.cfg # вариант для сетовой инсталляции
. . .
install url http://192.168.1.1/4.0/
. . .
SNIP-config:
kernel vmlinuz-install-vmware4
append initrd=initrd-install-vmware4.img ksdevice=vmnic0 ip=172.16.12.132 netmask=255.255.255.0 gateway=172.16.12.1 nameserver=172.16.11.250 vmkopts=debugLogToSerial:1 mem=512M ks=http://172.16.10.2/ks/${file}.cfg
??
IPAPPEND 1
Как открыть root'доступ в vMA
sudo chsh -s /bin/bash root
how can i view which physical nic each VM's vNic maps to
esxtop will show the used uplink in the TEAM-PNIC colum
(vSphere esxtop only)
Distributed switch: ephemeral vs dynamic port binding
Static - port-id для VM назначается в момент создания/задания подключения
количество подключенных VM ограничено числом портов в портгруппе
Dynamic - port-id выдается в момент poweron
количество "подключеных" VM не ограничено
количество включенных VM ограничено числом портов в портгруппе
Ephemeral - количество портов в портгруппе не задано.
Port-id выдается в момент poweron,
количество включенных VM - любое
В этом режиме невозможно задавать параметры для конкретных port-id
FT - экономим netw - secondary может самостоятельно вести disk IO
По умолчанию весь дисковый ввод/вывод ведет PrimaryVM, а прочитанные данные
передаются на SecondaryVM через FTloggingNet. Но можно переключить SecondaryVM
на самостоятельное чтение с диска
Добавить в .vmx
Естественно, дисковый вывод порождаемый SecondaryVM по-прежнему выполняется
только с PrimaryVM
Кажется, этот фокус возможен только на RDM, ибо на VMDK висит
исключительная блокировка Primary-ESX
replay.allowBTOnly = TRUE setting
FT - список совместимости
3rd-Generation AMD Opteron based on the AMD Barcelona, Budapest and Shanghai
processor families; and Intel Xeon processors based on the Penryn and Nehalem
microarchitectures
Intel Xeon based on 45nm Core 2 Microarchitecture Category:
o 3100, 3300, 5200 (DP), 5400, 7400
Intel Xeon based on Core i7 Microarchitecture Category:
o 5500 Series
AMD 3rd Generation Opteron Category:
o 1300, 2300 Series (DP), 8300 (MP)
Ограничен также список поддерживаемых операционных систем. Подробности:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008027
FT FAQ ? http://kb.vmware.com/kb/1013428
vApp IP settings do not directly influence anything
Then, at the individual VM level turn on Edit Settings > Options > vApp Options, and at OVF Settings turn on one or both of the Environment Transports. The next thing is to go to vApp Options > Advanced > Properties. For each network setting that you want to query in your VM add a new property there, give it an appropriate key, open Type > Edit, select Dynamic Property and the thing you want to query (e.g. IP Address for network Production). When you are satisfied, give your OK to all dialogs and start the VM.
Once the VM is up, depending on which transport you enabled you will find a CD in its drive containing ovf-env.xml or you can query the same information with
vmware-guestd --cmd "info-get guestinfo.ovfEnv"
This XML blob will contain the properties you configured above including, for example an IP adress assigned from the IP Pool. All that's left to do is write code that parses the file and bashes the settings into the guest OS. Of course all vApp properties that are not autoconfigured will be there as well.
Вернуть аплинк из дистрибутед свитча обратно обычному, с SC-портом
esxcfg-vswitch -l # get the port ID for the nic
esxcfg-vswitch -V the-port-id -Q vmnicN DVSvSwitchname
esxcfg-vswitch -L vmnic# vSwitch#
Временная зона в ESX 4
Это настройка для древних ESX. В ESXi 6.7 временная зона не конфигурится!
ls -al /usr/share/zoneinfo/* # файлы описания зон
ls -l /etc/localtime # действующая зона
/etc/sysconfig/clock # установка в пользовательском environment
* Vi 3.5 *
Активация unsupported в ESXi
SSH доступ к ESXi
http://wiki.vm4.ru/InstBase/ssh
Вообще-то unsupported доступен по умолчанию, но на всякий случай:
Клиентом: ESXi-host -- Configuration -- Software -- Advanced Setting
VMkernel.Boot.techSupportMode = Enable
В локальной консоли ESXi нажмите ALT-F1. Напечатайте unsupported.
Текста видно не будет, но вы войдете в режим Tech Support Mode и
появится запрос пароля root
vi /etc/inetd.conf
Расскомментировать #ssh
Перезапустите management services или inetd
/sbin/services.sh restart
kill -HUP `cat /var/run/inetd.pid`
Reboot'ить при этом ESXi не надо - ибо содержимое /etc/inetd.conf
после перезагрузки ресетится к дефолтному состоянию.
Но и описанная технология, гидная для ESXi 3.5 - в 4-ке как-то
не заработала
Что нового в VI4 aka vSphere aka NextGeneration VI
Upgrading VMware deployments
Distributed virtual switches to simplify datacenter-wide network management
VMDirectPath - assign a PCI adapter directly to a virtual machine
Storage vMotion - миграция диска работающей VM
Увеличение размера виртуальных дисков и VMFS томов в онлайне
VMware's new Pluggable Storage Architecture
VMware Fault Tolerance - application availability
Lincked Mode - Manage more than one vCenter Server from the same client
Use the new Host Profiles feature to keep hosts uniformly configured
VMware Distributed Power Management - энергосбережение
Save disk space with thin provisioning
Виртуальные апплиансы, содержащие сразу несколько VM
Если в VI Client не открывается консоль виртуальной машины
Clicked on the VM and selected "open console" I got the following:
"error connecting: can not connect to host x.x.x.x: a connection attempt
failed because the connected party did not properly respond after a period
of time, or established connection failed because connected host has failed
to respond."
To fix the problem add the following line to the /etc/vmware/config file:
vmauthd.server.alwaysProxy = "TRUE"
http://vmetc.com/2008/06/02/vi-client-open-console-attempt-fails/
Если клавиатура в консоли VM двоит
Увеличиваем таймаут между нажатиями в .vmx
keyboard.typematicMinDelay = 20000000
Как остановить виртуальную машину
Получить список зарегистрированных в ESX-сервере машин.
vmware-cmd -l
Посмотреть статус VM
vmware-cmd {cfg} getstate
where {cfg} is the path to the .vmx file retrieved from the vmware-cmd -l
command.
Останов, старт, саспенд, снапшот виртуальной машины: start/stop/suspend/snapshot
vmware-cmd {cfg} stop
4. Verify the state again with:
vmware-cmd {cfg} getstate
Как установить в ESX 3.5 Storage VMotion
www.vmware.com => Downloads => VMware Infrastructure 3 Download =>
Driver & Tools => VMware Infrastructure Remote CLI Download
Проще всего запускаться командой
svmotion --interactive
Как добавить пользовательские дравера на Convertor Cold Clone CD
Within the cd there is a tool called petool.exe with it you can add the
needed extra drivers for your hardware.
You just need to create a folder in uppercase with the drivers, than run the
command bellow, it will import the drivers to the coldclone ISO.
petool.exe -i c:\temp\coldclone.iso -d c:\temp\DRIVERS
Как ограничить IP-доступ к виртуальному центру
conf directory for tomcat and there is a file called server.xml
If you put the following entry in that file it does the job
There is a different valve for limiting by domain name.
Создание и управление VMFS-стораджами
Сторадж создается только на SCSI-дисках (к которым относятся SCSI, SAS, FC,
iSCSI) В отдельной партиции, ID партиции - "fb", начало партиции желательно
выравнять на 128 блок (64Kb)
esxcfg-vmhbadevs # выводит список лунов и соответствующих им /dev/sd* в SC
vmhba1:0:13 /dev/sda
vmhba1:0:14 /dev/sdb
vmhba1:0:21 /dev/sdc
fdisk /dev/sda # создаем primary партицию с ID "fb"
n
p 1
t 1
fb
w
fdisk /dev/sda # выставляем начало 1 партиции на 128-й блок (64-й килобайт)
x
b 1
128
w
. . .
fdisk -l /dev/sda
Device Boot Start End Blocks Id System
/dev/sda1 1 11 88326 fb Vmware VMFS
esxcfg-info -s
При создании стораджа указываем партицию, которую хотим отформатировать под VMFS3
vmkfstools -C vmfs3 -S StorageName vmhba1:0:13:1
Добавление экстенда к стораджу:
vmkfstools -Z vmhba1:0:14:1 vmhba1:0:13:1 # -Z добавка голова
vmkfstools -K name.vmdk #? не проверено - сплющить нулевые блоки в тонком диске
Работа со стораджами
ls -l /vmfs/volumes
vdf
vmkfstools -P StorageName
vmkfstools -P -h StorageName # -h - выводить разнеры в Mb/Gb
# переименование Стораджа (старый симлинк удалять и переименовывать НЕ НАДО)
ln -sf /vmfs/volumes/storage-uuid /vmfs/volumes/NewStorageName
Файлы, из которых состоит VM
VM.vmx Конфиг-файл VM
VM.vmdk Диск VM (конфиг файл диска)
VM-flat.vmdk Цельный диск VM (preallocated - собственно данные)
VM-f0001.vmdk Splitted диск VM (2Гб кусок splited preallocated диска)
VM-s0001.vmdk Splitted growable диск VM (2Гб кусок расрастущего диска)
VM.vmsd Словарь снапшота и заснапшоченых дисков
VM.vmem VM memory mapped то file
VM.nvram NVRAM Award-BIOS'а VM
VM.vmx.lock Lock, создается при старте VM
VM-delta.vmdk Снапшотная дельта
VM-Snapshot8.vmsn Конфигурация снапшота No 8
Distribudet Lock Handling Host-блокировки на VMFS3
Хост-lock создается в heartbit-регионе, timestamp обновляются каждые 3 сек.
Наличие лока проверяется 15 секунд - если за 5 проверок timestamp не
обновился - значит владелец lock'а скончался, и его можно перехватить. Далее
делается восстановление накатом журнала, и ставится свой lock.
Монтаж стораджей, и стораджи на LUN-снапшотах
ESX монтирует все корректные (с его точки зрения) стораджи с VMFS3
В заголовке VMFS3 указан UUID и номер LUN'а, на котором он создан.
Если в заголовке VMFS3 указан не тот LUN, под которым мы его видим -
значит это не оригинал, а RAID-овый снапшот, полученный в результате CA или BC
Категорически недопустимо монтировать два стораджа, имеющих одинаковый UUID
Автоматический монтаж управляется двумя Advanced Config-переменными
LVM.DisallowSnapshotLUN, LVM.EnableResignature
LVM.EnableResignature = 1 (default) если видим снапшотный LUN - прописываем
ему в заголовок новый UUID и LUN, после этого он безболезненно монтируется
LVM.DisallowSnapshotLUN = 1 либо просто запрещаем монтировать такой LUN
LVM.DisallowSnapshotLUN = 0 (default 0) снапшотный LUN - таки монтируется
LVM.EnableResignature = 0 если видим снапшотный LUN - заголовок не меняем
Самый цирк случается, если хитровымученный RAID-массив один и тот же LUN
двум разным хостам показывает под разным lun-номером. Тогда один из них
всегда будет воспринимать этот LUN как заснапшоченый - и стремиться
произвести с ним ресигнатуру - скорректировать заголовок, следом - второй
хост захочет того-же - и так в вечном цикле. Именно для таких случаев
выставляют LVM.EnableResignature = 0, LVM.DisallowSnapshotLUN = 0
Управление переменными:
cat /proc/vmware/config/LVM/EnableResignature # посмотреть
esxcfg-advcfg -g /LVM/EnableResignature # посмотреть
esxcfg-advcfg -s 1 /LVM/EnableResignature # выставить в 1
esxcfg-rescan vmhba1
Либо (стремно)
vi /etc/vmware/esx.conf
/adv/LVM/EnableResignature = "1"
/adv/Disk/MaskLUNs = "vmhba2:0:34-38;vmhba3:0:1,5,7-9"
/adv/Disk/MaxLUN = "256"
/adv/Disk/DiskSupportSparseLUN
/adv/Disk/ShedNumReqOutstanding
shutdown -r 0
Модули, драверы и их настройки
esxcfg-module -q # посмотреть статус и список модулей VMKERNEL
cat /proc/scsi/qla2300/1 # посмотреть настройки 1-го контроллера типа qla2300
/proc/scsi/[draver]/[instance]
esxcfg-boot -q vmkmod # boot-options vmkernel'a
# сконфигурить длину очереди для QLogig FC
esxcfg-module -s ql2maxqdepth=64 qla2300_707_vmw
vi /etc/vmware/esx.conf
/vmkernel/module/qla2300_707_vmw.o/options = ql2maxqdepth=64
vmkload_mod -s qla2300_707_vmw # детальные текущие настройки дравера
Сразу несколько настроек для разных instansow драверa в одной команде:
esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc0_lun_queue_depth=16" lpfcdd_7xx
после любых настроек модулей выполнить команду esxcfg-boot -b
esxcfg-boot -b # пересобирает init-ram-disk и его настройки
Для гостевых Windows - удлинить таймаут по опознанию сбойнувшего диска
Старт -- Рун -- регедит
HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > Disk
TimeOutValue = 60
Работаем с virtual-свитчами
esxcfg-nics -l # статус физических ethernet'ов
esxcfg-nics -s 1000 -d full vmnic2
32 nics per host
32 nics per vSwitch
128 vSwitchs
512 PortGroups
1016 Ports per vSwitch
4096 Ports in all PortGroups (точнее 4096 - 128 - numvswith*8)
esxcfg-vswitch -a vSwith2:32 # создать 24-портовый (32-8) v-свитч
esxcfg-vswitch -D Production vSwith2 # оторвать портгруппу
esxcfg-vswitch -A Production vSwith2 # создать в vSwith2 портгруппу Production
esxcfg-vswitch -A Production -v 105 vSwith2 # создать в vSwith2 портгруппу Production с VLAN 105
esxcfg-vswitch -v 105 -p "Service Console" vSwitch0 # Назначить порт-группе Service Console VLAN 105
esxcfg-vswitch -L vmnic2 vSwith2 # подключить физический ethernet в vSwith2
esxcfg-vswitch -U vmnic2 vSwith2 # оторвать физический ethernet
esxcfg-vswitch -l # просмотреть конфиг всех vSwitch
esxcfg-vswitch -m 9000 vSwith1 # enable Jumbo frames в vSwitch1
esxcfg-vswitch -B listen vSwith1 # включить CiscoDiscoveryProtocol
esxcfg-vswitch -B down vSwith1 # выключить CDP
esxcfg-vswitch -b vSwith1 # проверить статус CDP
esxcfg-vswif -l # Посмотреть IP-настройки Service Console
# Назначить IP-адрес для Service Console
esxcfg-vswif -a -i 192.168.31.36 -n 255.255.255.0 -m 1500 -p "Service Console" vswif0
esxcfg-vmknic -l # посмотреть статус VMkernel'ных IP
esxcfg-vmknic -a -i IP -n NETMASK -m MTU -p PortGroupName # назначить IP для vmkernel
# TSO включается по умолчанию, чтобы не включался - добавить -t
esxcfg-route [gateway-IP] # default gateway для VMkernel
esxcfg-route -l # посмотреть таблицу маршрутизации vmkernel
cat /proc/vmware/net/tcpip/ifconfig
vmping # ping с vmkernel'ного адреса
Как прописать себе права админа VC, если Администратор стал ReadOnly
VC SQL database table : VPX_ACCESS
Then add another row :
ID: 1
Principal : Administrators
Role_ID : -1
ENTITY_ID : 1
FLAG : 3
Afterwards you need to restart the Virtual Center Services.
Как переименовать ESX-сервер 3.5
1. Update the following files with the correct server name
/etc/hosts
/etc/sysconfig/network
/etc/vmware/esx.conf
2. Update the hostname as follows
# hostname mateo0x.hp.local
3. Restart the network
# service network restart
4. Restart the hostd daemon so that the VI client will get the updated hostname
# service mgmt-vmware restart
Scripted installation KS file for ESXi4.1
Origin:
http://www.kendrickcoleman.com/index.php?/Tech-Blog/esxi-41-kickstart-install-wip.html
########### cut here ###################
rootpw changeme
install url http://192.168.187.66/ESXi
autopart --firstdisk --overwritevmfs
reboot
#Network install type
network --bootproto=static --addvmportgroup=false --device=vmnic0 --ip=192.168.50.13 --netmask=255.255.255.0 --gateway=192.168.50.1 --nameserver=192.168.3.2 --hostname=ESXi3.FQDN
accepteula
%firstboot --unsupported --interpreter=busybox
#Assign VLAN to Management PortGroup
esxcfg-vswitch -v 50 -p 'Management Network' vSwitch0
#Add vMotion Portgroup to vSwitch0
esxcfg-vswitch -A vMotion vSwitch0
#Add pNIC vmnic6 to vSwitch0
esxcfg-vswitch -L vmnic6 vSwitch0
#Assign ip address to vMotion vmk1
esxcfg-vmknic -a -i 192.168.51.12 -n 255.255.255.0 -p vMotion
#Assign VLAN to vMotion PortGroup
esxcfg-vswitch -v 51 -p vMotion vSwitch0
sleep 10
#set vMotion to vmk
vim-cmd hostsvc/vmotion/vnic_set vmk1
#Set NIC order policy for port groups
vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic0 --nicorderpolicy-standby=vmnic6 vSwitch0 'Management Network'
vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic6 --nicorderpolicy-standby=vmnic0 vSwitch0 vMotion
#Add new vSwitch for IP Storage
esxcfg-vswitch -a vSwitch_IP-SAN
#Set MTU to 9000 for jumbo frames on vSwitch
esxcfg-vswitch -m 9000 vSwitch_IP-SAN
#Add Portgroup to vSwitch_IP-SAN
esxcfg-vswitch -A NetApp_FAS2020a vSwitch_IP-SAN
#Assign IP address to vmknic
esxcfg-vmknic -a -i 192.168.52.12 -n 255.255.255.0 -m 9000 NetApp_FAS2020a
#Add NICs to new vSwitch
esxcfg-vswitch -L vmnic2 vSwitch_IP-SAN
#Add NICs to new vSwitch
esxcfg-vswitch -L vmnic7 vSwitch_IP-SAN
vim-cmd hostsvc/net/refresh
sleep 10
#Change LoadBalance for Etherchannel - WORKS WHEN TYPED IN CLI BUT NOT WORKING IN SCRIPT FOR SOME REASON
vim-cmd hostsvc/net/vswitch_setpolicy --nicteaming-policy=loadbalance_ip vSwitch_IP-SAN
#Add NFS datastores
esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_A FAS2020a_Node1_NFS_A
esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_B FAS2020a_Node1_NFS_B
esxcfg-nas -a -o 192.168.52.102 -s /FAS2020a_Node2_NFS_A FAS2020a_Node2_NFS_A
#Adding the FT Network
esxcfg-vswitch -a vSwitch_FT
esxcfg-vswitch -A Fault_Tolerance vSwitch_FT
esxcfg-vswitch -L vmnic4 vSwitch_FT
esxcfg-vswitch -L vmnic9 vSwitch_FT
esxcfg-vmknic -a -i 192.168.55.12 -n 255.255.255.0 -p Fault_Tolerance
vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic4 --nicorderpolicy-standby=vmnic9 vSwitch_FT Fault_Tolerance
vim-cmd hostsvc/advopt/update FT.Vmknic string vmk3
vim-cmd hostsvc/net/refresh
#Set DNS
vim-cmd hostsvc/net/dns_set --ip-addresses=192.168.3.23,192.168.3.2
# Set NFS advanced Configuration Settings
esxcfg-advcfg -s 30 /Net/TcpipHeapSize
esxcfg-advcfg -s 120 /Net/TcpipHeapMax
esxcfg-advcfg -s 10 /NFS/HeartbeatMaxFailures
esxcfg-advcfg -s 12 /NFS/HeartbeatFrequency
esxcfg-advcfg -s 5 /NFS/HeartbeatTimeout
esxcfg-advcfg -s 64 /NFS/MaxVolumes
# NTP time config - NOT WORKING!!
echo "Configuring NTP"
echo restrict default kod nomodify notrap noquerynopeer > /etc/ntp.conf
echo restrict 127.0.0.1 >> /etc/ntp.conf
echo server 0.vmware.pool.ntp.org >> /etc/ntp.conf
echo server 2.vmware.pool.net.org >> /etc/ntp.conf
echo driftfile /var/lib/ntp/drift >> /etc/ntp.conf
/sbin/chkconfig --level 345 ntpd on
/etc/init.d/ntpd stop
/etc/init.d/ntpd start
#enable SSH TechSupportMode - shouldn't use this, was just a test
vim-cmd hostsvc/enable_remote_tsm
vim-cmd hostsvc/start_remote_tsm
vim-cmd hostsvc/net/refresh
#grep ^admins: /etc/group > /dev/null || groupadd admins
#useradd -g admins -c LocalESXAccount LocalESX
#echo mypassword | passwd --stdin LocalESX
########### cut here ###################