xen console连接虚拟机

本文档介绍了如何解决在Xen环境下,通过xlconsole无法进入Ubuntu虚拟机的问题。主要步骤包括修改虚拟机配置文件,添加serial='pty',更新虚拟机内部的设置,如添加ttyS0许可,修改grub.cfg文件,以及设置生效后的验证。参考链接提供了更多相关信息。
摘要由CSDN通过智能技术生成


在创建好虚拟机并且安装完系统后,可以通过 xl console <domain_name>或者 xl console <domain_id>来进入到虚拟机内部。然而,在实际测试中可以发现,直接利用xl console无法进入到虚拟机,而是一直卡在这里。此时按ctrl+]也可以退出。这是因为我们从宿主机进入虚拟机使用的是ttyS0,而虚拟机中最开始没有这个串口的配置。

环境:宿主机ubuntu 14.04,xen 4.6.3,虚拟机为ubuntu 14.04

1. 修改虚拟机配置文件

首先,我们要修改虚拟机的配置文件。在原来的虚拟机配置文件中加上这一行serial='pty'

builder = "hvm"
name = "ubuntu-hvm-1"
memory = 1024
vcpus = 1
serial='pty' #增加这个配置
vif = [ 'bridge=xenbr0' ]
disk = [ 'file:/mnt/xenserver/ubuntu-hvm/ubuntu-hvm-1/ubuntu-hvm.img,hda,w' ]
boot = "c"
sdl = 0
vnc = 1
vnclisten  = "127.0.0.1"
vncdisplay = 0
vncpasswd  = 123456789
stdvga=1
videoram = 64
xencons='tty'
console='ttyS0' #console设置为ttyS0

2. 虚拟机内部的设置

这里要在有界面的服务器上设置,或者提前配置好网络,利用ssh连进去

添加ttyS0的许可,允许root登陆:

echo "ttyS0" >> /etc/securetty

在/etc/init下从tty1.conf复制一份文件到ttyS0.conf,并修改内容:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)

stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 ttyS0

在/boot/grub/grub.cfg文件中,对menuentry 'Ubuntu'下的linux /vmlinuz-xxx增加内容console=tty1 console=ttyS0,115200n8

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menu
entry_id_option 'gnulinux-simple-5678c869-ea75-4d67-984d-2028712ca5e2' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  6efd198c-2405-4e37-ba55-fbf28
c4a304c
        else
          search --no-floppy --fs-uuid --set=root 6efd198c-2405-4e37-ba55-fbf28c
4a304c
        fi
        linux   /vmlinuz-4.4.0-142-generic root=/dev/mapper/ubuntu--hvm--vg-root
 ro consoleblank=0 console=tty1 console=ttyS0,115200n8 #在这里增加内容
        initrd  /initrd.img-4.4.0-142-generic
}

上述步骤可能会在update-grub后失效,也可以在/etc/default/grub中修改配置:GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8" ,我自己没有试过,可以看一下参考链接4试一下。

3. 设置生效

重启服务器。使设置生效。

后面应该就可以利用xl console进入虚拟机了,可能执行完命令后按一下回车,看到登录界面就说明设置生效了。

在这里插入图片描述

4. 参考链接

[1] https://blog.csdn.net/dobell/article/details/9003421

[2] https://blog.csdn.net/yzy1103203312/article/details/81292313

[3] https://blog.csdn.net/u013358112/article/details/79881727

[4] https://www.jb51.cc/ubuntu/354600.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值