Press "Enter" to skip to content

Tag: 虚拟化

使用virsh console管理虚机

在KVM的虚拟化实践中,使用终端状态的虚机管理软件virsh可以完成创建、删除、管理等一系列动作。但在默认情况下,virsh使用virsh console连接虚机会出现卡住的情况。这是由于virsh console连接不上虚机的虚拟串行端口所致。

对于Ubuntu虚机,解决的方式如下:

首先,KVM环境中的虚机开启相关服务:

$ sudo systemctl start serial-getty@ttyS0
$ sudo systemctl enable serial-getty@ttyS0
Created symlink /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service → /lib/systemd/system/serial-getty@.service.

然后,无需重启客户机就可以在管理端可以看到结果

root@tc8304:~# virsh start ubuntu
域 ubuntu 已开始

root@tc8304:~# virsh console ubuntu
连接到域 ubuntu
换码符为 ^]

Ubuntu 17.04 ubuntu ttyS0

ubuntu login: 

对于CentOS7的虚机而言,则需要执行如下命令:

root# grubby --update-kernel=ALL --args="console=ttyS0"
root# reboot

CentOS虚拟化实验环境搭建

为了准备RHCE考试,我把一台i7-2600k、16G内存、120Gssd的闲置主机刷成了CentOS7.下面是具体环境搭建的细节。


首先是系统的准备工作

su

yum update -y
yum install -y epel-release
yum makecache

yum install -y bash-completion network-tool sysfsutils 
yum install -y htop vim ctags curl wget mlocate lftp
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc

配置虚拟化环境

#安装kvm
yum -y install qemu-kvm libvirt virt-install bridge-utils
yum -y install libguestfs-tools virt-top

#启动虚拟化管理服务
systemctl start libvirtd
systemctl enable libvirtd

#开启kvm嵌套
echo "options kvm-intel nested=1" >> /etc/modprobe.d/kvm-intel.conf

#重新加载kvm模块
modprobe -r kvm_intel
modprobe kvm_intel

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

#关闭selinux
vi /etc/selinux/config 
>SELINUX=disabled

reboot