2

我对 Xen 有点问题。每次我尝试运行时xm create,都会出现以下错误:

dom0:~#  xm create -c staros.xm
Using config file "./staros.xm". Started domain StarOS-3 xenconsole: Could not read tty from store: No such file or directory

这对任何人来说都很熟悉吗?

我相信我的配置是有序的。起初我怀疑 qemu-dm 的路径设置不正确。

4

1 回答 1

2

您描述的错误可能意味着两件事:

它正在记录 xenstore 中的一场众所周知的比赛

附加到域控制台所需的伪 TTY 存储在 xenstore 的多个位置。Xen 控制台客户端在该值上建立一个 inotify 样式的监视,以便它可以在支持文件描述符发生更改时重新连接到控制台。但是,从最初创建域开始,需要几秒钟时间才能将该信息填充到 xenstore 中。

如果您发布 xm info 的输出,则很容易看出您是否正在处理众所周知的比赛。

无法创建后备伪终端

造成这种情况的常见原因是 /dev/pts 未安装。如果您xenstore-ls /local/domain/{domain_id}在没有该-c选项的情况下启动域后运行,您将看到该域的存储内容。寻找显示的行(靠近底部)

tty="/dev/pts/{pty}"

验证 pty 确实存在。

xen 控制台守护进程使用两个实际的文件描述符来实现它。第一个是节点中特定信息的伪文件描述符(通过 xs_fileno() 获得),因此它可以 poll() 以查看该信息是否更改。第二个是从open()(是的,传递了 O_NONBLOCK)返回的真实 FD,它实际上读/写到伪 tty。

看起来它甚至没有从 xenstore 中找到伪 FD,这意味着支持 pty 可能存在存在挑战。

于 2011-01-21T22:01:12.887 回答