Современное серверное оборудование предлагает множество возможностей для администрирования.
Одним из них является порт удаленного доступа HP iLO.
Этот порт удаленного доступа позволяет получить доступ к серверу даже в выключенном состоянии и обеспечивает большой контроль над сервером, например, включение / выключение сервера или возможность удаленного подключения к консоли (экрану). Соединения с удаленной консолью возможны даже через соединение SSH с iLO.
Единственным предварительным условием подключения к удаленной консоли через SSH является то, что работающая ОС находится в текстовом режиме.
Многие современные дистрибутивы Linux загружаются в графическом режиме, который должен быть отключен для доступа к текстовой консоли.
При установленном Proxmox, основанном на Debian, необходимо включить текстовый режим, чтобы разрешить удаленное подключение к экрану через ssh.
Мой опыт работы с интерфейсом iLO от HP не совсем удачен.
Веб-интерфейс для удаленной консоли в основном предназначен для доступа на основе Windows.
Особенно на Mac OSX и Linux, доступ к удаленной консоли является либо болью, либо не работает вообще.
К счастью, есть другой способ, чем веб-интерфейс для удаленного доступа к экрану сервера.
Интерфейс iLO предоставляет возможность подключения через ssh.
Эта консоль ssh, конечно, не так удобна для пользователя, как веб-интерфейс, но все же очень мощная.
Помимо функций включения и выключения сервера, интерфейс ssh iLO может удивить вас совершенно особой функцией: возможностью подключения к экрану сервера.
Monitor is in graphics mode or an unsupported text mode.
Debian использует «frame buffer», чтобы увеличить разрешение консоли, в то же время показывая только текстовую консоль.
Фрейм-буфер допускает более высокое разрешение и меньшие символы в текстовой консоли – особенно полезно для современных больших экранов.
К сожалению, интерфейс iLO обнаруживает его как графический режим, как показано выше, и не может отображать содержимое консоли.
Но это можно изменить.
Proxmox основан на Debian и поэтому наследует гибкость для его настройки по мере необходимости.
Современные дистрибутивы Linux рано переключаются в графический режим, чтобы избежать текстовых экранов.
Поэтому фрейм-буфер загружается в начале процесса загрузки.
Чтобы отключить его, необходимо настроить соответствующую командную строку / параметры ядра.
Конфигурация может быть найдена в файле конфигурации grub (загрузчик).
$ vim /etc/default/grub
Полученный файл конфигурации должен выглядеть примерно так, как показано в следующем примере.
Важный раздел в настройке «GRUB_CMDLINE_LINUX_DEFAULT» выделен. Убедитесь, что добавлены опции «nomodeset» и «text».
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Proxmox Virtual Environment" GRUB_CMDLINE_LINUX_DEFAULT="nomodeset" GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
Kernel Mode Setting ((KMS) – это метод настройки разрешения экрана и глубины в пространстве ядра, а не в пространстве пользователя.
Реализация KMS в ядре Linux обеспечивает собственное разрешение в буфере кадров.
Опция ядра «nomodeset» отключает настройку режима ядра, в результате чего появляется текстовая консоль, доступ к которой можно получить через соединение SSH с iLO.
Другими словами, этот параметр указывает ядру не загружать видеодрайвер.
«GRUB_TERMINAL = console» переводит меню grub в текстовый режим.
Это позволяет перемещаться по меню Grub без входа в графический режим.
Как уже упоминалось в блоке комментариев в начале файла, это изменение не сразу становится активным.
Файл конфигурации grub, который используется во время загрузки, должен быть обновлен.
Это делается путем выполнения команды «update-grub».
update-grub
После обновления конфигурации grub сервер можно перезагрузить.
Во время перезагрузки экран сервера должен оставаться в текстовом режиме, и к нему можно получить доступ через iLO через SSH.
Чтобы проверить текстовую консоль, войдите в интерфейс iLO через ssh.
$ ssh 123.123.123.123 -l Administrator Administrator@123.123.123.123's password: Pa$$word User:Administrator logged-in to ilomgm.example.com(123.123.123.123 / FE80::EEB1:FE80::EEB1:FE80) iLO Advanced 2.54 at Jan 15 2018 Server Name: ilomgm Server Power: On </>hpiLO->
Чтобы проверить доступные команды, проверьте экран справки, доступный в интерфейсе iLO.
Просто введите «HELP», чтобы увидеть, что доступно.
</>hpiLO-> HELP status=0 status_tag=COMMAND COMPLETED Tue Jan 15 15:26:38 2018 DMTF SMASH CLP Commands: help : Used to get context sensitive help. show : Used to display values of a property or contents of a collection target. show -a : Recursively show all targets within the current target. show -l <level> : Recursively show targets within the current target based on 'level' specified. Valid values for 'level' is from 1 to 9. create : Used to create new instances in the name space of the MAP. Example: create /map1/accounts1 username=<lname1> password=<pwd12345> name= <dname1> group=<admin,config,oemhp_vm,oemhp_rc,oemhp_power> delete : Used to destroy instances in the name space of the MAP. Example: delete /map1/accounts1/<lname1> load : Used to move a binary image from an URL to the MAP. Example: load /map1/firmware1 -source http://192.168.1.1/images/fw/iLO4_100.bin reset : Causes a target to cycle from enabled to disabled and back to enabled. set : Used to set a property or set of properties to a specific value. start : Used to cause a target to change state to a higher run level. stop : Used to cause a target to change state to a lower run level. cd : Used to set the current default target. Example: cd targetname date : Used to get the current date. time : Used to get the current time. exit : Used to terminate the CLP session. version : Used to query the version of the CLP implementation or other CLP elements. oemhp_ping : Used to determine if an IP address is reachable. Example : oemhp_ping 192.168.1.1 oemhp_loadSSHKey : Used to authorize a SSH Key File from an URL. Example : oemhp_loadSSHKey -source http://user:pwd@192.168.1.1/images/SSHkey1.pub oemhp_deleteSSHKey : Used to remove a SSH Key associated with a user Example : oemhp_deleteSSHKey HPE CLI Commands: POWER : Control server power. UID : Control Unit-ID light. ONETIMEBOOT: Access One-Time Boot setting. NMI : Generate an NMI. VM : Virtual media commands. LANGUAGE : Command to set or get default language VSP : Invoke virtual serial port. TEXTCONS : Invoke Remote Text Console. TESTTRAP : Sends a test SNMP trap to the configured alert destinations. </>hpiLO->
Чтобы запустить текстовую консоль, запустите команду «TEXTCONS».
Если сервер загружался должным образом в текстовом режиме, должно отображаться содержимое экрана сервера.
После перезагрузки весь процесс загрузки должен оставаться в текстовом режиме и отображаться в текстовой консоли.
</>hpiLO-> TEXTCONS Starting text console. Press 'ESC (' to return to the CLI Session.
Чтобы выйти из текстовой консоли, нажмите ESC + (как описано в пояснении. Это позволит вам вернуться к интерфейсу iLO.)