**Как получить доступ е виртуальным консолям при установке Red Hat Enterprise Linux на удаленный хост с помощью virt-install **(перевод с Red Hat Knowledgebase)

Во время установки Red Hat Enterprise Linux на физическом хосте на нескольких виртуальных консолям отображается дополнительная информация, относящаяся к процессу установки. Между консолями можно переключаться с помощью Ctl-Alt-F<>. Например, на третьей виртуальной консоли (Ctl-Alt-F3) отображается лог установки, а на четвертой (Ctl-Alt-F4) - системные сообщения.

Проблема

Установка Red Hat Enterprise Linux на удаленный виртуальный хост с доступом через ssh налагает некоторые ограничения. Без дополнительных опций ssh предоставляет единственную текстовую оболочку (shell). В результате, опция –nographics для virt-install  в основном используется при установке гостевой системы на удаленном хосте с доступом до хоста посредством ssh. Опция –nographics создает единственную виртуальную консоль, что приводит к потере дополнительной информации об установке.

Решение

Программа virt-install предоставляет механизм для графических установок. При использовании опции --vnc в командной строке virt-install виртуальный графический адаптер будет предоставлен виртуальной гостевой системе и к графической информации, создаваемой клиентом, можно будет получить доступ посредством VNC-подключения. Это подключения может использоваться для отображения графической консоли на удаленной системе.

Установка Red Hat Enterprise Linux на удаленный хост с помощью virt-install, при условии, что сохраняется доступ к виртуальным консолям, может быть произведена двумя способами:

Способ 1: Запуск VNC viewer на удаленном хосте

Этот способ включает в себя туннелирование X Display Protocol через ssh подключение. Для того, чтобы сделать это, используйте “ssh -XY” для доступа к удаленному хосту и опцию –vnc при запуске virt-install. Эти действия запустят VNC viewer, предоставляемый Xen, на удаленном хосте. Окно появится на локальной системе, которая отобразит удаленно запущенный VNC viewer. Графические данные с удаленно запущенного VNC viewer будут передаваться на локальную систему через X Display Protocol.

Для переключения между виртуальными консолями при использовании Xen VNC viewer выберите меню “Send Keys” в верхней части экрана, а затем выберите в меню команды от Ctl-Alt-F1 до Ctl-Alt-F8.

Способ 2: Запуск VNC viewer на локальной машине

Этот способ использует перенаправление локального порта VNC на удаленный хост и туннелирование VNC-трафика через соединение ssh. Для этого необходимо использовать ssh  с опцией вроде “-L 5900:localhost:5900” для перенаправления локального порта VNC на тот же порт удаленной системы. Какой порт используется в действительности зависит от нескольких факторов, включая количество виртуальных гостевых систем, запущенных на удаленном хосте, сколько их этих гостей уже использует VNC для отображения графической информации и т.д. В этом случае возможно более удобным способом будет изменение файла конфигурации ssh для использования опции LocalForward  для перенаправления портов, начиная с 5900 и, например, до 5910.

После получение доступа к удаленной системе через ssh запустите virt-install с опциями --vnc и --noautoconsole. Это предотвратит программой virt-install запуск собственного VNC viewer. После начала установки запустите virsh vncdisplay <guest-name>, где - имя гостевой системы, которую только что создали с помощьюvirt-install. Команда “virsh vncdisplay” выведет на экран номер дисплея, использующегося virt-install.

На локальной системе запустите vncviewer localhost:<port>, где - значение, выданное командой virsh vncdisplay плюс 5900.

Как только VNC viewer запустится, можно переключаться между консолями, нажав F8 для появления меню, затем выбрать опцию Ctl, снова нажать F8, выбрать Alt, а затем нажать необходимую клавишу Fn на клавиатуре. После выбора консоли установки нажмите F8, отмените выбор Ctl, снова нажмите F8, отмените выбор Alt.

Примеры:

Используются следующие примеры:

  • удаленный виртуальный хост называется xenhost.example.com
  • на удаленном виртуальном хосте нет никаких других запущенных графических гостевых систем
  • дерево установки доступно через NFS c kickstart.example.com:/exports/ks_mirror/rhel-5-server-u3-x86_64

Способ 1.

На локальной системе запустите

    ssh -XY -l root xenhost.example.com

На удаленном хосте (через соединение SSH, установленное ранее) запустите

    virt-install --name=test --ram=256 --vcpus=1 --file=/var/lib/xen/images/test-disk \
    --vnc --paravirt \
    --location=nfs:kickstart.example.com:/exports/ks_mirror/rhel-5-server_u3-x86_64

Способ 2.

На локальной системе запустите

    ssh -L 5900:localhost:5900 -l root xenhost.example.com

На удаленном хосте (через соединение SSH, установленное ранее) запустите

    # virt-install --name=test --ram=256 --vcpus=1 --file=/var/lib/xen/images
    /test-disk \
    --vnc --paravirt \
    --location=nfs:kickstart.example.com:/exports/ks_mirror/rhel-5-server_u3-x86_64 \
    --noautoconsole
    Starting install...
    Creating domain... | 0 B 00:00
    Domain installation still in progress. You can reconnect to
    the console to complete the installation process.
    # virsh vncdisplay test
    :0

На локальном системе:

    vncviewer localhost:5900

Если команда virsh vncdisplay test выдает какое-нибудь другое значение, например, :2, то необходимо было бы запустить немного другоую команду: vncviewer localhost:5902. Также необходимо убедиться, что локальный порт 5902 перенаправлен на удаленный порт 5902 либо изменив строку для запуска ssh (например, на ssh -L 5902:localhost:5902 …), либо добавив LocalForward 5902:localhost:5902 в файл конфигурации клиента ssh.

Дополнительная информация

  • запустите “man ssh” для получения информации об опциях ssh -XY and -L
  • запустите “man ssh_config” для получения информации о настройке перенаправления портов в SSH
  • запустите “man vncviewer” для получения информации о VNC viewer, включенном в поставку Red Hat Enterprise Linux
  • запустите “man virt-install” для получения информации об опциях, относящихся к virt-install
  • посетите X.Org Foundation Home Page для получения информации о X Display Protocol