[RH Knowledgebase] Виртуальные консоли, virt-install и удаленный хост
Как получить доступ е виртуальным консолям при установке 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>, где
На локальной системе запустите 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
-XYand-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