如何获取 XenServer 上虚拟机的 CLI?

如何获取 XenServer 上虚拟机的 CLI?

我按照手册上的说明创建了一个 Debian Lenny 虚拟机。如何控制它?

由于我的 LAN 禁用了 DHCP,因此它没有 IP。如果它只有静态 IP 并启用了 SSHD,我可以用 PuTTY 来访问它。

答案1

使用 Citrix XenServer,您可以拥有名为 XenCenter 的控制界面,使用它您可以连接到您的虚拟机管理程序并执行此类操作。

使用 OSS Xen,您可以使用 xm 控制台命令。

答案2

除了 gui/vnc 控制台之外,你仍然可以使用 xm 控制台的等效版本

在主机控制台上:xe vm-list 获取正在运行的域列表(只需记下所需域的 uuid)。list_domains 将列出域名和域的 uuid。匹配您的 uuid,以便获得正确的 dom_id

然后

xm 控制台等效于 /usr/lib/xen/bin/xenconsole dom_id

它不在根用户的 $PATH 中,但我认为它应该在。当然,您可以对其进行符号链接或自行更改路径,但这将是合理的默认值。

例子:

假设我想连接到 knox (一个 Linux domU)

[root@xen01 ~]# xe vm-list

uuid ( RO)           : 8258a6d4-23f6-003d-30d7-65bd13086863
     name-label ( RW): knox
    power-state ( RO): running


uuid ( RO)           : 1a191475-a99d-7a77-6550-b30a0038fd92
     name-label ( RW): Windows Server 2008 SP2 x86
    power-state ( RO): halted


uuid ( RO)           : ffd95724-d818-4f15-b4b4-159b7ff41df4
     name-label ( RW): Control domain on host: xen01
    power-state ( RO): running

现在获取域名 ID

[root@xen01 ~]# list_domains
 id |                                 uuid |  state
  0 | ffd95724-d818-4f15-b4b4-159b7ff41df4 |     R 
  1 | bc150966-8c21-7ad9-c329-839d5823041d |    B H
  7 | baa3699b-95dd-eea0-ccc4-51e8972857f5 |    B  
 11 | 8258a6d4-23f6-003d-30d7-65bd13086863 |    B  

可以看到与knox的UUID匹配的域ID是11。所以我们使用xenconsole

[root@xen01 ~]# /usr/lib/xen/bin/xenconsole 11
(press enter)
You have new mail in /var/spool/mail/root
[root@knox ~]# 

答案3

如果有人遇到 XenServer 7.1 的初始问题并且必须访问来宾 CLI不使用 XenCenter,Nick Anderson 的回答是正确的:

  1. 获取相关 guestVM 的 uuid(HVM 客户机可能不适合)
  2. 根据UUID获取域ID
  3. 使用 xenconsole 连接到 XenServer 7.1 上来宾系统的 CLI

    /usr/libexec/xen/bin/xenconsole domainID
    

相关内容