web-dev-qa-db-ja.com

XCPでVMコンソールにアクセスするにはどうすればよいですか?

Ubuntu12.10にxcp-xapiパッケージをインストールしました。 XenCenterでPV VMを作成しましたが、そのコンソールにアクセスできません。XenCenterで[コンソール]タブを選択すると、空白のページが表示されます。

私はコンソールを介してこれを試し、これを手に入れました:

bear@ubuntu-tmp1:~$ Sudo xe vm-list params=dom-id
dom-id ( RO)    : 0


dom-id ( RO)    : 2


bear@ubuntu-tmp1:~$ Sudo xenstore-ls /local/domain/2/serial
0 = ""
 limit = "65536"
bear@ubuntu-tmp1:~$

この公式によると link 、少なくとも「tty」と「vnc」が出力に表示されるはずですが、どちらも表示されません...今ではその上にOSをインストールする方法がまったくありませんVM利用可能なコンソールがないため... :-(

2
Lingfeng Xiong

非表示のCLIコマンドがあります(非表示にしないようにリクエストを送信しました)。

xe console uuid=<vm_uuid>

これはPVゲストに対してのみ機能することに注意してください。または、PVゲストとHVMゲストの両方で、vncviewerを使用してVNCコンソールを取得できます。 xenstoreを使用してVNCポートを取得します。

PORT=xenstore-read /local/domain/${domid}/console/vnc-port

次に、次のように呼び出します。

vncviewer -via root@${YOUR_SERVER} localhost::${PORT}

これを行うスクリプトは次のとおりです。

#!/bin/bash

function usage () {
    echo "Usage:"
    echo "   `basename $0` -h <xenserver Host> -g <guest vm name-label>"
    echo "   `basename $0` -h <xenserver Host> -u <guest vm uuid>"
    echo "   `basename $0` -h <xenserver Host> -d <domID>"
    exit 1
}

while getopts "h:g:u:d:" option
do
    case $option in
        h ) xs=${OPTARG} ;;
        g ) vm=${OPTARG} ;;
        u ) uu=${OPTARG} ;;
        d ) id=${OPTARG} ;;
        * ) usage
    esac
done

if [ -z ${xs} ]; then
    usage
fi

if [ -z ${uu} ] && [ -z ${vm} ] && [ -z ${id} ]; then
    usage
fi

if [ ! -z ${uu} ]; then
    domid=`ssh root@${xs} xe vm-list uuid=${uu} params=dom-id --minimal`
Elif [ ! -z ${vm} ]; then
    domid=`ssh root@${xs} xe vm-list name-label=${vm} params=dom-id --minimal`
Elif [ ! -z ${id} ]; then
    domid=${id}
fi

if [ -z ${domid} ]; then
    echo "Could not find guest ${vm}${uu} on Host ${xs}."
    exit 1
Elif [ ${domid} -lt 0 ]; then
    echo "Guest ${vm}${uu} has no dom-id. Is your vm running?"
    exit 1
fi

port=`ssh root@${xs} xenstore-read /local/domain/${domid}/console/vnc-port`

if [ -z ${port} ]; then
    echo "Couldn't read VNC port from xenstore. Is your vm running?"
    exit 1
fi

echo "Connecting to vnc port ${port} on Host ${xs}..."
set -x
vncviewer -via root@${xs} localhost::${port}
2
Mike McClurg