Advertisement
mightyroot

VMWare QuickRef

Aug 17th, 2012
773
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 79.43 KB | None | 0 0
  1.  
  2. VMware vSphere, ESX
  3.  
  4.  
  5.  
  6. Всякие полезности из командной строки.
  7.  
  8. Как сделать самопальный .vib
  9.  
  10.  
  11.  
  12. VIB-архив вскрывается и создается архиватором ar
  13.   ar tv file.vib
  14.   ar vx file.vib
  15.  
  16. Внутри  лежит  descriptor.xml с описанием и списком файлов пакета,
  17. файл с sig.pkcs7 сигнатурой(можно делать пустой) и
  18. tar-gzip-архив без расширения с файлами пакета
  19.  
  20. tar czvf vibname etc/
  21. vi descriptor.xml
  22. vi sig.pkcs7
  23. ar -r vibname.vib vibname descriptor.xml sig.pkcs7
  24.  
  25. scp vibname.vib root@esxi:/vibname.vib
  26.  
  27. esxcli software acceptance set --level CommunitySupporte
  28. esxcli software vib install -v /vibname.vib
  29.  
  30. Origin:
  31. http://www.yellow-bricks.com/2011/11/29/how-to-create-your-own-vib-files/
  32.  
  33. Добавление пользовательских портов в firewall ESXi 5
  34.  
  35.  
  36.  
  37. cd /etc/vmware/firewall
  38. more services.xml
  39. vi my.xml         # По образу и подобию сделать аналогичные описания портов
  40. esxcli network firewall refresh
  41.  
  42. После перезагрузки этот файл утрачивается - он создан в рамдиске.
  43. Поэтому - копируем его в /storage или куда-нибудь на /vmfs/vlumes/...
  44. и добавляем в /etc/rc.local :
  45.  
  46. cp /store/my.xml /etc/vmware/firewall/
  47. esxcli network firewall refresh
  48.  
  49. Перманентное сохранение настроечных файлов в ESXi 5.0
  50.  
  51.  
  52.  
  53. ESXi размещает свой корень в рамдиске. Конфиг-файлы, подлежащие сохранению
  54. имеют stiky-bit и файл-двойник .#filename
  55. закронтабленной командой /sbin/auto-backup.sh все они сохраняются в архиве
  56. local.tgz, который пакуется внутрь /bootbank/state.tgz
  57. при каждой загрузке конфиги вынимаются из сохраненного local.tgz
  58.  
  59. Не в рамдиске живут /bootbank /altbootbank /store - они конечно сохранюется
  60.  
  61.  ls -al | grep -i ^.........t
  62. -r--r--r-T    1 root     root                  0 Aug 19  2011 .#chkconfig.db
  63. -r--r--r-T    1 root     root                183 Aug 19  2011 .#hosts
  64. -r--r--r-T    1 root     root                 82 Aug 19  2011 .#ntp.conf
  65. -r--r--r-T    1 root     root                257 Aug 19  2011 .#passwd
  66.  . . .
  67.  
  68. ls -al /bootbank # В /bootbank лежат архивы с софтом и конфигурацией
  69.  
  70. cat  /bootbank/boot.cfg # параметр modules в файле boot.cfg
  71.                         # говорит, какие архивы подлежат вскрытию в рамдиске
  72. modules=b.b00 --- useropts.gz --- k.b00 ... --- imgdb.tgz --- state.tgz
  73.  
  74. tar tzvf /bootbank/state.tgz
  75.  -rwx------ 0/0     22135 2012-07-26 19:01:02 local.tgz
  76.  
  77.  
  78. http://www.virtuallyghetto.com/2011/08/how-to-persist-configuration-changes-in.html
  79. http://www.virtuallyghetto.com/2011/08/how-to-persist-configuration-changes-in_09.html
  80.  
  81.  
  82.  
  83. Схлопывание тонкого диска
  84.  
  85.  
  86.  
  87. Опустевший тонкий диск перед схлопыванием - залить нулями
  88. В винде - командой sdelete
  89. В Linux - заливкой пустого места файлом из нулей
  90.    dd if=/dev/zero bs=1024k of=/fs/mount/fuflo ; rm /fs/mount/fuflo ; sync
  91.  
  92. Затем сделать два SVMOTION: thin ==> thick eager ; thick eager ==> thin
  93.  
  94. Место хранения лицензии на ESX-сервере
  95.  
  96.  
  97. /etc/vmware/vmware.lic
  98. /etc/vmware/license.cfg
  99.  при их удалении лицензия сбрасывается
  100.  
  101. Подключение ленточных библиотек в VM
  102.  
  103.  
  104.  
  105. 1. FC-connected tape libraryes not supported
  106.  
  107. 2. Отменить ALUA SATP для библиотечных устройств (tape и changer)
  108.  
  109.  
  110. Для v4.1
  111. esxcli nmp satp listrules -s VMW_SATP_ALUA
  112. esxcli nmp satp deleterule --satp VMW_SATP_ALUA --claim-option tpgs_on
  113.  
  114. Для v5.0
  115. esxcli стораге nmp satp listrules -s VMW_SATP_ALUA
  116. esxcli storage nmp satp rule remove -s VMW_SATP_ALUA
  117.   --device="" --vendor="" --model="" --claim-option="tpgs_on"
  118.       --driver="" --transport="" -b
  119.  
  120. 3. Сделать их monopath.
  121.  
  122. http://vmpress.blogspot.com/2010/12/fc-tape-library-vmware-esxi.html
  123.  
  124.  
  125. Автоматическое создание и удаление снапшотов
  126.  
  127.  
  128. http://faq.sanbarrow.com/index.php?solution_id=1080
  129.  
  130. В WS и Fusion - используем Autoprotect
  131.  
  132. В ESX - руками правим .vmx
  133.  
  134. napshot.minFreeSpace = value in bytes
  135. snapshot.maxSnapshots = number of allowed snapshots
  136.  
  137.  
  138. The basic parameters
  139.  
  140. rollingTier0.interval = "10"
  141. This parameter sets a time-interval in seconds.
  142. With this value a snapshot will be created every 10 seconds
  143.  
  144. snapshot.numRollingTiers = "3"
  145. This parameter sets the number of timers you want to run.
  146.  
  147.  
  148. rollingTier0.maximum = "33"
  149. This parameter sets the maximum number of snapshots that will be created by the timer.
  150.  
  151.  
  152. rollingTier0.live = "TRUE"
  153. Also stores the memory along with the snapshot
  154.  
  155. Удаление снапшотов древнее, чем 3 дня:
  156.  
  157. Get-VM  -Name VMName  | Get-Snapshot | \
  158.  Where-Object { $_.Created -lt (Get-Date).AddDays(-3) } | Remove-Snapshot
  159.  
  160.  
  161. Snaphot parameters
  162.  
  163.  
  164.  
  165. snapshot.action = [ keep | autoRevert | autoCommit | prompt ]
  166. workingDir =
  167. suspend.Directory =
  168. snapshot.numSnapshots =
  169. snapshot.minFreeSpace =
  170.  
  171. HA VM and VM&Application monitoring
  172.  
  173.  
  174.  
  175. Агент  HA мониторит состояние VM, и если она умерла неестественной смертью -
  176. перезапускает на _том же самом_ хосте.
  177.  
  178. VM monitoring, условие перезапуска:
  179.  либо: аварийный останов сопровождающего VMM
  180.  либо: отсутствие vmtools heartbeat AND полное отсутствие IO
  181.  
  182. Application monitoring, условие перезапуска:
  183.  
  184.  Внутри VM необходимо в цикле запускать программу
  185.  C:\VMware-GuestAppMonitorSDK\bin\win32>vmware-appmonitor.exe
  186.   {enable | disable | markActive}
  187.  markActive - подается не реже, чем раз в 30 секунд
  188.  enable     - включает  application monitoring изнутри
  189.  disable    - выключает application monitoring изнутри
  190.  
  191.  Входит в состав VMware-GuestAppMonitorSDK, добывается гуглением
  192.  
  193.  http://www.yellow-bricks.com/2011/08/11/vsphere-5-0-ha-application-monitoring-intro/
  194.  
  195. Vmware Data Recovery
  196.  
  197.  
  198. Pre- и post-freeze скрипты:
  199.  
  200. Windows: Перед бэкапным снапшотом - исполняются по алфавиту все скрипты из
  201. C:\Program Files\VMware\VMware Tools\backupScripts.d
  202.  После удаления бэкапного снапшота - они же, в обратном порядке
  203.  
  204. Linux Pre-freeze /usr/sbin/pre-freeze-script
  205. Linux Post-thaw /usr/sbin/post-thaw-script
  206.  
  207. Serial Port connection
  208.  
  209.  
  210. Вариант: Named Pipe - цепляет компорт одной VM(near end=client) к
  211. компорту другой VM(near end=server) - обе машины используют одинаковое
  212. слово в поле Pipe Named - чтобы найти друг друга
  213.  
  214. Вариант: Use Network
  215.  * Server
  216.  Port URI: telnet://:12345
  217.  После включения VM делаем: "telnet esx.host 12345" и попадаем в компорт VM
  218.  
  219. Вариант: Use Network
  220.  * Client
  221.  Port URI: telnet://external.linux:23456  (можно так же ssh?)
  222.  После включения VM делает "telnet external.linux 23456"
  223.  и пробрасывает туда свой компорт
  224.  
  225. Virtual Serial Port Concentrator
  226.  
  227.  
  228.  
  229. Появился в v4.1. Поставляется в виде (платного?) апплианса
  230. ACS v6000 Virtual Advanced Console Server
  231. В апплиансе управление IP, с консоли: wiz
  232.  
  233. У VM'ки: Add Serial Port -- Connect Via Network --
  234. Click Use Virtual Serial Port Concentrator.
  235. Port URI: ACSID://ttyS42    (42 = номер порта в концентраторе)
  236. vSPC URI: telnet://192.168.1.1:8801 - назначает tcp-порт в концентраторе
  237.  
  238. Внутри гостевого Linux, в /etc/grub.conf
  239. console=ttyS0,9600 - переназначает GRUB-console w COM-port
  240.  
  241. Так же см:  free vspcpy server
  242. http://sourceforge.net/p/vspcpy/home/Home/
  243.  
  244.  
  245. Коротко про View Persona Management
  246.  
  247.  
  248.  
  249. Origin: http://www.vmgu.ru/articles/vmware-view-persona-management
  250.  
  251. Установить на Connection-сервере GPMC.msc - Group Policy Management Editor
  252. http://www.microsoft.com/download/en/details.aspx?id=21895
  253.  
  254. Запускаем GPMC
  255.  
  256. Computer Configuration>Policies>Administrative Templates - Add/Remove Templates
  257.  
  258. Подключаем c:\...\VMware\VMwareView\Server\extras\GroupPolicyFiles\ViewPM.adm
  259.  
  260. Затем переходим в
  261.  
  262. Computer Configuration>Policies>Administrative Templates
  263.  >VMware View Agent Configuration> Persona Management
  264.     >Roaming& syncronisation
  265.        GPO "Persona Repository Location"
  266.     >Folder Redirectiop
  267.        . . .
  268.     >Desktop UI
  269.        . . .
  270.  
  271.  
  272.      Как выключить ESXi через ssh
  273.  
  274. # этот метод жестко убивает VM-ки
  275. ssh root@esx 'shutdown.sh ; poweroff'
  276.  
  277. VM cannot allocate memory при большом об'еме vmdk
  278.  
  279.  
  280.  
  281. При подключении более 20 жмдк и/или больше 4 Т vmdk суммарно
  282. виртуальной машине не хватает heap size.
  283.  
  284. VMFS3.MaxHeapSizeMB = увеличить
  285.  
  286. Создание DB-instance в Oracle для VCSA
  287.  
  288.  
  289.  
  290. sqlplus sys/manager as SYSDBA
  291.  
  292. CREATE SMALLFILE TABLESPACE "VPX" DATAFILE "/var/oracle/oradata/vpxd/vpx01.dbf"
  293.  SIZE 1G AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT
  294.  MANAGEMENT  LOCAL SEGMENT SPACE MANAGEMENT AUTO;
  295.  
  296. CREATE USER "VPXADMIN" PROFILE "DEFAULT" IDENTIFIED BY "oracle"
  297.  DEFAULT TABLESPACE "VPX" ACCOUNT UNLOCK;
  298.  
  299. grant connect, resource, create view, sequence, create table to VPXADMIN;
  300. grant create materialized view to VPXADMIN;
  301. grant execute on dbms_lock, execute on dbms_job to VPXADMIN;
  302. grant execute on dba_tablespaces to VPXADMIN;
  303. grant select on dba_temp_files, select on dba_data_files to VPXADMIN;
  304. grant unlimited tablespace to VPXADMIN;
  305.  
  306. Название instance придумывается и вбивается в web-управлялке VCSA
  307. tsnames.ora редактировать не требуется
  308.  
  309. Advanced настройки управляющие памятью
  310.  
  311.  
  312.  
  313. Mem.ShareVmkEnable = 1       # Разрешает Transparent Page Sharing
  314. Mem.MemZipEnable = 1         # Разрешает Memory Compression
  315. Mem.GuestAllocLargePages = 1 # Разрешает LagePage во всех VM
  316.  
  317. Отключение ASLR (Address Space Layout Randomization) в реестре VM
  318. \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages
  319. создать ключ DWORD = 0       # Disable ASLR = плюс 20% к эффективности TPS
  320.                              # Disable ASLR = минус x% к секьюрности OS
  321.  
  322. Внутри VM читаем информацию о настройках vApp, IP pool и OVF environment
  323.  
  324.  
  325.  
  326. http://virtual-red-dot.blogspot.com/2012/01/vapp-options-in-vm.html
  327.  
  328. http://blogs.vmware.com/vapp/2009/07/selfconfiguration-and-the-ovf-environment.html
  329.  
  330. Linked-clone своими руками
  331.  
  332.  
  333.  
  334. Берем обычную VM-1 с обычным виртуальным диском. Делаем ей снапшот.
  335.  
  336. Делаем VM-2, с "Disk - Use existing".  Через "Browse" находим диск VM-1 - их
  337. там два - исходник, и delta - цепляемся к исходному. Не включая VM-2, делаем
  338. ей  снапшот.  Теперь  VM-1 и VM-2 можно безболезненно запускать, в т.ч. и на
  339. разных хостах.
  340.  
  341.  
  342. Beacon probing по двум аплинкам: револьверный режим
  343.  
  344.  
  345.  
  346. На  двух аплинках beacon probing failure не в состоянии определить, какой из
  347. аплинков "погас" (ведь бродкасты не проходят по обоим  направлениям).  Тогда
  348. дополнительно  проверяется  Link  Status.  Если  оба  аплинка  "up", vSwitch
  349. переключается в "shortgun mode"(двустволка) - весь трафик дублируется в  оба
  350. аплинка.  Это может быть (а может не быть) чревато шквалом RARP бродкастов -
  351. используемых при "Notify switches".
  352.  
  353. Beacon probing нельзя применять при Ether Channel (balancing by IP hash)
  354.  
  355. Просмотр информации о хардвере ESXi 5.0
  356.  
  357.  
  358.  
  359. smbiosDump
  360.  
  361. Установка апдейта в vSphere 5.0
  362.  
  363.  
  364.  
  365. vihostupdate в V5 отменена. Вместо нее esxcli
  366.  
  367. esxcli -server=x.x.x.x -username=root software vib update -depot=/vmfs/volumes/datastore/ESXi500-201109001.zip
  368.  
  369. Что почитать про vSphere
  370.  
  371.  
  372. Книжки:
  373.  
  374. Scott Lowe "Mastering vSphere 5"
  375. F.Guthrie, S.Lowe, M.Saidel-Keesing "VMware vSphere Design"
  376. Duncan Epping, Duncan Epping "VMware vSphere 5 Clustering Technical Deepdive"
  377.  
  378. Околоvmware'овские блоги:
  379.  
  380. http://www.vmgu.ru
  381. http://vmind.ru
  382. http://www.virtuallyghetto.com
  383. http://www.vm4.ru
  384. http://blog.vadmin.ru
  385. http://jabuin.livejournal.com/
  386. http://www.vsphere.ru
  387. http://www.vmworld5.ru
  388. http://vmpress.blogspot.com
  389. http://communities.vmware.com/blogs/Deshifrator
  390. http://communities.vmware.com/community/vmtn/vmug/forums/emea/russia?view=discussions
  391.  
  392. VMware Free Learning Videos
  393. VMware Technical Journal
  394.  
  395. VADP: vSphere storage APIs for Data Protection
  396.  
  397.  
  398. VAPD FAQ
  399. VADP описание API http://www.vmware.com/support/developer/vddk/vadp_vsphere_backup111.pdf
  400. VADP сам по себе (загрузка?)
  401.  
  402. VAAI: vSphere storage APIs for Array Integration
  403.  
  404.  
  405.  
  406.    VAAI plugins for Array
  407.  
  408. ATS (Atomic Test and Set) - Hardware Assisted Locking
  409.  
  410. Clone - Hardware Accelerated Full Copy - копирование vmdk
  411.  
  412. Zero -  Hardware Accelerated Block Zeroing - обнуление eager zeroed vmdk
  413.  
  414. Delete - Thin Provisioning - оповещение RAID об удалении VMDK (полезно для массивов с thin-provisioned LUN)
  415.  
  416.    VAAI plugins for NFS
  417.  
  418. Reserve Space - позволяет создать thick vmdk на NFS'e
  419.  
  420. Full File Clone - копирование vmdk
  421.  
  422. Lasy File Clone - "копирование" посредством NAS-snapshot (offload аналог linked clone)
  423.  
  424. Extended Statistics
  425.  
  426.     Просмотр возможносри VAAI для разных LUNs
  427.  
  428. esxcli storage core device vaai status get
  429.  
  430.     Просмотр стандартных назначений VAAI-модулей для поддерживаемых Arrais
  431.  
  432. esxcli storage core claimrules list -c all
  433.  
  434. Как назначить локальному SATA диску фальшивый атрибут SSD
  435.  
  436.  
  437.  
  438. http://www.virtuallyghetto.com/2011/07/how-to-trick-esxi-5-in-seeing-ssd.html
  439.  
  440. # делаем правило
  441. esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device mpx.vmhba1:C0:T2:L0 --option=enable_ssd
  442.  
  443. # проверяем его
  444. esxcli storage nmp satp rule list | grep enable_ssd
  445.  
  446. # активируем
  447. esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T2:L0
  448. vim-cmd hostsvc/storage/refresh
  449.  
  450. # убеждаемся
  451. esxcli storage core device list --device=mpx.vmhba1:C0:T2:L0
  452.  
  453. Чтобы ESXi не жаловался на включенный SSH
  454.  
  455.  
  456.  
  457. Configuration -- Software -- "Advanced Settings"
  458. UserVars > UserVars.SupressShellWarning = 1
  459.  
  460. HA/DRS 5.0 advanced options
  461.  
  462.  
  463.  
  464. VMware Distributed Resource Management: Design, Implementation and Lessons Learned
  465.  
  466. das.ignoreinsufficienthbdatastore = true
  467. das.heartbeatdsperhost = value
  468. http://www.virtuallyghetto.com/2011/07/new-vsphere-5-ha-drs-and-sdrs.html
  469.  
  470. Частота прерывания таймера в Linux
  471.  
  472.  
  473.  
  474. Кернельный параметр divider=10 сокращает дефолтную частоту обработчика
  475. таймера в 10 раз, что сокращает CPU overhead для idle VM.
  476.  
  477. Размещение снапшотов
  478.  
  479.  
  480.  
  481. snapshot.redoNotWithParent = "TRUE"
  482. workingDir = "..."
  483. snapshot.maxSnapshots = "n"
  484.  
  485. Configuring Auto Deploy on the vCenter Server Appliance
  486.  
  487.  
  488.  
  489. Подробнее тут
  490. http://www.yellow-bricks.com/2011/08/25/using-vsphere-5-auto-deploy-in-your-home-lab/
  491.  
  492.  1. Запускаем Autodeploy на VCapp
  493. https://vcapp-iodine12.hp.local:5480/
  494. Services - Status - Start ESXi services
  495.  
  496.  2. Настраиваем TFTP
  497.  
  498. vSphere Client -- Home - Administration - Autodeploy -
  499. "Download TFTP boot zip" и вскрываем эти PXE-файлы
  500. в корневой каталог TFTP-сервера
  501.  
  502. Привязка PXE-загрузчика к конкретному Autodeploy - в файле "tramp":
  503. #!gpxe
  504. set filename https://10.10.47.242:6502/vmw/rbd/tramp
  505. chain https://10.10.47.242:6502/vmw/rbd/tramp
  506.  
  507.  3. Настраиваем DHCP
  508.  
  509. vi /etc/sysconfig/dhcpd
  510. DHCPD_INTERFACE="eth0"
  511.  
  512. mv /etc/dhcpd.conf /etc/dhcpd.conf.old
  513. vi /etc/dhcpd.conf
  514.  
  515. ddns-update-style interim;
  516. subnet 10.10.47.0 netmask 255.255.255.0 {
  517. range 10.10.47.212 10.10.47.212;
  518. option routers 10.10.47.3;
  519. option subnet-mask 255.255.255.0;
  520. option domain-name-servers 192.168.47.3;
  521.  
  522. # файл автодеплойного загрузчика на указанном TFTP сервере
  523. filename "undionly.kpxe.vmw-hardwired";
  524. next-server 192.168.47.112;
  525.  
  526. host _disklessesxhostname_ {
  527. hardware ethernet _MA:Ca:dd:re:ss:ESX_;
  528. fixed-address 10.10.47.212;
  529. } }
  530.  
  531. service dhcpd restart
  532.  
  533.  4. Настраиваем Autodeploy с помощью autodeploy PlugIN
  534.  
  535. http://labs.vmware.com/flings/autodeploygui
  536.  
  537.  4. Настраиваем Autodeploy с помощью PowerCLI
  538.  
  539. File path to the ESXi offline image c:\HL234\VMware-ESXi-5.0.0-469512-depot.zip
  540.  
  541. # разрешаем работу PowerCLI
  542. get-executionpolicy
  543. set-executionpolicy unrestricted
  544. connect-viserver vCenter.Server.name
  545.  
  546. # подключаем архив с дистрибутивом ESXi к ImageBuilder
  547. Add-EsxSoftwareDepot  c:\HL234\VMware-ESXi-5.0.0-469512-depot.zip
  548.  
  549. # а так подключается vmwar-овский депот
  550. Get-Help Add-ESXSoftwareDepot -Full
  551. Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  552. # HP depot с HP-build ESXi
  553. Add-EsxSoftwareDepot http://vibsdepot.hp.com/index.xml
  554. # Список image-профайлов в подключенных депотах
  555. get-esximageprofile
  556.  
  557. # Заряжаем правила соответствия - какой хост каким boot-образом кормить:
  558.  
  559. # Привязываем image-профайл (фактически - boot-образ) ко всем хостам
  560. new-deployrule -name prawilo1 -item ESXi-5.0.0-469512-standard -allhosts
  561.  
  562. # загруженный хост включать в кластер Cluster12
  563. new-deployrule -name prawilo2 -item "Cluster12" -allhosts
  564.  
  565. # к загруженному хосту применить Host Profile
  566. new-deployrule -name prawilo3 -item "HostProfile12" -allhosts
  567.  
  568. # Активируем созданные правила
  569. add-deployrule -deployrule prawilo1
  570. add-deployrule -deployrule prawilo2
  571. add-deployrule -deployrule prawilo3
  572. add-deployrule -deployrule
  573. get-deployruleset
  574.  
  575.     Еще несколько команд:
  576.  
  577. Test-DeployRuleSetCompliance -VMHost host1.company.local
  578. Get-VMHost host1.company.local | Test-DeployRuleSetCompliance
  579.  
  580. Get-VMHost host1.company.local | Test-DeployRuleSetCompliance | Repair-DeployRuleSetCompliance
  581.  
  582. Get-VMHostAttributes -VMHost host1.company.localB
  583. Get-VMHost host1.company.local | Get-VMHostAttributesB
  584.  
  585. Get-VMHostMatchingRules  host1.company.local
  586. Get-VMHost host1.company.local | Get-VMHostMatchingRulesB
  587.  
  588. Get-Command -Module VMware.DeployAutomaionB
  589.  
  590. Image Builder
  591.  
  592.  
  593.  
  594. Add-EsxSoftwareDepot C:\ESXi-Depot\update-from-esxi5.0-5.0_update01.zip     # Add offline software depot
  595. Add-EsxSoftwareDepot http://vibsdepot.hp.com                                # Add online software depot
  596.  
  597. Remove-EsxSoftwareDepot zip:C:\ESXi-Depot\update-from-esxi5.0-5.0_update01.zip?index.xml  # Remove offline software depot
  598.  
  599.  Get-EsxSoftwareChannel
  600.  
  601.  Set-EsxImageProfile
  602.  
  603. Get-EsxSoftwarePackage                                                      # Show available VIBs
  604. Get-EsxSoftwarePackage -Name tools-light                                    # Show details for VIB "tools-light"
  605. Get-EsxSoftwarePackage -Vendor VMware                                       # Show all VMware VIBs
  606. Get-EsxSoftwarePackage -AcceptanceLevel PartnerSupported                    # Show PartnerSupported VIBs
  607. Get-EsxSoftwarePackage net-e1000 | Select -ExpandProperty Depends           # Show dependencies for VIB "net-e1000"
  608. Get-EsxSoftwarePackage net-e1000 | Select -ExpandProperty Conflicts         # Show conflicts for VIB "net-e1000"
  609. Get-EsxSoftwarePackage net-e1000 | Select StatelessReady                    # Identify if VIB "net-e1000" is Stateless Ready
  610.  
  611. New-EsxImageProfile -CloneProfile ESXi-5.0.0-20120302001-standard -Name CustomProfile -AcceptanceLevel PartnerSupported
  612. New-EsxImageProfile -NewProfile -Name MinInstall -Vendor Custom -SoftwarePackage esx-base,esx-tboot,misc-drivers
  613.  
  614. Add-EsxSoftwarePackage    -ImageProfile CustomProfile -SoftwarePackage tools-light # Add VIB "tools-light" to CustomProfile
  615. Remove-EsxSoftwarePackage -ImageProfile CustomProfile -SoftwarePackage tools-light # Remove VIB "tools-light" from CustomProfile
  616.  
  617. Get-EsxImageProfile  # Show Image Profiles
  618. Get-EsxImageProfile CustomProfile | Select -Expand VibListY                        # List VIBs in Image Profile "CustomProfile"
  619. Compare-EsxImageProfile CustomProfile01 CustomProfile02                            # Compare Image Profiles CustomProfile01 and CustomProfile02
  620.  
  621. Export-EsxImageProfile -ImageProfile CustomProfile -ExportToIso -FilePath C:\ESXi-Depot\CustomProfile.iso
  622. Export-EsxImageProfile -ImageProfile CustomProfile -ExportToBundle -FilePath C:\ESXi-Depot\CustomProfile.zip
  623.  
  624. Get-Command -Module VMware.ImageBuilder
  625.  
  626.  
  627. Изменение частоты таймера для Linux
  628.  
  629.  
  630.  
  631. Штатная частота прерываний таймера во многих Linux - 1000 Hz. Понизить ее до
  632. 100 Hz можно ключом начальной загрузки:
  633.  
  634. divider=10
  635.  
  636. Если DPM не выключает хосты
  637.  
  638.  
  639. Проверить, что _все_ VM-ки поддаются vmotion в оба конца.
  640. Зачистить COM-порты у VM-ок, полученных с помощью Convertor'а,
  641. как минимум выставить им: NOT connected, и NOT connected at poweron
  642.  
  643. Чтоб vsphere-клиент при выборе LUN для RDM/VMFS показывал все LUN
  644.  
  645.  
  646. Чтоб vsphere-клиент при выборе LUN для RDM/VMFS показывал все LUN,
  647. а не только незанятые:
  648.  
  649. Administration > vCenter Server Settings > Advanced Settings.
  650.  
  651. config.vpxd.filter.rdmFilter; false
  652. config.vpxd.filter.vmfsFilter; false
  653.  
  654. Это СТРЕМНО! Не подумав, не применять!
  655. http://kb.vmware.com/selfservice/microsites/search.do?externalId=1010513
  656.  
  657. Оффтопик. Скриптинг в win-cmd
  658.  
  659.  
  660.  
  661. cmd /c c:\wintools\devcon.exe find "USB\VID_0BB4&PID_0C02&MI_01" | c:\batch\htc.cmd
  662. ########### htc.cmd ##########################
  663. @echo off
  664. set /p res=
  665. if "%res%"=="No matching devices found." goto end
  666. "C:\Program Files (x86)\MyPhoneExplorer\MyPhoneExplorer.exe" action=sync flags=noerrmsg syncitem=multi
  667. :end
  668.  
  669.  
  670. VDS - конфигурирование без VC
  671.  
  672.  
  673.  
  674. Вообще-то  без  VC VDS конфигурировать невозможно, но если у портовой группы
  675. port binding = ephemeral, то подключить виртуалку к VDS можно будет и  через
  676. host, без доступа к VC
  677.  
  678.  
  679. Превращение VM с 4-vcpu в VM с двумя двухядерными процессорами
  680.  
  681.  
  682.  
  683. cpuid.coresPerSocket = 2
  684.  
  685. Как уменьшить размер виртуального диска
  686.  
  687.  
  688.  
  689. 1. Партицию на уменьшаемом диске надо подрезать _заранее_
  690.  
  691. 2. В файле .vmdk уменьшаем явно заданный (в блоках по 512b) размер диска,
  692. RW 25165824 VMFS "Win2003se-flat.vmdk"
  693. затем - делаем диску migrate, или "storage vmotion" или VM clone.
  694.  
  695. 3. Официально vmware этот трюк не поддерживает.
  696.  
  697. Просмотр ARP-таблицы в ESXi
  698.  
  699.  
  700. esxcli network neighbor list
  701.  
  702. а еще можно - vimsh - по свойствам vSwitch
  703.  
  704. Как обнулить пароль в ESX и ESXi
  705.  
  706.  
  707.  
  708. В ESX - загрузиться single user mode
  709.  
  710. В ESXi содержимое /etc/passwd при каждой загрузке замещается с конфиг-архива.
  711. Поэтому править нужно в нем.
  712.  
  713. setup.tgz лежит на VFAT-партиции No 2(? 3?4?) содержит local.tar -
  714. вскрыть их, исправить файл, затем свернуть обратно и положить на место.
  715.  
  716.  
  717. Как восстановить удаленный VMFS3
  718.  
  719.  
  720.  
  721. Команда "Delete Datastore" удаляет из partition table партицию типа "fb", но
  722. сама мета-информация VMFS - остается целой.
  723.  
  724. Для оживления удаленного VMFS надо просто воссоздать партицию ручным fdisk с
  725. тем же размером, что был у оригинала.
  726.  
  727. Тип партиции: "fb"
  728.  
  729. Командой "e" (Expert mode) - "x 128"(отступ) сместить начало партиции на 128
  730. блок (т.е. 64Kb от начала)
  731.  
  732. Затем "Rescan strorages" - и VMFS будет обнаружен.
  733.  
  734. Переназначение snapshot'ов и swap'а на другой сторадж
  735.  
  736.  
  737.  
  738. Вставляем в .vmx  строчку
  739. workingDir="/vmfs/volumes/Datastore1/vm-snapshots"
  740.  
  741. она переназначает и снапшоты и swapfile тоже.
  742.  
  743. Если swapfile должен лежать в другом сторадже, задаем его:
  744. sched.swap.dir="path_to_vm_directory...or_other_datastore_dir"
  745.  
  746. сделать машине "Remove from inventory"+"Add to inventory"
  747.  
  748.  
  749. Установка updates в ESXi
  750.  
  751.  
  752.  
  753. Встать в Maintеnаnce моде
  754.  
  755. Удаленно:
  756. /usr/lib/vmware-vcli/apps/host/hostops.pl --target_host ESX-Host-FQDN
  757.  --operation enter_maintenance --url https://vCenter-Host/sdk/vimService.wsdl
  758.  
  759. Локально:
  760. vim-cmd hostsvc/maintenance_mode_enter
  761.  
  762. esxupdate --bundle /vmfs/volumes/nfs/update-from-esxi4.1-4.1_update01.zip update
  763.  
  764.  
  765. vim-cmd для ESXi
  766.  
  767.  
  768.  
  769. vim-cmd vmsvc/getallvms          # список всех VM
  770.  
  771. vim-cmd vmsvc/power.getstate 65  # power-статус
  772.  
  773. vim-cmd vmsvc/power.off 64
  774.    power.shutdown,power.suspend ...
  775. vim-cmd vmsvc   # help
  776.  
  777. # shutdown всех VM
  778. vim-cmd vmsvc/getallvms|sed -e "s/ .*//"|grep "^[0-9]*$"|\
  779. while read vmid ; do vim-cmd vmsvc/power.shutdown $vmid ; done
  780.  
  781. Перезагрузка ESX3.5:
  782. shutdown -r или
  783. vim-cmd hostsvc/maintenance_mode_enter
  784. reboot -f
  785. vim-cmd hostsvc/maintenance_mode_exit
  786.  
  787. Реконфигурация сети у vMA
  788.  
  789.  
  790. Можно перезапустить скрипт начальной конфигурации сетевых параметров vMA:
  791.  
  792. # в VMA 4.0
  793. vi-admin$ sudo /opt/vmware/vima/bin/vmware-vima-netconf.pl
  794. # в VMA 4.1
  795. vi-admin$ sudo /opt/vmware/vma/bin/firstboot/vmware-vma-netconf.pl
  796.  
  797. Дабы у vMA не двоила клавиатура - вставить в .vmx
  798.  
  799. keyboard.typematicMinDelay = 2000000
  800.  
  801. Как выполнить команду внутри GUEST OS
  802.  
  803.  
  804.  
  805. Для этого имеется VMware API VIX
  806. download: http://www.vmware.com/support/developer/vix-api/
  807.  
  808. В его состав входит команда vmrun
  809.  
  810. http://www.virtuatopia.com/index.php/Controlling_VMware_Virtual_Machines_from_the_Command_Line_with_vmrun
  811.  
  812. В .vmx вписать (по умолчанию выключено)
  813. vix.inGuest.enable = TRUE
  814.  
  815. Примеры использования vmrun (-T esx , -T ws ...)
  816.  vmrun -T esx -h https://myHost.com/sdk -u hostUser -p hostPassword stop "[datastore1] vm/myVM.vmx"
  817.  
  818.  
  819. vmrun -T esx -h https://hostname/sdk -u root -p PaSs -gu Administrator
  820. -gp guestpasswd listProcessesInGuest "[Vol1] win2008-1/win2008-1.vmx"
  821.  
  822. vmrun -T esx -h https://hostname/sdk -u root -p PaSS -gu Administrator
  823. -gp guestpaswd runProgramInGuest "[datastore1] win2008-1/win2008-1.vmx"
  824. -activeWindow "c:\windows\system32\cmd.exe"
  825.  
  826. vmrun -T ws -h https://hostname:8333/sdk -u root -p PaSS -gu Administrator
  827. -gp guestpasswd killProcessInGuest "[Vol1] win2008-1/win2008-1.vmx" 2368
  828.  
  829. vmrun -T server -h https://hostname:8333/sdk -u root -p PaSS -gu Administrator
  830. -gp guestpasswd runScriptInGuest "[Vol1] CentOS 5/Centos 5.vmx"
  831. /usr/bin/ruby /home/ruby/hello.rb
  832.  
  833. Либо PowerCLI
  834.  
  835. Инсталляция ESXi по сети
  836.  
  837.  
  838.  
  839. Origin: http://communities.vmware.com/blogs/vmwareinsmb/2010/07/13/esxi-41-scripted-installation-via-pxe-and-kickstart
  840. Иметь установленными: dhcpd, tftpd,  apache, syslinux, pxeboot
  841.  
  842. # Настройки приведены для openSUSE 11.3 - для других Linux надо
  843. # делать очевидные замены, типа  zypper == >  apt-get, yum и т.д.
  844.  
  845. zypper install tftp dhcp-server syslinux qiwi-pxeboot apache2
  846.  
  847. #### /etc/dhcpd.conf #### задать инсталляционным адресам загрузчик pxelinux
  848. option domain-name-servers 192.168.1.4;
  849. default-lease-time 86400;
  850. max-lease-time 604800;
  851. authoritative;
  852.  
  853. subnet 192.168.1.0 netmask 255.255.255.0 {
  854. range 192.168.1.151 192.168.163.180;
  855. filename "pxelinux.0";
  856. option subnet-mask 255.255.255.0;
  857. option broadcast-address 192.168.1.255;
  858. option routers 192.168.1.1;
  859. }
  860.  
  861. # А еще лучше - индивидуально задать на mac-адрес хоста
  862. host esxi02 {
  863.  hardware ethernet 08:00:07:26:c0:a5;
  864.  fixed-address 192.168.1.22;
  865. filename "pxelinux.0";
  866. option subnet-mask 255.255.255.0;
  867. option broadcast-address 192.168.1.255;
  868. option routers 192.168.1.1;
  869. }
  870.  
  871.  
  872. ################################
  873.  
  874. Смотрим в /etc/xinetd.d/tftp - где корневая директория tftp, например
  875.         server_args         = -s /srv/tftpboot
  876. меняем   disable             = yes
  877. на       disable             = no
  878. и перезапускаем xinetd
  879. service xinetd restart
  880.  
  881. # Размещаем в ней загрузчик pxelinux
  882. /srv/tftpboot/pxelinux.0
  883. #  и его конфигуратор
  884. # /srv/tftpboot/pxelinux.cfg/default :
  885.  
  886. DISPLAY boot.txt
  887. DEFAULT ESX_4.1_install
  888.  
  889. LABEL ESX_4.1_install
  890. kernel vmware/esx4.1/mboot.c32
  891. append vmware/esx4.1/vmkboot.gz ks=http://192.168.1.4/linux/vmware/esxi-ks.cfg --- vmware/esx4.1/vmkernel.gz --- vmware/esx4.1/sys.vgz --- vmware/esx4.1/cim.vgz --- vmware/esx4.1/ienviron.vgz --- vmware/esx4.1/install.vgz
  892.  
  893.  
  894. в подкаталог tftpd сервера монтируем инсталляционный CDROM ESXi
  895.  
  896. mkdir -p /srv/tftpboot/vmware/esx4.1
  897. mount /dev/cdrom /srv/tftpboot/vmware/esx4.1
  898. или
  899. mount -o loop /export/vmware/ESXi4.1.iso /srv/tftpboot/vmware/esx4.1
  900.  
  901. # Ostalosx sdelatx kick-start-файл, и можно приступать
  902. #### /export/linux/vmware/esxi-ks.cfg ##############
  903. accepteula
  904. rootpw supersecretpassword
  905. autopart --firstdisk --overwritevmfs
  906.  
  907. install url http://192.168.1.4/linux/vmware
  908. network --bootproto=static --ip=192.168.1.22 --gateway=192.168.1.1 --nameserver=192.168.1.4 --netmask=255.255.255.0 --hostname=esxi02 --addvmportgroup=0
  909. reboot
  910. ####################################################
  911.  
  912. Назначение локального SATA-диска в RDM для ESXi
  913.  
  914.  
  915. Origin: http://www.vm-help.com/esx40i/SATA_RDMs.php
  916.  
  917. При создании RDM через клиента ESXi локальные SATA-ные диски выбрать не дает.
  918. Поэтому RDM-конфиг для него придется делать руками, командой vmkfstools
  919.  
  920. # находим VML-идентификатор требуемого диска
  921. ls -l /dev/disks/
  922.  
  923. ... vml.01000000002020202020202020202020203951473358423630535433353030 ->
  924. t10.ATA_____ST3500630AS_________________________________________9QG3CC60
  925.  
  926. # Создаем папку для RDM-дисков и переходим в нее
  927. mkdir /vmfs/volumes/datastore1
  928. cd    /vmfs/volumes/datastore1
  929.  
  930. # создание виртуального RDM (-r с поддержкой снапшотов)
  931. vmkfstools -r /vmfs/devices/disks/vml...30535433353030 rdm1.vmdk -a lsilogic
  932.  
  933. # создание физического RDM (-z без снапшотов)
  934. vmkfstools -z /vmfs/devices/disks/vml.01....5433353030 rdm1.vmdk -a lsilogic
  935.  
  936. В виртуальную машину такой RDM цепляем как "Use existing disk"
  937.  
  938. esxcli в vSphere 5.0
  939.  
  940.  
  941.  
  942. # Список nfs-монтирований на хосте:
  943. # esxcli storage nfs list
  944.  
  945. # Список установленных vib-пакетов:
  946. # esxcli software vib list
  947.  
  948. # Информация о памяти на хосте ESXi, включая объем RAM:
  949. # esxcli hardware memory get
  950.  
  951. # Информация о количестве процессоров на хосте ESXi:
  952. # esxcli hardware cpu list
  953.  
  954. # Список iSCSI-адаптеров и их имена:
  955. # esxli iscsi adapter list
  956.  
  957. # Список сетевых адаптеров:
  958. # esxcli network nic list
  959.  
  960. # Информация об IP-интерфейсах хоста:
  961. # esxcli network ip interface list
  962.  
  963. # Информация о настройках DNS:
  964. # esxcli network ip dns search list
  965. # esxcli network ip dns server list
  966.  
  967. # Состояние активных соединений (аналог netstat):
  968. # esxcli network ip connection list
  969.  
  970. # Вывод ARP-таблицы:
  971. # esxcli network neighbors list
  972.  
  973. # Состояние фаервола ESXi и активные разрешения для портов и сервисов:
  974. # esxcli network firewall get
  975. # esxcli network firewall ruleset list
  976.  
  977. # Информация о томах VMFS, подключенных к хосту:
  978. # esxcli storage vmfs extent list
  979.  
  980. # Мапинг VMFS-томов к устройствам:
  981. # esxcli storage filesystem list
  982.  
  983. # Текущая версия ESXi:
  984. # esxcli system version list
  985.  
  986. # Вывод информации о путях и устройствах FC:
  987. # esxcli storage core path list
  988. # esxcli storage core device list
  989.  
  990. # Список плагинов NMP, загруженных в систему:
  991. # esxcli storage core plugin list
  992.  
  993. # Рескан HBA-адаптеров:
  994. # esxcli storage core adapter rescan
  995.  
  996. # Получить список ВМ с их World ID и убить их по этому ID
  997. # esxcli vm process list # получаем ID
  998. # esxcli vm process kill --type=[soft,hard,force] --world-id=WorldID
  999.  
  1000. # Узнать и изменить приветственное сообщение ESXi:
  1001. # esxcli system welcomemsg get
  1002. # esxcli system welcomemsg set
  1003.  
  1004. # Поискать что-нибудь в Advanced Settings хоста:
  1005. # esxcli system settings advanced list
  1006.  
  1007. # Текущее аппаратное время хоста:
  1008. # esxcli hardware clock get
  1009.  
  1010. # Порядок загрузки с устройств:
  1011. # esxcli hardware bootdevice list
  1012.  
  1013. # Список PCI-устройств:
  1014. # esxcli hardware pci list
  1015.  
  1016. # Рескан iSCSI-адаптеров (выполняем две команды последовательно):
  1017. # esxcli iscsi adapter discovery rediscover -A {adapter_name}
  1018. # esxcli storage core adapter rescan [-A {adapter_name} | -all]
  1019.  
  1020. # Список виртуальных коммутаторов и портгрупп:
  1021. # esxcli network vswitch standard list
  1022.  
  1023.  
  1024.  
  1025. Активация dependend-hardware iSCSI (broadcom chip)
  1026.  
  1027.  
  1028.  
  1029. Ethernet Broadcom 5708,5709(1Gb) и 57711(10Gb) имеет iSCSI offload engine на
  1030. борту. Дравера к ним появились начиная с 4.1 Update 1.
  1031.  
  1032. 1)  создать  выделенные  vmk  (для  каждого адаптера) и в свойствах портовой
  1033. группы vmk в "NIC Teaming" -- "Failover  Order"  в  Active  оставить  только
  1034. broadcom-овские аплинки
  1035.  
  1036. 2) Привязать VMK к соответствующим iscsi-vmhba:
  1037.  
  1038. esxcli swiscsi nic add -n vmk2 -d vmhba32
  1039.  
  1040. esxcli swiscsi nic add -n vmk3 -d vmhba33
  1041.  
  1042. 3)   Настройка   target-discavering   "Broadcom   iSCSI  Adapter"  идентична
  1043. настройкам для Software iSCSI
  1044.  
  1045. Назначение нескольких vmk для доступа к iSCSI
  1046.  
  1047.  
  1048.  
  1049. 1. Создать несколько vmk-адресов (желательно, привязав их на разные аплинки)
  1050. 2. биндим vmk1 и vmk2 в Siftware iSCSI vmhba31 (или какой у него номер)
  1051.  
  1052. esxcli swiscsi nic add -n vmk2 -d vmhba31
  1053.  
  1054. esxcli swiscsi nic add -n vmk3 -d vmhba31
  1055.  
  1056. esxcli swiscsi nic list -d vmhba33
  1057.  
  1058. Пути ведущие к iSCSI-лунам с vmk1 и vmk2 будут выглядеть соотвественно
  1059. vmhba33:C1:T*:L* и vmhba33:C2:T*:L*
  1060.  
  1061. Выбирая путь к LUN'у с C1 или C2 - мы определяем IP-адрес и интерфейс,
  1062. с которого будет вестись работа с этим путем к LUN
  1063.  
  1064. Маскировка LUN в vSphere 4
  1065.  
  1066.  
  1067.  
  1068. Для маскировки LUN'у вместо штатного плугина PSA назначается "тупой"
  1069. плугин MASK_PATH
  1070.  
  1071. # найти LUN_ID нужного LUN
  1072. esxcfg-scsidevs -l
  1073. # все пути для этого LUN. Например vmhba2:C0:T2:L13
  1074. esxcfg-mpath -L | grep {LUN_ID}
  1075.  
  1076. # Добавить правило в конфиг-файл под незанятым номером (в диапазоне 101-200)
  1077. esxcli corestorage claimrule add --rule 113 -t location -A vmhba2 -C 0 -T 2 -L 13 -P MASK_PATH
  1078.  
  1079. # Загрузить созданное правило в список активных
  1080. esxcli corestorage claimrule load
  1081.  
  1082. # Убедиться, что имеются два правила с выбранным номером (file и runtime)
  1083. esxcli corestorage claimrule list
  1084.  
  1085. # Переопределить текущие правила для маршрутов к LUN'у на только что созданные.
  1086. esxcli corestorage claiming reclaim -d {LUN_ID}
  1087.  
  1088. esxcfg-scsidevs -m
  1089.  
  1090. Origin: http://vgeek.noteit.ru/3097.html
  1091. Origin: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1009449
  1092.  
  1093.  # Отмена маскрировки LUN'a
  1094. esxcli corestorage claimrule list
  1095. esxcli corestorage claimrule delete --rule 113
  1096. esxcli corestorage claimrule load
  1097. esxcfg-rescan
  1098. esxcfg-rescan # один раз может не помочь
  1099. esxcfg-mpath -l -P vmhba1:C0:T0:L0
  1100. esxcli corestorage claiming reclaim -d {NAA.ID}
  1101.  
  1102. Активация SNMP-агента в ESXi 4
  1103.  
  1104.  
  1105. # Куда слать трапы (напр. с комьюнити public)
  1106. vicfg-snmp --server hostname -t host.snmp.receiver/public
  1107.  
  1108. # Задать порт SNMP-агента (для get/set)
  1109. vicfg-snmp --server hostname -p 161
  1110. # Задать комьюнити для агента (например public)
  1111. vicfg-snmp --server hostname -c public
  1112.  
  1113. # Включаем агента SNMP
  1114. vicfg-snmp --server hostname -enable
  1115.  
  1116. Настройки сохраняются в /etc/vmware/snmp.xml
  1117.  
  1118. # Описания MIB и трапов - тут
  1119. http://communities.vmware.com/community/developer/managementapi
  1120.  
  1121. Сетевая PXE инсталляция ESXi 4.1
  1122.  
  1123.  
  1124.  
  1125. http://communities.vmware.com/blogs/vmwareinsmb/2010/07/13/esxi-41-scripted-installation-via-pxe-and-kickstart
  1126.  
  1127. Делаем USB-флешку для инсталляции ESXi 4.1 с USB
  1128.  
  1129.  
  1130. Origin: Vallard Benincosa http://benincosa.org/blog/?p=171
  1131. Doinfo: http://habrahabr.ru/blogs/sysadm/109204/#habracut
  1132. Dopinfo scripts: http://www.vm-help.com/forum/viewtopic.php?f=14&t=4
  1133.  
  1134. # монтируем ESXi iso
  1135. mount -o loop /VM/VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso /media/ESXi
  1136.  
  1137. На флешке: 1 primary partition, size >= 310M, active, type "b" W95 FAT32
  1138.  
  1139. # Отформатировать партицию под vfat
  1140. mkfs.vfat -n BOOT -F 32 /dev/sdc1
  1141.  
  1142. # прописать mbr на саму флешку, скопировать загрузчик syslinux на партицию
  1143. syslinux -s /dev/sdc1
  1144. dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
  1145.  
  1146. # Скопировать содержимое ESXi-cdorm на флешку
  1147. mount /dev/sdc1 /media/USB
  1148. cp -a /media/ESXi /media/USB
  1149.  
  1150. # Удалить с флешки "родной" iso-загрузчик
  1151. rm /media/USB/isolinux.bin
  1152. # подсунуть "родное" стартовое меню загрузчику syslinux
  1153. mv /media/USB/isolinux.cfg /media/USB/syslinux.cfg
  1154.  
  1155. ########################################################
  1156. # инсталлятор будет искать install на CDROM, поэтому без КС-файла не обойтись
  1157. # в файле меню добавить вызов ks-файла для unattended инсталляции: ks=usb
  1158. ########################################################
  1159. default menu.c32
  1160. menu title VMware VMvisor Boot Menu
  1161. timeout 80
  1162.  
  1163. label ESXi Installer
  1164. menu label ^ESXi Installer
  1165. kernel mboot.c32
  1166. append vmkboot.gz ks=usb --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz
  1167. # ks=file:///etc/vmware/weasel/ks.cfg
  1168.  
  1169. label ^Boot from local disk
  1170. menu label ^Boot from local disk
  1171. localboot 0x80
  1172. ########################################################
  1173. # simple kickstart file (ks.cfg) just looks like this:
  1174. ########################################################
  1175. vmaccepteula
  1176. rootpw cluster
  1177. ######## расскомментировать, если полностью в себе уверен:
  1178. # автоформат 1-го диска # autopart --firstdisk --overwritevmfs
  1179. install usb
  1180. # install url example.com/vm - распакованый образ инсталляшки
  1181. 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
  1182. reboot
  1183. ########################################################
  1184.  
  1185. Если соседские VC генерят разным виртуалкам совпадающие mac-адреса
  1186.  
  1187.  
  1188.  
  1189. Mac-адрес  виртуалки генерится исходя из VC Unique ID - если центры залиты с
  1190. одного темплейта, то дубляж mac-ов практически гарантирован.
  1191.  
  1192. Лечение:  в настройках VM - меняем адаптеру automatic на ручной, затем снова
  1193. automatic
  1194.  
  1195. Лечение правильное (Reference VMware KB 1024025):
  1196.  
  1197. Administration > vCenter Server Settings > Runtime Settings
  1198. Меняем vCenter Server Unique ID (в диапазоне 1-63) - всем разный
  1199.  
  1200.  
  1201. vSphere 4.1 - что нового
  1202.  
  1203.  
  1204.  
  1205. 4.1 - последняя версия ESX. Далее будет только ESXi
  1206. Поддержка scripted-инсталляции (исползуется стандартный ks-file)
  1207.  
  1208. vSphere-клиент с ESX не ставится. Только с www или с vCentre installation
  1209. ESXi - может грузиться с SAN. В т.ч. с software iSCSI.
  1210. Storage hardware assistance array integration (VAAI) - операции с vmdk по
  1211. возможности отдаются RAID-массиву
  1212. Продвинутая storage performance статистика
  1213. Ресурсные пулы для storage-операций.
  1214. Dependend iSCSI (hardware offload) для Broadcom 57**
  1215.  http://vmware.com/support/vsphere4/doc/vsp_41_new_feat.html
  1216.  
  1217. VM с многоядерным процессором
  1218.  
  1219.  
  1220.  
  1221. cpuid.coresPerSocket =  2   # или 4 или 8
  1222.  
  1223.  
  1224. Как задать неvmwar'ный МАК-адрес для VM
  1225.  
  1226.  
  1227.  
  1228. Никак. В ESX 3.5 и 4 это невозможно.
  1229.  
  1230. Ниже описана технология для ESX 2 (и workstation)
  1231. http://communities.vmware.com/thread/172548
  1232.  
  1233. ethernet0.present = "true"
  1234. ethernet0.checkMACAddress = "FALSE"
  1235. ethernet0.wakeOnPcktRcv = "false"
  1236. ethernet0.networkName = "Virtual Machine Network VLAN1"
  1237. ethernet0.addressType = "static"
  1238. ethernet0.address = "01:23:43:5a:e0:9f"
  1239.  
  1240.  
  1241. Как опознать ESX-хост, который заблокировал файл у VM
  1242.  
  1243.  
  1244. vmware-cmd -l  # список VM-ок и их каталогов.
  1245.  
  1246. проверяем, заблокирован ли файл:
  1247. touch file.vmdk
  1248. . . . device or resource busy
  1249.  
  1250. To report the MAC address of the lock holder, run the command:
  1251.  
  1252. vmkfstools -D /vmfs/volumes/UUID/VMDIR/LOCKEDFILE.xxxx
  1253.  
  1254. tail /var/log/vmkernel #  в лог попадает MAC-адрес хоста блокиратора
  1255.  
  1256. Apr 5 09:45:26 Hostname vmkernel: gen 532, mode 1, owner 45feb537-9c52009b-e812-00137266e200  mtime
  1257. 00137266e200 - mac-adress service-console IP.
  1258.  
  1259. Блокировки на NFS-стораджах выглядят как .lck.####
  1260.  
  1261. Какая VM так же использует мой VMDK?
  1262. egrep -i DISKNAME.vmdk /vmfs/volumes/*/*/*.vmx
  1263.  
  1264. http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=10051
  1265.  
  1266. HA 4.1 рестарт VM
  1267.  
  1268.  
  1269.  
  1270.  
  1271. При HA failover делается 5 попыток рестарта виртуальных машин:
  1272. R,2min,4min,8min,8min,8min # суммарно - 30 минут
  1273.  
  1274. 8min таймаут задается в
  1275.  
  1276. /opt/vmware/aam/ha/vmwaremanager.pl line 37:
  1277.  
  1278. my $VM_RESTART_DELAY_MAX = 480; # 8min
  1279.  
  1280. затем
  1281.  
  1282. service mgmt-vmware restart
  1283. service vmware-vpxa restart
  1284.  
  1285. HA admition control
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Host Failures Tolerated  (1..4)
  1291. Размер слота = (Mem x CPU reservation максимальной VM
  1292. Считаем сколько слотов помещается в кластере, за вычетом заданного HostTolerate
  1293. Получаем максимальное число VM-ок, которое разрешается запустить в кластере
  1294.  
  1295. Advanced Configuration parameters for HA
  1296.  
  1297.  
  1298.  
  1299.   Дефолтный размер HA-слота для машин с нулевой резервацией
  1300. das.vmCpuMinMHz   = 256 MHz
  1301. das.vmMemoryMinMB = 256 Mb
  1302.  
  1303.   Ограничиваем максимальный размер HA-слота для машин
  1304. с очень большой резервацией:
  1305. das.slotCpuInMHz
  1306. das.slotMemInMB
  1307.  
  1308.  
  1309. das.usedefaultisolationaddress = false  (по умолчанию - default gw SC)
  1310. das.isolationaddressX        (X = 1..10) дополнительные Isolation-адреса
  1311.  
  1312. das.failuredetectiontime = 15000  (рекомендуется увеличить до 20000 ms)
  1313.  
  1314.  
  1315. LUN маскинг в V4
  1316.  
  1317.  
  1318.  
  1319. esxcli corestorage claimrule add -r claimrule_ID -t type requiredoption -P MASK_PATH
  1320.  
  1321.  
  1322. Distributed switches
  1323.  
  1324.  
  1325.  
  1326. Хост хранит настройки от DS в локальном кеше, синхронизирует их каждые 5 мин
  1327.  
  1328. /etc/vmware/dvsdata.db
  1329.  
  1330. net-dvs -f /etc/vmware/dvsdata.db   # дешифровка dvsdata кэша
  1331.  
  1332. таймаут на дисконфигурацию - 24 часа
  1333. C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg
  1334. <dvs><portReserveTimeout>mm</portReserveTimeout></dvs>
  1335.  
  1336. Оторванный DS можно удалить только когда от него отцеплены все VM
  1337.  
  1338. Генерация лог-бандла на ESX 4
  1339.  
  1340.  
  1341.  
  1342. vm-support
  1343.  
  1344. Внешний log-host на ESX  в /etc/syslog.conf
  1345. *.* @IP.address.of.log.host
  1346.  
  1347. esxcfg-firewall -o 514,out,udp,syslog_traffic
  1348.  
  1349. Внешний log-host на ESXi
  1350. vicfg-syslog -s IP.address.of.log.host
  1351.  
  1352. Конфигур логинга и его ротации:
  1353. /etc/vmware/viconfig/vilogdefaults.xml
  1354.  
  1355.  
  1356. Прием логов снаружи на лог-хосте:
  1357.  
  1358. /etc/sysconfig/syslog
  1359. SYSLOGD_OPTIONS="- -m 0"
  1360.  
  1361. service syslog restart
  1362. iptables -I INPUT -i eth0 -p udp --dport 514 -j ACCEPT
  1363. и добавить его же в /etc/rc.local, или в /etc/sysconfig/iptables
  1364.  
  1365. Активация центрального логгинга  на vMA
  1366.  
  1367. vilogger --server  ESX_or_ESXi enable
  1368. vilogger enable
  1369. vilogger list
  1370.  
  1371.  
  1372. vsish
  1373.  
  1374.  
  1375.  
  1376. vsish --help # работа с конфигурационными данными ESX
  1377.  
  1378. cd       - change working directory
  1379. ls       - list nodes
  1380. pwd      - print working directory
  1381. get      - perform GET operation
  1382. cat      - synonym for GET
  1383. set      - perform SET operation
  1384. typeget  - get type information
  1385. typels   - list type-level nodes
  1386. loglevel         - set debugging log level
  1387. exit,quit,q  - quit shell
  1388.  
  1389. * vSphere 4 *
  1390.  
  1391.  
  1392.  
  1393. vCLI
  1394.  
  1395.  
  1396. vicfg-*
  1397. esxcli
  1398. vmkfstools
  1399. vifs
  1400. svmotion
  1401. resxtop
  1402. vmware-cmd
  1403. vihostupdate
  1404.  
  1405. "vSphere Command-Line Interface Installation and Reference Guide"
  1406. http://www.vmware.com/support/pubs
  1407.  
  1408. vicfg-nics --server ESXa --username root   --password vmware  -l
  1409. vicfg-nics --server vC1  --username vcadmin --password vmware -vihost ESXa -l
  1410.  
  1411. vMA(vmware managemet appliance) - настройки и использование
  1412.  
  1413.  
  1414.  
  1415. root - отключен, используем vi-admin
  1416.  
  1417. все команды начинаются с префикса vicfg-
  1418. esxcfg- - сохранен для backwardcompatibility
  1419.  
  1420. 1. Активируем vi-fastpass (неинтерактивная авторизация)
  1421.  
  1422. sudo vifp addserver vCenter.Server.system
  1423.  
  1424. vifp listservers
  1425.  
  1426. vifpinit vCenter.Server.system # при новом логине команду повторить
  1427.  
  1428. vicfg-nics -l --vihost ESX.host
  1429.  
  1430. 2. Альтернатива - сохранять временный session file
  1431.  
  1432. /usr/share/doc/vmware-vcli/samples/session/save_session.pl
  1433.  
  1434. save_session.pl --savesessionfile /tmp/vimsession --server server.name.or.address --username user_name --password password
  1435.  
  1436. vicfg-nics --sessionfile /tmp/vimsession -l
  1437.  
  1438. Установка vCSHB - VC Server Heartbeat
  1439.  
  1440.  
  1441.  
  1442. 4Gb disk, 512Mb RAM, Display 1024x768
  1443. Включить RDP (My Computer - Propertie - Remote)
  1444. Выключить Firewall (Control panel - Windows Firewall)
  1445. Enable VSS для C: C: - Properties - Shadow copy
  1446. Eth1 - Statical IP for VC,         Advanced - WINS - Enable NetBIOS over TCP
  1447. Eth2 - Statical IP for HB channel, Advanced - WINS - Enable NetBIOS over TCP
  1448. Установить vSphere Client
  1449. Установить VC
  1450. Дистрибутив vCSHB обязан лежать на C: (с сетевого пути не ставится)
  1451.  
  1452. Открыть доступ к консоли esx-VM через VNC
  1453.  
  1454.  
  1455.  
  1456. Работает в ESX3.5, ESX4, WorkStation 6,7. В ESXi не работает
  1457.  
  1458. http://kb.vmware.com/selfservi...ayKC&externalId=1246
  1459.  
  1460. В .vmx добавляем
  1461.  
  1462. RemoteDisplay.vnc.enabled = TRUE
  1463. RemoteDisplay.vnc.port = "5910"
  1464. RemoteDisplay.vnc.password = "secret"
  1465.  
  1466. Не забыть в файволе на ESX-сервере открыть указанный порт
  1467.  
  1468. esxcfg-firewall --enableService vncServer
  1469. или
  1470. esxcfg-firewall -i 5910,tcp,in,vnc10
  1471.  
  1472. Коннектимся к ESX-серверу:
  1473.  
  1474. vncviewer esx.host.name:5910  или esx.host.name:10
  1475.  
  1476.  
  1477. Бэкап конфигурации ESXi через RCLI
  1478.  
  1479.  
  1480.  
  1481. Бэкап:
  1482.  
  1483. vicfg-cfgbackup.pl --server esxN --username root --password pass -s r:\esxN.cfg
  1484.  
  1485. Восстановление:
  1486. vicfg-cfgbackup.pl --server esxN --username root --password pass -l r:\esxN.cfg
  1487.  
  1488. Что такое vShield Zones
  1489.  
  1490.  
  1491.  
  1492. Это   система   VM-ок  файрволлов(vShield)  на  каждом  ESX  +  управляющая
  1493. консоль(vShield Manager) - тоже VM.
  1494.  
  1495. У каждой vShield три  сетевых  интерфейса:  mgmt,  unprot  и  prot,  которые
  1496. подключены   в   соотв.  портгруппы.
  1497.  
  1498. mgmt (со своим IP )- для  коммуникации  с  vShield  Manager
  1499. unprot смотрит в физическую сетку
  1500. prot - смотрит в internal vSwitch - в нем и живут защищаемые VM-ки
  1501. Обеспечивает полностью прозрачный firewall, фильтрацию и т.д.
  1502.  
  1503. Настройка VM для установки в нее ESXi5
  1504.  
  1505.  
  1506.  
  1507. В vSphere 5.0 появился поддерживаемый тип гостевой: vSphere 4 и vSphere 5
  1508. При создании новой VM его невозможно выбрать, поэтому создаем VM под
  1509. Linux RedHat 5/64, а затем меняем на vSphere 5.
  1510.  
  1511. HW CPU и MMU для VM по умолчанию срезается. Чтобы хост пробрасывал в
  1512. свои VM аппаратную поддержку виртуализации процессора, добавить в файл
  1513.  
  1514. /etc/vmware/config
  1515.  
  1516. vhv.allow = "TRUE"
  1517.  
  1518. Прочие настройки почти без изменений по сравнению с V4:
  1519.  
  1520. VM Virtual Hardware Version 8
  1521. GuestOS: vSphere 5
  1522. VCPU: 2, RAM: 2Gb++
  1523. NIC: 2* e1000
  1524. SCSI: LSI Logic Parallel
  1525.  
  1526. PortGroup security: Promiscous mode=Accept
  1527.  
  1528. Чтобы во вложенном ESXi 5.0 работал FT:
  1529.  
  1530.    replay.supported = "true"
  1531.    replay.allowFT = "true"
  1532.    replay.allowBTOnly = "true"
  1533.  
  1534.    esxcli system settings advanced set -o /Migrate/VMotionStreamDisable -i 0
  1535.    esxcfg-advcfg -s 0 /Migrate/VMotionStreamDisable
  1536.  
  1537. Настройка VM Workstation 7.0  для установки в нее ESX4
  1538.  
  1539.  
  1540.  
  1541. Общий диск делаем Preallocated, Independent, Persistent, NoWriteCache
  1542. в .vmx добавляем строчки:
  1543.  
  1544. disk.locking = "FALSE"
  1545. diskLib.dataCacheMaxSize = "0"
  1546.  
  1547. Это позволит в Workstation'е не нарываться на блокировку vmdk
  1548.  
  1549. Ethernet'а достаточно и одного.
  1550. Поставить его в "Bridged" + "Replicate physical connection state"
  1551. Для NAT и HosOnly чекбокса "Replicate conn state" нет, его можно сделать:
  1552. ethernet0.linkStatePropagation.enable = "TRUE"
  1553.  
  1554. Тогда виртуалки будут видны во внешнем LAN.
  1555.  
  1556. Wake on LAN включается так:
  1557. ethernet0.wakeOnPcktRcv = "FALSE"
  1558.  
  1559. Настройка VM для установки в нее ESX4
  1560.  
  1561.  
  1562.  
  1563. Да, это возможно. ESX 3.5 и 4.0 может крутиться внутри виртуальной
  1564. машины WorkStation 6,7, Mac Fusion 7 и ESX 4.0
  1565.  
  1566. http://www.vcritical.com/2009/05/vmware-esx-4-can-even-virtualize-itself/
  1567.  
  1568. Настройки VM:
  1569.  
  1570. GuestOS: RHEL 5(64 bit)
  1571. VM Virtual Hardware Version 7
  1572. VCPU: 2, RAM: 2Gb
  1573. NIC: 2* e1000
  1574. SCSI: LSI Logic Parallel
  1575.  
  1576. PortGroup security: Promiscous mode=Accept
  1577.  
  1578. Ставимся со стандартного iso с ESX4 или ESX4i
  1579.  
  1580. Однако при попытке стартовать VM внутри виртуалного ESX получим:
  1581. "You may not power on virtual machine in a virtual machine"
  1582.  
  1583. Чтобы справиться с этим добавить в .vmx файл ESX'а строку
  1584.  
  1585. monitor_control.restrict_backdoor = TRUE
  1586.  
  1587. А чтобы во вложенном ESX работал FT - добавляем (неподдерживаемый) параметр
  1588.  
  1589. replay.logReadData = checksum
  1590.  
  1591.  
  1592. В V4 перестала работать скриптовая инсталляция
  1593.  
  1594.  
  1595.  
  1596. Веб-интерфейс для генерации ks-файлов был ликвидирован, зато в /root/ks.cfg
  1597. лежит адекватная версия для проинсталлированной системы.
  1598.  
  1599. опция загрузки ksdevice=eth0 отныне не работает, надо использовать vmnic0
  1600.  
  1601. итоговая строка скриптовой инсталляции должна выглядеть примерно так:
  1602.  
  1603. esx ks=nfs://192.168.51.10/ks/sc-unreal06.cfg ksdevice=vmnic0
  1604.  
  1605. http://communities.vmware.com/message/1274648
  1606. ks.cfg # вариант для сетовой инсталляции
  1607. . . .
  1608. install url http://192.168.1.1/4.0/
  1609. . . .
  1610.  
  1611. SNIP-config:
  1612.  
  1613. kernel vmlinuz-install-vmware4
  1614. 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
  1615.  
  1616. ??
  1617. IPAPPEND 1
  1618.  
  1619. Как открыть root'доступ в vMA
  1620.  
  1621.  
  1622.  
  1623. sudo chsh -s /bin/bash root
  1624.  
  1625. how can i view which physical nic each VM's vNic maps to
  1626.  
  1627.  
  1628.  
  1629. esxtop will show the used uplink in the TEAM-PNIC colum
  1630.  (vSphere esxtop only)
  1631.  
  1632. Distributed switch: ephemeral vs dynamic port binding
  1633.  
  1634.  
  1635.  
  1636. Static - port-id для VM назначается в момент создания/задания подключения
  1637.          количество подключенных VM ограничено числом портов в портгруппе
  1638. Dynamic - port-id выдается в момент poweron
  1639.          количество "подключеных" VM не ограничено
  1640.          количество включенных VM ограничено числом портов в портгруппе
  1641. Ephemeral - количество портов в портгруппе не задано.
  1642.          Port-id выдается          в момент poweron,
  1643.          количество включенных VM - любое
  1644.          В этом режиме невозможно задавать параметры для конкретных port-id
  1645.  
  1646. FT - экономим netw - secondary может самостоятельно вести disk IO
  1647.  
  1648.  
  1649.  
  1650. По умолчанию весь дисковый ввод/вывод ведет PrimaryVM, а прочитанные данные
  1651. передаются на SecondaryVM через FTloggingNet. Но можно переключить SecondaryVM
  1652. на самостоятельное чтение с диска
  1653.  
  1654. Добавить в .vmx
  1655.  
  1656. Естественно, дисковый вывод порождаемый SecondaryVM по-прежнему выполняется
  1657. только с PrimaryVM
  1658.  
  1659. Кажется, этот фокус возможен только на RDM, ибо на VMDK висит
  1660. исключительная блокировка Primary-ESX
  1661.  
  1662. replay.allowBTOnly = TRUE setting
  1663.  
  1664. FT - список совместимости
  1665.  
  1666.  
  1667.  
  1668.  3rd-Generation AMD Opteron based on the AMD Barcelona, Budapest and Shanghai
  1669. processor families; and Intel Xeon processors based on the Penryn and Nehalem
  1670. microarchitectures
  1671.  
  1672.     Intel Xeon based on 45nm Core 2 Microarchitecture Category:
  1673.  
  1674.           o 3100, 3300, 5200 (DP), 5400, 7400
  1675.  
  1676.     Intel Xeon based on Core i7 Microarchitecture Category:
  1677.  
  1678.           o 5500 Series
  1679.  
  1680.     AMD 3rd Generation Opteron Category:
  1681.  
  1682.           o 1300, 2300 Series (DP), 8300 (MP)
  1683.  
  1684.     Ограничен также список поддерживаемых операционных систем. Подробности:
  1685.  
  1686.     http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008027
  1687.  
  1688.     FT FAQ
  1689.  
  1690. vApp IP settings do not directly influence anything
  1691.  
  1692.  
  1693.  
  1694. 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.
  1695.  
  1696. 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
  1697.  
  1698. vmware-guestd --cmd "info-get guestinfo.ovfEnv"
  1699.  
  1700. 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.
  1701.  
  1702. Вернуть аплинк из дистрибутед свитча обратно обычному, с SC-портом
  1703.  
  1704.  
  1705.  
  1706. esxcfg-vswitch -l # get the port ID for the nic
  1707.  
  1708. esxcfg-vswitch -V the-port-id -Q vmnic# DVSvSwitchname
  1709.  
  1710. esxcfg-vswitch -L vmnic# vSwitch#
  1711.  
  1712. * Vi 3.5 *
  1713.  
  1714.  
  1715.  
  1716. Активация unsupported в ESXi
  1717.  
  1718.  
  1719.  
  1720. SSH доступ к ESXi
  1721.  
  1722.  
  1723.  
  1724. http://wiki.vm4.ru/InstBase/ssh
  1725.  
  1726. Вообще-то unsupported доступен по умолчанию, но на всякий случай:
  1727.  
  1728. Клиентом: ESXi-host -- Configuration -- Software -- Advanced Setting
  1729. VMkernel.Boot.techSupportMode = Enable
  1730.  
  1731. В локальной консоли ESXi нажмите ALT-F1. Напечатайте unsupported.
  1732. Текста видно не будет, но вы войдете в режим Tech Support Mode и
  1733. появится запрос пароля root
  1734.  
  1735.  vi /etc/inetd.conf
  1736.  Расскомментировать #ssh
  1737.  Перезапустите management services или inetd
  1738.  
  1739.  /sbin/services.sh restart
  1740.  
  1741.  kill -HUP `cat /var/run/inetd.pid`
  1742.  
  1743. Reboot'ить при этом ESXi не надо - ибо содержимое /etc/inetd.conf
  1744. после перезагрузки ресетится к дефолтному состоянию.
  1745.  
  1746.  Но и описанная технология, гидная для ESXi 3.5 - в 4-ке как-то
  1747. не заработала
  1748.  
  1749. Что нового в VI4 aka vSphere aka NextGeneration VI
  1750.  
  1751.  
  1752.  
  1753. Upgrading VMware deployments
  1754.  
  1755. Distributed virtual switches to simplify datacenter-wide network management
  1756.  
  1757. VMDirectPath - assign a PCI adapter directly to a virtual machine
  1758.  
  1759. Storage vMotion - миграция диска работающей VM
  1760.  
  1761. Увеличение размера виртуальных дисков и VMFS томов в онлайне
  1762.  
  1763. VMware's new Pluggable Storage Architecture
  1764.  
  1765. VMware Fault Tolerance - application availability
  1766.  
  1767. Lincked Mode - Manage more than one vCenter Server from the same client
  1768.  
  1769. Use the new Host Profiles feature to keep hosts uniformly configured
  1770.  
  1771. VMware Distributed Power Management - энергосбережение
  1772.  
  1773. Save disk space with thin provisioning
  1774.  
  1775. Виртуальные апплиансы, содержащие сразу несколько VM
  1776.  
  1777. Если в VI Client не открывается консоль виртуальной машины
  1778.  
  1779.  
  1780.  
  1781. Clicked on the VM and selected "open console" I got the following:
  1782.  
  1783. "error  connecting:  can  not  connect to host x.x.x.x: a connection attempt
  1784. failed because the connected party did not properly respond after  a  period
  1785. of  time, or established connection failed because connected host has failed
  1786. to respond."
  1787.  
  1788.  
  1789. To fix the problem add the following line to the /etc/vmware/config file:
  1790.  
  1791. vmauthd.server.alwaysProxy = "TRUE"
  1792.  
  1793. http://vmetc.com/2008/06/02/vi-client-open-console-attempt-fails/
  1794.  
  1795. Если клавиатура в консоли VM двоит
  1796.  
  1797.  
  1798.  
  1799. Увеличиваем таймаут между нажатиями в .vmx
  1800.  
  1801. keyboard.typematicMinDelay = 20000000
  1802.  
  1803. Как остановить виртуальную машину
  1804.  
  1805.  
  1806.  
  1807. Получить список зарегистрированных в ESX-сервере машин.
  1808.  
  1809. vmware-cmd -l
  1810.  
  1811. Посмотреть статус VM
  1812.  
  1813. vmware-cmd {cfg} getstate
  1814.  
  1815. where {cfg} is the path to the .vmx file retrieved from the vmware-cmd -l
  1816. command.
  1817.  
  1818. Останов, старт, саспенд, снапшот виртуальной машины: start/stop/suspend/snapshot
  1819.  
  1820. vmware-cmd {cfg} stop
  1821.  
  1822. 4. Verify the state again with:
  1823.  
  1824. vmware-cmd {cfg} getstate
  1825.  
  1826. Как установить в ESX Storage VMotion
  1827.  
  1828.  
  1829.  
  1830. www.vmware.com => Downloads => VMware Infrastructure 3 Download =>
  1831. Driver & Tools => VMware Infrastructure Remote CLI Download
  1832.  
  1833. Проще всего запускаться командой
  1834.  
  1835. svmotion --interactive
  1836.  
  1837. Как добавить пользовательские дравера на Convertor Cold Clone CD
  1838.  
  1839.  
  1840.  
  1841. Within  the  cd  there  is  a tool called petool.exe with it you can add the
  1842. needed extra drivers for your hardware.
  1843.  
  1844. You just need to create a folder in uppercase with the drivers, than run the
  1845. command bellow, it will import the drivers to the coldclone ISO.
  1846.  
  1847. petool.exe -i c:\temp\coldclone.iso -d c:\temp\DRIVERS
  1848.  
  1849.  
  1850. Как ограничить IP-доступ к виртуальному центру
  1851.  
  1852.  
  1853.  
  1854. conf directory for tomcat and there is a file called server.xml
  1855. If you put the following entry in that file it does the job
  1856.  
  1857.  
  1858.  
  1859.  
  1860. There is a different valve for limiting by domain name.
  1861.  
  1862. Создание и управление VMFS-стораджами
  1863.  
  1864.  
  1865.  
  1866. Сторадж  создается только на SCSI-дисках (к которым относятся SCSI, SAS, FC,
  1867. iSCSI) В отдельной партиции, ID партиции - "fb", начало партиции  желательно
  1868. выравнять на 128 блок (64Kb)
  1869.  
  1870. esxcfg-vmhbadevs  # выводит список лунов и соответствующих им /dev/sd* в SC
  1871.  
  1872. vmhba1:0:13    /dev/sda
  1873. vmhba1:0:14    /dev/sdb
  1874. vmhba1:0:21    /dev/sdc
  1875.  
  1876. fdisk /dev/sda # создаем primary партицию с ID "fb"
  1877. n
  1878. p 1
  1879. t 1
  1880. fb
  1881. w
  1882.  
  1883. fdisk /dev/sda # выставляем начало 1 партиции на 128-й блок (64-й килобайт)
  1884. x
  1885. b 1
  1886. 128
  1887. w
  1888. . . .
  1889.  
  1890. fdisk -l /dev/sda
  1891.   Device Boot      Start         End      Blocks   Id  System
  1892. /dev/sda1               1          11       88326   fb  Vmware VMFS
  1893.  
  1894. esxcfg-info -s
  1895.  
  1896.  
  1897. При создании стораджа указываем партицию, которую хотим отформатировать под VMFS3
  1898.  
  1899. vmkfstools -C vmfs3 -S StorageName vmhba1:0:13:1
  1900.  
  1901. Добавление экстенда к стораджу:
  1902.  
  1903. vmkfstools -Z  vmhba1:0:14:1  vmhba1:0:13:1   # -Z добавка голова
  1904.  
  1905. vmkfstools -K name.vmdk #? не проверено - сплющить нулевые блоки в тонком диске
  1906.  
  1907.  
  1908. Работа со стораджами
  1909.  
  1910.  
  1911.  
  1912. ls -l /vmfs/volumes
  1913. vdf
  1914. vmkfstools -P StorageName
  1915. vmkfstools -P -h StorageName # -h - выводить разнеры в Mb/Gb
  1916.  
  1917. # переименование Стораджа (старый симлинк удалять и переименовывать НЕ НАДО)
  1918.  
  1919. ln -sf /vmfs/volumes/storage-uuid /vmfs/volumes/NewStorageName
  1920.  
  1921. Файлы, из которых состоит VM
  1922.  
  1923.  
  1924.  
  1925. VM.vmx            Конфиг-файл VM
  1926.  
  1927. VM.vmdk           Диск VM (конфиг файл диска)
  1928. VM-flat.vmdk      Цельный диск VM (preallocated - собственно данные)
  1929.  
  1930. VM-f0001.vmdk     Splitted диск VM (2Гб кусок splited preallocated диска)
  1931. VM-s0001.vmdk     Splitted growable диск VM (2Гб кусок расрастущего диска)
  1932.  
  1933. VM.vmsd           Словарь снапшота и заснапшоченых дисков
  1934. VM.vmem           VM memory mapped то file
  1935. VM.nvram          NVRAM Award-BIOS'а VM
  1936. VM.vmx.lock       Lock, создается при старте VM
  1937. VM-delta.vmdk     Снапшотная дельта
  1938. VM-Snapshot8.vmsn Конфигурация снапшота No 8
  1939.  
  1940. Distribudet Lock Handling Host-блокировки на VMFS3
  1941.  
  1942.  
  1943.  
  1944. Хост-lock создается в heartbit-регионе, timestamp обновляются каждые 3 сек.
  1945.  
  1946. Наличие  лока  проверяется  15  секунд  -  если  за  5 проверок timestamp не
  1947. обновился - значит владелец lock'а скончался, и его можно перехватить. Далее
  1948. делается восстановление накатом журнала, и ставится свой lock.
  1949.  
  1950. Монтаж стораджей, и стораджи на LUN-снапшотах
  1951.  
  1952.  
  1953.  
  1954. ESX монтирует все корректные (с его точки зрения) стораджи с VMFS3
  1955. В заголовке VMFS3 указан UUID и номер LUN'а, на котором он создан.
  1956.  
  1957. Если в заголовке VMFS3 указан не тот LUN, под которым мы его видим -
  1958. значит это не оригинал, а RAID-овый снапшот, полученный в результате CA или BC
  1959.  
  1960. Категорически недопустимо монтировать два стораджа, имеющих одинаковый UUID
  1961. Автоматический монтаж управляется двумя Advanced Config-переменными
  1962. LVM.DisallowSnapshotLUN, LVM.EnableResignature
  1963.  
  1964. LVM.EnableResignature  = 1 (default) если видим снапшотный LUN - прописываем
  1965. ему в заголовок новый UUID и LUN, после этого он безболезненно монтируется
  1966.  
  1967. LVM.DisallowSnapshotLUN = 1 либо просто запрещаем монтировать такой LUN
  1968.  
  1969. LVM.DisallowSnapshotLUN = 0 (default 0) снапшотный LUN - таки монтируется
  1970.  
  1971. LVM.EnableResignature = 0 если видим снапшотный LUN - заголовок не меняем
  1972.  
  1973. Самый  цирк  случается,  если  хитровымученный RAID-массив один и тот же LUN
  1974. двум разным хостам показывает под разным  lun-номером.  Тогда  один  из  них
  1975. всегда  будет  воспринимать  этот  LUN  как  заснапшоченый  -  и  стремиться
  1976. произвести с ним ресигнатуру - скорректировать заголовок,  следом  -  второй
  1977. хост  захочет  того-же  -  и  так  в  вечном цикле. Именно для таких случаев
  1978. выставляют LVM.EnableResignature = 0, LVM.DisallowSnapshotLUN = 0
  1979.  
  1980. Управление переменными:
  1981.  
  1982. cat /proc/vmware/config/LVM/EnableResignature    # посмотреть
  1983.  
  1984. esxcfg-advcfg -g /LVM/EnableResignature          # посмотреть
  1985.  
  1986. esxcfg-advcfg -s 1 /LVM/EnableResignature        # выставить в 1
  1987.  
  1988. esxcfg-rescan vmhba1
  1989.  
  1990. Либо (стремно)
  1991.  
  1992. vi /etc/vmware/esx.conf
  1993. /adv/LVM/EnableResignature = "1"
  1994.  
  1995. /adv/Disk/MaskLUNs = "vmhba2:0:34-38;vmhba3:0:1,5,7-9"
  1996. /adv/Disk/MaxLUN = "256"
  1997. /adv/Disk/DiskSupportSparseLUN
  1998. /adv/Disk/ShedNumReqOutstanding
  1999.  
  2000. shutdown -r 0
  2001.  
  2002. Модули, драверы и их настройки
  2003.  
  2004.  
  2005.  
  2006. esxcfg-module -q         # посмотреть статус и список модулей VMKERNEL
  2007.  
  2008. cat /proc/scsi/qla2300/1 # посмотреть настройки 1-го контроллера типа qla2300
  2009.  
  2010. /proc/scsi/[draver]/[instance]
  2011.  
  2012. esxcfg-boot -q vmkmod    # boot-options vmkernel'a
  2013.  
  2014. # сконфигурить длину очереди для QLogig FC
  2015. esxcfg-module -s ql2maxqdepth=64 qla2300_707_vmw
  2016.  
  2017. vi /etc/vmware/esx.conf
  2018. /vmkernel/module/qla2300_707_vmw.o/options = ql2maxqdepth=64
  2019.  
  2020. vmkload_mod -s qla2300_707_vmw # детальные текущие настройки дравера
  2021.  
  2022. Сразу несколько настроек для разных instansow драверa в одной команде:
  2023.  
  2024.  
  2025. esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc0_lun_queue_depth=16" lpfcdd_7xx
  2026.  
  2027. после любых настроек модулей выполнить команду esxcfg-boot -b
  2028.  
  2029.  
  2030.  esxcfg-boot -b # пересобирает init-ram-disk и его настройки
  2031.  
  2032.  
  2033.  
  2034. Для гостевых Windows - удлинить таймаут по опознанию сбойнувшего диска
  2035.  
  2036. Старт -- Рун -- регедит
  2037.  
  2038. HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > Disk
  2039.  
  2040. TimeOutValue = 60
  2041.  
  2042. Работаем с virtual-свитчами
  2043.  
  2044.  
  2045.  
  2046. esxcfg-nics -l # статус физических ethernet'ов
  2047.  
  2048. esxcfg-nics -s 1000 -d full vmnic2
  2049.  
  2050. 32   nics per host
  2051. 32   nics per vSwitch
  2052. 128  vSwitchs
  2053. 512  PortGroups
  2054. 1016 Ports per vSwitch
  2055. 4096 Ports in all PortGroups (точнее 4096 - 128 - numvswith*8)
  2056.  
  2057.  
  2058. esxcfg-vswitch -a vSwith2:32 # создать 24-портовый (32-8) v-свитч
  2059.  
  2060. esxcfg-vswitch -D Production vSwith2   # оторвать портгруппу
  2061. esxcfg-vswitch -A Production vSwith2   # создать в vSwith2 портгруппу Production
  2062. esxcfg-vswitch -A Production -v 105 vSwith2   # создать в vSwith2 портгруппу Production с VLAN 105
  2063. esxcfg-vswitch -v 105 -p "Service Console" vSwitch0 # Назначить порт-группе Service Console VLAN 105
  2064.  
  2065.  
  2066. esxcfg-vswitch -L vmnic2 vSwith2       # подключить физический ethernet в vSwith2
  2067. esxcfg-vswitch -U vmnic2 vSwith2       # оторвать физический ethernet
  2068.  
  2069. esxcfg-vswitch -l # просмотреть конфиг всех vSwitch
  2070.  
  2071. esxcfg-vswitch -m 9000 vSwith1         # enable Jumbo frames в vSwitch1
  2072.  
  2073.  
  2074. esxcfg-vswitch -B listen vSwith1       # включить CiscoDiscoveryProtocol
  2075. esxcfg-vswitch -B down vSwith1         # выключить CDP
  2076. esxcfg-vswitch -b vSwith1              # проверить статус CDP
  2077.  
  2078. esxcfg-vswif   -l  # Посмотреть IP-настройки Service Console
  2079.  
  2080. # Назначить IP-адрес для Service Console
  2081. esxcfg-vswif   -a -i 192.168.31.36 -n 255.255.255.0 -m 1500 -p "Service Console" vswif0
  2082.  
  2083.  
  2084. esxcfg-vmknic -l   # посмотреть статус VMkernel'ных IP
  2085. esxcfg-vmknic -a -i IP -n NETMASK -m MTU -p PortGroupName # назначить IP для vmkernel
  2086.               # TSO включается по умолчанию, чтобы не включался - добавить -t
  2087.  
  2088.  
  2089. esxcfg-route [gateway-IP]  # default gateway для VMkernel
  2090. esxcfg-route -l            # посмотреть таблицу маршрутизации vmkernel
  2091. cat /proc/vmware/net/tcpip/ifconfig
  2092. vmping                     # ping с vmkernel'ного адреса
  2093.  
  2094.  
  2095. Как прописать себе права админа VC, если Администратор стал ReadOnly
  2096.  
  2097.  
  2098.  
  2099. VC SQL database  table : VPX_ACCESS
  2100.  
  2101. Then add another row :
  2102. ID: 1
  2103. Principal : Administrators
  2104. Role_ID : -1
  2105. ENTITY_ID : 1
  2106. FLAG : 3
  2107.  
  2108. Afterwards you need to restart the Virtual Center Services.
  2109.  
  2110. Как переименовать ESX-сервер 3.5
  2111.  
  2112.  
  2113.  
  2114. 1. Update the following files with the correct server name
  2115.  /etc/hosts
  2116.  /etc/sysconfig/network
  2117.  /etc/vmware/esx.conf
  2118.  
  2119. 2. Update the hostname as follows
  2120. #     hostname mateo0x.hp.local
  2121.  
  2122. 3. Restart the network
  2123. #     service network restart
  2124.  
  2125. 4. Restart the hostd daemon so that the VI client will get the updated hostname
  2126. #     service mgmt-vmware restart
  2127.  
  2128.  
  2129.  
  2130.  
  2131. Scripted installation KS file for ESXi4.1
  2132.  
  2133.  
  2134.  
  2135. Origin:
  2136. http://www.kendrickcoleman.com/index.php?/Tech-Blog/esxi-41-kickstart-install-wip.html
  2137.  
  2138. ########### cut here ###################
  2139. rootpw changeme
  2140. install url http://192.168.187.66/ESXi
  2141. autopart --firstdisk --overwritevmfs
  2142. reboot
  2143.  
  2144. #Network install type
  2145. 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
  2146.  
  2147. accepteula
  2148.  
  2149. %firstboot --unsupported --interpreter=busybox
  2150.  
  2151. #Assign VLAN to Management PortGroup
  2152. esxcfg-vswitch -v 50 -p 'Management Network' vSwitch0
  2153.  
  2154. #Add vMotion Portgroup to vSwitch0
  2155. esxcfg-vswitch -A vMotion vSwitch0
  2156.  
  2157. #Add pNIC vmnic6 to vSwitch0
  2158. esxcfg-vswitch -L vmnic6 vSwitch0
  2159.  
  2160. #Assign ip address to vMotion vmk1
  2161. esxcfg-vmknic -a -i 192.168.51.12 -n 255.255.255.0 -p vMotion
  2162.  
  2163. #Assign VLAN to vMotion PortGroup
  2164. esxcfg-vswitch -v 51 -p vMotion vSwitch0
  2165.  
  2166. sleep 10
  2167.  
  2168. #set vMotion to vmk
  2169. vim-cmd hostsvc/vmotion/vnic_set vmk1
  2170.  
  2171. #Set NIC order policy for port groups
  2172. vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic0 --nicorderpolicy-standby=vmnic6 vSwitch0 'Management Network'
  2173.  
  2174. vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic6 --nicorderpolicy-standby=vmnic0 vSwitch0 vMotion
  2175.  
  2176. #Add new vSwitch for IP Storage
  2177. esxcfg-vswitch -a vSwitch_IP-SAN
  2178.  
  2179. #Set MTU to 9000 for jumbo frames on vSwitch
  2180. esxcfg-vswitch -m 9000 vSwitch_IP-SAN
  2181.  
  2182. #Add Portgroup to vSwitch_IP-SAN
  2183. esxcfg-vswitch -A NetApp_FAS2020a vSwitch_IP-SAN
  2184.  
  2185. #Assign IP address to vmknic
  2186. esxcfg-vmknic -a -i 192.168.52.12 -n 255.255.255.0 -m 9000 NetApp_FAS2020a
  2187.  
  2188. #Add NICs to new vSwitch
  2189. esxcfg-vswitch -L vmnic2 vSwitch_IP-SAN
  2190.  
  2191. #Add NICs to new vSwitch
  2192. esxcfg-vswitch -L vmnic7 vSwitch_IP-SAN
  2193.  
  2194. vim-cmd hostsvc/net/refresh
  2195.  
  2196. sleep 10
  2197.  
  2198. #Change LoadBalance for Etherchannel - WORKS WHEN TYPED IN CLI BUT NOT WORKING IN SCRIPT FOR SOME REASON
  2199. vim-cmd hostsvc/net/vswitch_setpolicy --nicteaming-policy=loadbalance_ip vSwitch_IP-SAN
  2200.  
  2201. #Add NFS datastores
  2202. esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_A FAS2020a_Node1_NFS_A
  2203. esxcfg-nas -a -o 192.168.52.101 -s /FAS2020a_Node1_NFS_B FAS2020a_Node1_NFS_B
  2204. esxcfg-nas -a -o 192.168.52.102 -s /FAS2020a_Node2_NFS_A FAS2020a_Node2_NFS_A
  2205.  
  2206. #Adding the FT Network
  2207. esxcfg-vswitch -a vSwitch_FT
  2208. esxcfg-vswitch -A Fault_Tolerance vSwitch_FT
  2209. esxcfg-vswitch -L vmnic4 vSwitch_FT
  2210. esxcfg-vswitch -L vmnic9 vSwitch_FT
  2211.  
  2212. esxcfg-vmknic -a -i 192.168.55.12 -n 255.255.255.0 -p Fault_Tolerance
  2213.  
  2214. vim-cmd hostsvc/net/portgroup_set --nicorderpolicy-active=vmnic4 --nicorderpolicy-standby=vmnic9 vSwitch_FT Fault_Tolerance
  2215.  
  2216. vim-cmd hostsvc/advopt/update FT.Vmknic string vmk3
  2217.  
  2218. vim-cmd hostsvc/net/refresh
  2219.  
  2220. #Set DNS
  2221. vim-cmd hostsvc/net/dns_set --ip-addresses=192.168.3.23,192.168.3.2
  2222.  
  2223. # Set NFS advanced Configuration Settings
  2224. esxcfg-advcfg -s 30 /Net/TcpipHeapSize
  2225. esxcfg-advcfg -s 120 /Net/TcpipHeapMax
  2226. esxcfg-advcfg -s 10 /NFS/HeartbeatMaxFailures
  2227. esxcfg-advcfg -s 12 /NFS/HeartbeatFrequency
  2228. esxcfg-advcfg -s 5 /NFS/HeartbeatTimeout
  2229. esxcfg-advcfg -s 64 /NFS/MaxVolumes
  2230.  
  2231. # NTP time config - NOT WORKING!!
  2232. echo "Configuring NTP"
  2233. echo restrict default kod nomodify notrap noquerynopeer > /etc/ntp.conf
  2234. echo restrict 127.0.0.1 >> /etc/ntp.conf
  2235. echo server 0.vmware.pool.ntp.org >> /etc/ntp.conf
  2236. echo server 2.vmware.pool.net.org >> /etc/ntp.conf
  2237. echo driftfile /var/lib/ntp/drift >> /etc/ntp.conf
  2238. /sbin/chkconfig --level 345 ntpd on
  2239. /etc/init.d/ntpd stop
  2240. /etc/init.d/ntpd start
  2241.  
  2242. #enable SSH TechSupportMode - shouldn't use this, was just a test
  2243. vim-cmd hostsvc/enable_remote_tsm
  2244. vim-cmd hostsvc/start_remote_tsm
  2245.  
  2246. vim-cmd hostsvc/net/refresh
  2247.  
  2248. #grep ^admins: /etc/group > /dev/null || groupadd admins
  2249. #useradd -g admins -c LocalESXAccount LocalESX
  2250. #echo mypassword | passwd --stdin LocalESX
  2251. ########### cut here ###################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement