ESXi SSH CLI
ноября 10, 2012
Большинство операций с виртуальной инфраструктурой производятся из
графического интерфейса клиента 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. Вариантов два:
- создать непривилегированного пользователя и входить в систему с его учетными данными;
- разрешить вход с учетными данными пользователя root;
Первый вариант более правилен с точки зрения безопасности, второй часто более удобен.
- Дополнительного пользователя вы можете создать на этапе установки ESX;
- Из клиента vSphere, подключенного напрямую к ESX.
Home=>Inventory=>выделите сервер=>закладка Users and Groups в
контекстном меню выберите Add. Чтобы пользователь мог заходить по SSH,
установите флажок Grant shell access;
- Из командной строки, командами useradd и passwd;
- Ввести сервер в домен Active Directory и авторизовываться учетными записями AD;
Когда у вас есть дополнительный пользователь, вы можете входить под
ним в систему при подключении по SSH. После этого выполните команду
и введите пароль пользователя root. В результате вы получаете
привилегии root.Если же вы приняли решение просто разрешить пользователю
root авторизацию по SSH, то потребуется отредактировать
конфигурационный файл сервера SSH
nano /etc/ssh/sshd_config
|
Найдите строку
PermitRootLogin no и поменяйте ее на PermitRootLogin yes.
После этого перезапустите службу SSH командой
В состав Service Console входят некоторые специфичные для ESX
команды.Список большинства из них вы можете получить, набрав в командной
строке
и два раза нажав Tab.Локальная командная строка ESXi, SSH
VMware не рекомендует открывать доступ к командной строке и
SSH для ESXi – из общих соображений безопасности. Однако если вы
приняли решение пренебречь этой рекомендацией, сделать это несложно.Для
доступа в командную строку в локальной консоли ESXi эта возможность
должна быть разрешена. В интерфейсе клиента vSphere сделать это можно,
пройдя
- Configuration=>Security Profile=>Properties=>Local Tech Support;
- Через локальное БИОС-подобное меню также можно открыть доступ к
локальной командной строке, пройдите Troubleshooting
Options=>Enable Local Tech Support;
После нажатия Enter название пункта меню должно поменяться на
Disable Local Tech Support – это значит, что локальная командная строка
включена, а этим пунктом ее можно отключить обратно.
Так или иначе разрешив доступ к локальной командной строке, нажмите Alt+F1 и авторизуйтесь.
Вы вошли в локальную консоль.
Включение SSH выполняется точно так же (в БИОС-подобном меню
или в пункте настроек Security Profile), только теперь вас интересует
пункт Remote Tech Support. Теперь вы можете подключаться по SSH.
В состав ESXi входит маленький дистрибутив Linux под названием Busybox. Основные команды Linux в нем работают.
Подсмотреть прочие доступные для Busybox команды можно, выполнив:
Ниже список стандартных команд:
cd
cp
find
ls
mkdir
mv
ps
rm
shutdown
vi
nano
cat
more
man
useradd
passwd
|
В состав ESXi входят некоторые из команд, специфичных для ESX(i).
Список большинства из них вы можете получить, набрав в командной строке
и два раза нажав Tab.
Список специфичных команд на ESXi меньше, чем на ESX. Для ESXi
следует пользоваться vSphere CLI, в состав которых входит большее
количество команд.
Впрочем, в составе ESXi существуют некоторые специфические инструменты.
Набрав эту команду, вы увидите все возможные варианты ее использования.
Ниже список команд, которые мне показались полезными:
vim-cmd vmsvc /power .getstate <vmid>
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 <vmid>
vim-cmd vmsvc /power .reset <vmid>
vim-cmd vmsvc /get .summary <vmid>
vim-cmd solo /registervm /vmfs/vol/datastore/dir/vm .vmx
vim-cmd vmsvc /unregister vmid
vim-cmd vmsvc /tools . install vmid
vim-cmd hostsvc /net/info
vim-cmd hostsvc /maintenance_mode_enter
vim-cmd hostsvc /maintenance_mode_exit
chkconfig -l
esxtop
vmkerrcode -l
esxcfg-info
esxcfg-nics -l
esxcfg-vswitch -l
dcui
vsish
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
|
Многие консольные команды старой сервисной консоли VMware ESX
(например, esxcfg-*) в ESXi 5.0 были заменены командами утилиты esxcli, с
помощью которой можно контролировать весьма широкий спектр настроек, не
все из которых дублируются графическим интерфейсом vSphere Client:
esxcli storage nfs list
esxcli software vib list
esxcli hardware memory get
esxcli hardware cpu list
esxli iscsi adapter list
<code>esxcli network nic list
esxcli network ip interface list
esxcli network ip dns search list
<code>esxcli network ip dns server list
esxcli network ip connection
|
list
network neighbors list
esxcli network firewall get
<code>esxcli network firewall ruleset list
esxcli storage vmfs extent list
esxcli storage filesystem list
esxcli system version list
esxcli storage core path list
<code>esxcli storage core device list
esxcli storage core plugin list
esxcli storage core adapter rescan
<code>esxcli vm process list< /code >
esxcli system welcomemsg get
<code>esxcli system welcomemsg set
esxcli system settings advanced list | grep <var>
esxcli hardware clock get
esxcli hardware bootdevice list
esxcli hardware pci list
esxcli iscsi adapter discovery rediscover -A <adapter_name>
<code>esxcli storage core adapter rescan [-A <adapter_name> | -all]
esxcli network vswitch standard list
|
Источник: http://unos.org.ua/?page_id=2567 |