VNC и загрузка гостевых систем в Xen
1. Проблема: гость снова запускает установщик после перезагрузки
Большинство установщиков требует перезагрузки и удаления установочного носителя в конце установки. Если вы указали ISO в конфигурационном файле гостя или загрузили CD и не успели вынуть диск до перезагрузки виртуальной машины, гость загрузится с CD/ISO и начнёт установщик заново.
Если это произошло, остановите гостя:
xm destroy xen1.example.comЗатем отредактируйте файл конфигурации гостя:
vi /etc/xen/xen1.example.com.cfgУдалите CD‑драйв из строки загрузки…
| [...] boot="c" [...] |
…и загрузите гостя снова:
xm create /etc/xen/xen1.example.com.cfgНа этот раз гость должен загрузиться с жёсткого диска. При необходимости снова подключитесь к нему через VNC.
Важно: команды xm destroy и xm create выполняют немедленную остановку и запуск. xm destroy эквивалентно отключению питания — используйте осторожно.
2. Использование VNC при одновременном запуске нескольких гостей
Если запущено несколько гостей, они не могут одновременно использовать порт 5900. Каждый последующий гость использует следующий порт: 5901, 5902 и т.д. Чтобы узнать, какие VNC‑порты заняты, выполните:
netstat -tapПример вывода, где видно прослушивание портов 5900–5902:
server1:/etc/xen# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:5900 *:* LISTEN 24492/qemu-dm
tcp 0 0 *:5901 *:* LISTEN 24950/qemu-dm
tcp 0 0 *:5902 *:* LISTEN 25295/qemu-dm
tcp 0 0 *:42991 *:* LISTEN 2293/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 2282/portmap
tcp 0 0 *:ssh *:* LISTEN 2987/sshd
tcp 0 0 localhost.localdom:smtp *:* LISTEN 2803/exim4
tcp 0 0 server1.example.co:5901 192.168.0.6:49936 ESTABLISHED 24950/qemu-dm
tcp 0 148 server1.example.com:ssh 192.168.0.2:4399 ESTABLISHED 4134/2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2987/sshd
server1:/etc/xen#В вашем VNC‑клиенте укажите нужный порт, например 192.168.0.100:5901.

И вот второй гость — рабочий стол Ubuntu 8.10, подключённый через VNC:

А это третий гость — рабочий стол Windows XP через VNC:


3. Устранение неполадок подключения по VNC
Иногда вы запускаете гостя, но не можете подключиться по VNC, и netstat -tap не показывает новых VNC‑портов. В логах гостя (/var/log/xen/qemu-dm-*.log) вы можете увидеть строки вроде:
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0Действия при такой проблеме:
- Убедитесь, что нет конфликта портов — проверьте netstat ещё раз.
- Остановите один или несколько других гостей, чтобы освободить ресурсы, и попробуйте запустить проблемный гость снова.
- Проверьте права доступа и владельца сокета VNC (если используется UNIX‑сокет).
- Просмотрите полный лог qemu‑dm для дополнительных ошибок об открытии порта или привязке интерфейса.
Если после остановки других гостей проблема исчезла, значит проблема была в нехватке доступных ресурсов или конфликте портов.
4. Важные команды Xen
Ниже — основные команды для управления гостями:
- xm create -c /path/to/config — Запустить виртуальную машину (с подключением консоли).
- xm shutdown
— Корректно остановить виртуальную машину. - xm destroy
— Немедленно остановить гостя (экстренное выключение). - xm list — Список всех запущенных систем.
- xm help — Справка по командам xm.
5. Чек‑лист администратора (быстрые шаги)
- При установке: заранее проверьте конфигурацию загрузки (boot=) и временно снимите привязку ISO, если установка требует ручного удаления носителя.
- Если гость застрял в установщике: xm destroy → редактирование /etc/xen/
.cfg → удаление CD/ISO из boot → xm create. - При проблемах с VNC: проверить netstat -tap → убедиться в отсутствии конфликта портов → остановить лишние гости → просмотреть /var/log/xen/qemu-dm-*.log.
- Всегда делать резервную копию конфигурации гостя перед изменениями.
6. Мини‑методика: устранение циклической установки (шаги для быстрого восстановления)
- Остановить гостя: xm destroy
. - Резервная копия конфигурации: cp /etc/xen/
.cfg /root/ .cfg.backup. - Отредактировать /etc/xen/
.cfg и установить boot=”c” или удалить устройство CD/ISO. - Запустить гостя: xm create /etc/xen/
.cfg. - Подключиться по VNC и проверить загрузку с диска.
- Если не удаётся — проверить логи qemu-dm и свободные VNC‑порты.
7. Диагностическое дерево (простая логика принятия решения)
flowchart TD
A[Гость перезагружается в установщик?] -->|Да| B[Остановить гостя 'xm destroy']
B --> C[Удалить ISO/CD из конфигурации]
C --> D[Запустить гостя снова 'xm create']
D --> E{Гость загрузился с диска?}
E -->|Да| F[Готово]
E -->|Нет| G[Проверить логи /var/log/xen/qemu-dm-*.log]
G --> H{Видны ошибки привязки порта?}
H -->|Да| I[Проверить netstat -tap, остановить конфликтующие гости]
H -->|Нет| J[Проверить конфигурацию дисков и прав доступа]8. Когда это не помогает (когда стоит искать альтернативы)
- Если после всех шагов гость всё ещё не загружается с диска, возможно, проблема в повреждённой установке или в образе диска.
- Если многократные попытки приводят к ошибкам qemu/dm, рассмотрите перезагрузку хоста или миграцию гостя на другой хост для дальнейшей диагностики.
9. Справочные ссылки
- Xen: http://www.xen.org/
- Debian: http://www.debian.org
Краткий глоссарий (1 строка)
- VNC — протокол удалённого отображения рабочего стола.
- xm — инструмент командной строки для управления гостями Xen.
- qemu‑dm — демон, управляющий виртуальными устройствами для гостя.
Похожие материалы
Почта в RSS и публикация на сайте
Вставить PDF в Word — простые способы
Письма для мобильных: 7 ключевых правил
Добавить функцию Snooze в Gmail без приложений
Автообновление контейнеров с Podman