CentOS6 安装KVM并管理虚拟机

一、整体架构说明
物理机:物理机的系统选择CentOS6.8的minimal(最小化)版本。

二、准备工作

下载镜像:

http://vault.centos.org/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

下载virt-manage的rpm包:(最新的0.9.0-34包有问题,请使用0.9.0-31)

https://vault.centos.org/6.8/os/x86_64/Packages/virt-manager-0.9.0-31.el6.x86_64.rpm

三、服务器的初始化
对物理机安装好CentOS6.8系统之后,配置上IP地址,我这边配置的是192.168.0.101,使服务器能够上网,并配置好DNS。

关闭防火墙:

service iptables stop
chkconfig iptables off

关闭selinux:

setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

安装epel源:

yum -y install epel-release

四、安装vncserver

yum -y install  tigervnc*

五、安装桌面环境

yum groupinstall "Desktop" -y

六、安装KVM软件

yum -y install libcanberra-gtk2 qemu-kvm qemu-kvm-tools libvirt libvirt-cim libvirt-client libvirt-java.noarch  libvirt-python libiscsi  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

七、安装字体

需要安装下面的字体,否则进入桌面之后会出现乱码

yum -y install dejavu-lgc-sans-fonts 
yum -y groupinstall "Fonts"

八、创建桥接网络

为KVM生成桥接网络:(物理机创建桥接网卡br0)

vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.3.63
NETMASK=255.255.255.0
GATEWAY=192.168.3.1

修改物理机中网卡设备eth0桥接至br0:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0

创建桥接网卡后,必须关闭NetworkManager服务:

service NetworkManager stop
chkconfig NetworkManager off

然后再重启网卡:

service network restart

九、安装xrdp,并用windows的“远程桌面连接”连接服务器

yum -y install xrdp
service xrdp start
chkconfig xrdp on

安装xrdp之后,就可以用windows的“远程桌面连接” mstsc  直接连接linux服务器了

P74 2021-07-19_221105.png

点击“连接”之后,出现下图

P74 2021-07-19_221105.png

输入服务器的username和password之后,点击“OK”,就连接上linux桌面了

P74 2021-07-19_221105.png

十、修改KVM中image文件存放的位置

KVM虚拟机默认image文件存放位置为/var/lib/libvirt/images目录下,一般在分区时很少为/var单独划出一个大分区,这种情况下创建的虚拟机很快会将/分区吃满,所以机器要使用KVM虚拟机化的时候,我们先单独规划出一个分区用来放image文件。比如这里我们规划/data/kvmimages目录用来放images文件。

/etc/libvirt/storage/default.xml 这个是默认的存放路径配置文件(直接使用vi编辑是不生效的,另外服务重启才生效)需要使用如下命令编辑:

virsh pool-edit default

把/var/lib/libvirt/images修改成/data/kvmimages,并重启libvirt服务:

/etc/init.d/libvirt restart

这样我们创建的虚拟机的images文件就会存放在/data/kvmimages目录下了。

十一、创建一个虚拟机
点击左上角的“应用程序”–>“系统工具”–>“终端”打开命令行终端,

在终端中输入virt-manager并回车,调出“虚拟系统管理器”

2018120119210167.png

点击左上角的“创建新虚拟机”按钮,出现如下报错:

2018120119210167.png

查阅资料发现,这是由于用yum安装virt-manager时安装的版本是0.9.0-34,这个版本会有问题,所以我们把virt-manager换成之前准备好的0.9.0-31版本。

rpm -e --nodeps virt-manager-0.9.0-34.el6.x86_64
rpm -ivh virt-manager-0.9.0-31.el6.x86_64.rpm

重新在终端启动virt-manager并点击“创建新虚拟机”按钮,这回正常了,如下图:

2018120119210167.png

剩下部分不再赘述,请参考:

https://blog.csdn.net/wc1695040842/article/details/84676381

十二、KVM 虚拟机常用命令

# virsh list                         #列出在运行的虚拟机

# virsh start centos6-62 #启动 centos6-62 虚拟机

# virsh shutdown centos6-62             #关闭 centos6-62 虚拟机

# virsh autostart centos6-62    #设置 centos6-62 虚拟机为物理机开机后,自动启动

测试:reboot 后,没有发现kvm 虚拟机开机自动启动。原因是什么?

解决:

#chkconfig libvirtd on

#chkconfig --list libvirtd           #开机启动了

libvirtd 0:off       1:off 2:off    3:on 4:on5:on 6:off

# vim /etc/fstab     #记得设置开机自动挂载 sdb1,不然后开机启动不了虚拟机

/dev/sdb1        /data/kvmimages    xfs    defaults            0 0


解决 centos6 系统上 shutdown 关不了虚拟机的问题

解决方法:

在安装好的 KVM 的Linux 虚拟机中安装并启动 acpid 服务virsh shutdown 命令使用发送 acpi 指令来控制虚拟机的电源,

而 kvm 虚拟机最小化安装的 centos6 系统时默认是没有安装 acpi 服务的,所以并不会处理shutdown 发来的关机信号。 在 centos7 最小化安装的linux 系统上有安装 acpid 服务。

只需要在虚拟机里安装和启动 acpid 服务即可。

最简单,安装acpid的RPM包:

下载地址:https://vault.centos.org/6.8/os/x86_64/Packages/acpid-1.0.10-3.el6.x86_64.rpm

1、给KVM 虚拟机配置个IP(省略),确保可以远程登录

2、上传RPM安装包,安装命令如下

rpm -ivh acpid-1.0.10-3.el6.x86_64.rpm
service acpid start
chkconfig acpid on
chkconfig --list acpid  #查看是否添加到开机启动项

3、重启KVM系统后,就可以正常使用关机命令了

virsh shutdown centos6-62

版权声明:
作者:WaterBear
链接:https://l-t.top/1846.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>