Ошибка, которую вы описываете, может означать две вещи:
Она документирует известную гонку в xenstore
Необходим TTY psuedoдля подключения к консоли домена хранится в xenstore в нескольких местах.Клиент консоли Xen устанавливает для этого значения отслеживание стиля inotify, чтобы он мог повторно подключиться к консоли, если дескриптор файла поддержки изменился.Однако заполнение этой информации в xenstore занимает несколько секунд с момента первоначального создания домена.
Если вы опубликуете вывод информации xm, будет легко увидеть, что вы имеете дело с хорошо известной расой.
Терминал поддержки psuedo не можетбыть созданным
Распространенными причинами этого являются: / dev / pts не монтируется.Если вы запустите xenstore-ls /local/domain/{domain_id}
после запуска домена без опции -c
, вы увидите содержимое хранилища для этого домена.Найдите строку (в нижней части), которая говорит
tty="/dev/pts/{pty}"
Убедитесь, что pty действительно существует.
Демон консоли xen использует два фактических дескриптора файла, чтобы это произошло,Первый - это дескриптор файла psuedo (полученный через xs_fileno ()) для этого конкретного фрагмента информации в узле, поэтому он может использовать poll (), чтобы увидеть, изменяется ли эта информация.Второй - это настоящий FD, возвращенный из open()
(да, O_NONBLOCK передан), который фактически читает / записывает в psuedo tty.
Похоже, он даже не находит Psuedo FD из xenstore, что означаетподдержка pty, вероятно, оспаривается экзистенциально.