Рубрики
esx*

Esxi Tool

vcenter mobile aplance:

ls /usr/bin/busybox - посмотреть доступные команды

Все команды  много уровненные. на каждом уровне можно узнать что вводить дальше. 
последний уровень команды это get set list add remove и др.
выполнив в конце команды --help получим подробную помощь

esxcfg-* - основные команды управления esxi
esxcli -  новые команды введены начиная  esxi5.0+
esxcli esxcli command list - выложит список команд
esxcfg-nics -l  - посмотреть информацию о доступных сетевых контролерах
esxcli network nic list  - посмотреть информацию о доступных сетевых контролерах
esxcfg-volumes -l  - посмотреть информацию о разделах. -m(временно) -M(постоянно) монтирование
vmkernel  - основной контролер управления службами vmware
esxcfg-vmknic  - управление основным контролером vmware
ls -l /vmfs/devices/disks - вот так можно увидеть доступные диски
date - изменить время (время esxi всегда UTC)
hwclock - изменить время (время esxi всегда UTC)

Каталоги:


/var/log - логи
/var/log/vmkernel - тут можно посмотреть ошибки
syslog collector - сбор логов с виртуальных машин
/vfms/Name_datastore/VM_name - Логи ВМ хранятся непосредственно в каталоге самой виртуальной машины
/etc - конфигурации самой esxi
/commands - результаты выполнения различных команд

Полезное:


putty - ssh client
mremote.org - ssh rdp +++ client
Veem FastSCP - копирование
WinSCP - копирование
RVtools - посмотреть живучесть esxi robware.net
VMWare Capacity planner - прога/услуга от vmware расчет нагрузки на хосте
Netflow - технология позволяющая прослушивать трафик на любой  виртуальной машине
Portmirror - позволяет зеркалировать трафик на любую виртуальную машину
dcui - меню управления esxi (то что увидим если подключить монитор)
kb.vmware.com - онлайн справочник
Microsoft windows active directory cirteficat services (сокращенно ADCS) или openssl (Открытое *nix решение для сертификатов)

Файлах виртуальной машины:

server.vmx файл настроек
server.vmxf вспомогательный файл настроек
server.vmdk и server-flat.vmdk это пара файлов отвечает за диск/данные виртуальной машины ( первый настройка, второй данные)
server-xxxxxx.vswp файл подкачки виртуальной машины
server.nvram настройки bios виртуальной машины
server.vmsd файл с информацией о снимках виртуальной машины
server-000001.vmdk и  server-000001-delta.vmdk файлы с информацией о снимке виртуальной машины
server-Snapshot1.vmsn память схороненная при снимке машины
*.log файлы логов виртуальной машины

Ускорение работы ВМ:

0. приложение vmsafe можно применить программы с одной виртулке к другой (допустим антивирус)
1. Твикаем гостевые ВМ системы HKLM\system\currentcontrolset\ service\disk = 60
2. отключить screenserver, даже тот что при блокировке
3. Обязательно устанавливаем VMWTools

Работа дисковой системы:

1) Гостевая  ОС работает с драйвером контроллером SCSI (виртуальным)
2) Он передает команды-SCSI контроллеру, виртуальному
3) Они перехватываются гипервизором. Гипервизор формирует очередь команд-SCSI из обращений своих vm к диску 
     и передает ее драйверу контроллера. Это может быть драйвер HBA, служба NFS, или программный  iSCSI-инициатор.
4)  В зависимости от варианта эти команды попадают на контроллер HBA или NIC
5) Запрос отправляется на систему хранения данных (СХД) и в обратном па рядке отправляется vm
GAVG этап со 2-5, KAVG этап 3-4, DAVG этап 5.

ВМ диски:

!!!Vmware converter standalone - программа для конвертирования.
disk2.vmdk -  описание геометрии диска. кол блоков и тд.
disk2-flat.vmdk - сами данные.

#extend deskription RW 65444337 VMFS "foo-flat.vmdk"  размер диска в блоках  по 512 .байт

Чтобы узнать реальный размер нужно умножить 65444337*512

vmkfstools -i disk.vmdk disk-new-small.vmdk  - клонирование диска с уменьшением его размера


Режим работы виртуальных дисков mode:


presistent - все изменения сразу пишутся на диск
nopersistent - в таком режиме  на диск не будет ничего записываться. подходит для демонстраций
indenpended - нельзя будет создавать snapshot

RAW DEVICE MAPPING (RDM) - подключение LUN напрямую в виртуальный

usb-over-ip

usb-over-ip  - проброс флешек и других usb устройств по сети

Внимание место на хранилище:

Когда места на хранилище становится 99% то виртуальные машины останавливаются.
Нехватка места может привести к неработоспособности всех виртуальных машин.
du -h -a /vmfs/volumes/lun1/server - покажет размер файлов в текущем каталоге

Производительность общая:

SIOC - управление потребление ресурсов хранилища, latency. для ssd 10-15мс норма. 
IOPS - операций в секунду 60-120, для обычных HDD дисков 80, для SSD 1000+ 

Не следует отдавать виртуальной машине много процессоров, так как это может сказаться на производительность ВМ.
Процессоров следует давать ровно столько на сколько это необходимо.

resxtop, esxtop, perfmon, esxplot:

esxtop - основная консольная утилита
perfmon - получить информацию из windows
esxplot - анализ логов

esxtop - shift+v данные по виртуальным машинам
Значения m - память , n - сеть, d - диск , u - диск, v - диск , c -  процессор
выбираем процесс и нажимаем 'e' покажется подробная информация о нем
цифры 2 и 8 - подсветят строку. 
цифра 4 - удалит строку с экрана. 
цифра 6 - покажет все процессы.
h - помощь

esxtop -a -b -d 10 -n 1080 > /tmp/log.csv - создание лог файла  для анализа в программах esxplot и perfmon.  
a - выгружать все, b - бинарный формат, d - интервал (каждые 10 сек), n - количество выгрузка 

Вкладка Perfomance через интерфейс vSphere:


Для CPU (процессора):
usage - сколько процессорного времени vm задействовала
wait - столько времени было ожидание ввода/вывода
ready - сколько еще осталось сделать (самый важный параметр)
CPU usage - сколько сейчас используется процессора
CPU ready  - высокий показатель говорит о том что виртуальной машине не хватает процессора

--------------------

Для memory (памяти):
Для оперативной памяти показателем недостаточности является вытеснения памяти виртуальной машины в файл подкачки 
Consumed сколько памяти выделено сервером для виртуальной машины 
Granted сколько памяти выделил сервер для виртуальной машины (память не выделяется пока она реально не понадобится)
Active с таким количеством памяти виртуальная машина работала в момент последнего запроса
Balloon столько памяти отбирает механизм balloon
Zipped memory  столько памяти находится в жатом виде.
Swapped memory  столько памяти помещено в vmkernel swap
Swap In Rate и Swap Out Rate активность использования файла подкачки
Механизмами balloon и swapped esxi отнимает ненужную память у виртуальных машин. 
Так что высокие показатели balloon и swapped  не могут показывать проблему с  производительностью.
Таким образом высокие показатели всех счетчиков  balloon, zipped, swapped, SwapInRate, SwapOutRate говорят о не хватке памяти

-------------------

Пример:
used 559 - выполнял полезную работу 559 мс
wait 19000 - находился в ожидании операций ввода/вывода 19000 мс
ready 54 мс -гостевая ос хотела выполнить работу но гипервизор не дал достаточно процессорного  времени а это еще 54 мс
Вывод:  проблема в дисковой системе. 

------------------
Один квант измерений - 20сек - 20000 мс (миллисекунд)

Решения высокой доступности:

Microsoft Failover Cluster(для вин),  Vmware Fault Tolerance , Vmvare Hight Availability(самое простое) (написаны в порядке лучше-похуже)
set-vmhost -state maintenance перевести хост в режим обслуживания

Восстановление:

Для восстановления из образа нужно нажать shift+r  при загрузке esxi

Общая информация:

Большинство операций с виртуальной инфраструктурой производятся из графического интерфейса клиента  vSphere.  
Однако  и командная строка может нам пригодиться:
для  некоторых  операций,  которые  не возможны  из графического  интерфейса;
для автоматизации действий с помощью сценариев;
для диагностики и решения проблем;

У нас есть несколько  способов для получения интерфейса командной строки к серверу ESX(i):
локальная командная  строка,  доступная  с локальной консоли  или  через iLO/IP KVM;
сессия SSH к ESX(i);
vSphere CLI;

Если на локальной консоли  сервера ESX нажать Alt+F1, ввести имя пользователя  root и пароль, то вы попадете в командную  строку. 
Это командная  строка Service Console, модифицированного Red Hat Enterprise Linux 5.
Это  означает,  что в этой  командной  строке  работают  все или  большинство  стандартных  команд Linux.
Обратите  внимание на то, что команды и ключи регистрозависимы. На своем компьютере запустите клиент SSH, например PuTTY. 
Подключитесь к серверу ESX. Вам будет необходимо войти в систему, но пользователем root сделать 
это по SSH нельзя – так по умолчанию настроен сервер SSH на ESX. 

Доступ к ESX(i) по ssh:

!!! VMware  не рекомендует  открывать  доступ  к  командной  строке  и SSH.  
Вариантов  три:
Создать  непривилегированного пользователя и  входить  в систему  с его учетными данными;
Ввести сервер в домен Active Directory и авторизовываться учетными записями AD;
Разрешить  вход с учетными данными пользователя root;

Первый  вариант  более правилен  с точки зрения  безопасности,  третий часто более удобен.

su - введите пароль пользователя root. В результате  вы получаете привилегии root.
Из командной  строки, командами  useradd и passwd; - можно создать пользователя
Когда у вас есть дополнительный пользователь, вы можете входить под ним в систему при подключении по SSH. 

Настройка доступа к ESX(i) по ssh вариант первый:


Дополнительного пользователя вы можете создать на этапе установки ESX;
Из клиента  vSphere,  подключенного напрямую  к ESX. 
Home=>Inventory=>выделите сервер=>закладка 
Users and Groups в контекстном меню выберите Add. 
Чтобы пользователь мог заходить по SSH, 
установите флажок Grant shell access;

Настройка доступа к ESX(i) по ssh вариант третий:

Потребуется отредактировать конфигурационный файл сервера SSH.
  
0. Найдите  строку PermitRootLogin  no и поменяйте ее на PermitRootLogin  yes.
nano /etc/ssh/sshd_config
1.  После этого перезапустите службу SSH 
service sshd  restart

Включение локальной консоли по F1:


В интерфейсе клиента vSphere сделать это можно, пройдя:
Configuration=>Security Profile=>Properties=>Local Tech Support;
Через  локальное  БИОС-подобное меню также  можно  открыть  доступ к локальной  командной  строке,  
пройдите  Troubleshooting Options=>Enable Local Tech Support;
После нажатия  Enter название пункта меню должно поменяться на Disable Local Tech Support – это значит, 
что локальная командная  строка включена, а этим пунктом ее можно отключить обратно.
 
----------------------------------------------------- 

Вы вошли в локальную  консоль:
Включение  SSH  выполняется точно  так  же (в  БИОС-подобном меню  или в пункте настроек Security Profile), 
только теперь вас интересует  пункт Remote Tech Support. Теперь вы можете подключаться по SSH.

----------------------------------------------------- 

Так  или  иначе  разрешив  доступ  к  локальной командной   строке,  нажмите Alt+F1 и авторизуйтесь.

Стандартные команды linux:

В состав ESXi входит маленький дистрибутив Linux под названием  Busybox. 
Основные команды Linux в нем работают.
/usr/bin/busybox - подсмотреть  прочие доступные для Busybox 
cd  - смена текущей директории
cp - копирование файла.cp [файл 1] [файл2]
find - Поиск файлов по критериям
ls - Список файлов и директорий в текущей или явно указанной директории
ls - /vmfs/volumes/ ключи:-l подробная информация-a отображение скрытых файлов
mkdir - создание директории
mv - перемещение файла. Переименование файла.mv [путь и имя файла] [путь, куда перемещать]
ps - Информация о запущенных процессах.ps -e
rm  - удаление файлов
shutdown now - выключение
shutdown –r now - перезагрузка сервера 
vi - текстовый редактор
nano - дружелюбный к новичкам текстовый редактор, отсутствует на ESXi
cat /etc/hosts - вывод содержимого файла на экран
more /etc/hosts - вывод содержимого файла на экран, по странице за раз
man <команда, по которой есть вопрос> - справка по командам, для некоторых команд помощь выводится при запуске самой команды без параметров
useradd <имя пользователя> - создание пользователя
passwd <имя пользователя> - задание пароля пользователю 

vim-cmd

vim-cmd  vmsvc - набрав  эту команду, вы увидите  все возможные  варианты  ее использования 
vim-cmd vmsvc/power.getstate  - вы узнаете статус питания виртуальной машины с указанным ID. 
vim-cmd vmsvc/getallvms - выключить питание виртуальной машины
vim-cmd vmsvc/power.off vmid - включить питание виртуальной машины
vim-cmd vmsvc/power.on vmid - перезагрузить виртуальную машину
vim-cmd vmsvc/power.reboot vmid - удалить файлы виртуальной машины
vim-cmd vmsvc/destroy vmid - удалить файлы виртуальной машины
vim-cmd vmsvc/power.shutdown  - выключение виртуальной машины (shutdown guest)
vim-cmd vmsvc/power.reset  - перезагрузка виртуальной машины
vim-cmd vmsvc/get.summary  - общая информация о виртуальной машине
vim-cmd solo/registervm /vmfs/vol/datastore/dir/vm.vmx - подключить виртуальную машину
vim-cmd vmsvc/unregister vmid - убрать виртуальную машину из гипервизора
vim-cmd vmsvc/tools.install vmid -установка vmware tools
vim-cmd hostsvc/net/info - информация о сети гипервизора
vim-cmd hostsvc/maintenance_mode_enter - переключить хост в режим обслуживания
vim-cmd hostsvc/maintenance_mode_exit - выйти из режима обслуживания

Демоны, ошибки, еще команды:


chkconfig -l - показать службы запущенные на гипервизоре

esxtop - список процессов

vmkerrcode -l - посмотреть vmkernel ошибки

esxcfg-info - посмотреть информацию о хосте
esxcfg-nics -l - посмотреть информацию о сетевых адаптерах
esxcfg-vswitch -l - посмотреть информацию о виртуальных сетевых адаптерах

dcui - стартовая консоль ESXI по ssh

vsish - vmware интерактивная консоль

cat /etc/chkconfig.db - посмотреть состояние сервисов на хосте

/sbin/services.sh restart - перезагрузить все сервисы на хосте

vmkload_mod --list - показать загруженные драйвера
vmkload_mod -s /mod/your_driver - показать параметры драйверов
vmkfstools -i /vmfs/volumes/san_vmfs/my_vm/large_disk.vmdk -d thin /vmfs/volumes/san_vmfs/my_vm/new_thin_disk.vmdk - конвертировать существующий диск в thin формат

list - состояние активных соединений (аналог netstat)

network neighbors list - вывод ARP-таблицы

Команды esxcfg-*

esxcfg-и два раза нажав Tab - выведет все доступные команды

esxcli

Многие консольные команды старой сервисной консоли VMware ESX (например, esxcfg-*) в ESXi 5.0 были заменены командами утилиты esxcli, 
с помощью которой можно контролировать весьма широкий спектр настроек, не все из которых дублируются графическим интерфейсом vSphere Client.

esxcli software vib list - список установленных vib-пакетов

esxcli iscsi adapter list - список iSCSI-адаптеров и их имена
esxcli iscsi adapter discovery rediscover -A 

esxcli storage nfs list - список nfs-монтирований на хосте
esxcli storage core path list - пути хранилищ
esxcli storage core device list - вывод информации о путях и устройствах FC
esxcli storage core plugin list - список плагинов NMP, загруженных в систему
esxcli storage core adapter rescan - рескан HBA-адаптеров
esxcli storage core adapter rescan [-A  | -all] - рескан
esxcli storage vmfs extent list - информация о томах VMFS, подключенных к хосту
esxcli storage filesystem list - мапинг VMFS-томов к устройствам

esxcli hardware memory get - информация о памяти на хосте ESXi, включая объем RAM
esxcli hardware cpu list - информация о количестве процессоров на хосте ESXi
esxcli hardware clock get - текущее аппаратное время хоста
esxcli hardware bootdevice list - порядок загрузки с устройств
esxcli hardware pci list - список PCI-устройств

esxcli network nic list - список сетевых адаптеров
esxcli network ip interface list - информация об IP-интерфейсах хоста
esxcli network ip dns search list - информация об DNS хоста
esxcli network ip dns server list - информация о настройках DNS
esxcli network ip connection
esxcli network firewall get - получить настройки фаервола
esxcli network firewall ruleset list - состояние фаервола ESXi и активные разрешения для портов и сервисов

esxcli vm process list - получаем ID
esxcli vm process kill --type=[soft,hard,force] --world-id=WorldID - убиваем разными способами

esxcli system version list - текущая версия ESXi
esxcli system welcomemsg get - показать приветствие
esxcli system welcomemsg set - узнать и изменить приветственное сообщение ESXi
esxcli system settings advanced list | grep   - поискать что-нибудь в Advanced Settings хоста