华为的云计算已经摒弃xen架构了,使用kvm。目前kvm已经是一种主流虚拟化架构,所以学习kvm是很有必要的。

一、部署环境

    使用vmware workstation部署centos7虚拟机,采用最小化安装,硬盘50G,内存2G,开启cpu虚拟化。网络模式采用桥接,ip地址192.168.3.1,kvm

对虚拟机进行初始化操作,包括关闭selinux 等

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
systemctl disable firewalld
systemctl stop firewalld

二、安装kvm

  1. 验证cpu是否支持kvm,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的

egrep '(vmx|svm)' /proc/cpuinfo

centos7上测试部署kvm虚拟机_KVM


2.最小化安装依赖包

yum install epel-release net-tools vim unzip zip wget ftp -y


3.安装kvm及依赖项

yum install qemu-kvm libvirt virt-install bridge-utils -y


4.验证安装结果

lsmod | grep kvm

centos7上测试部署kvm虚拟机_部署_02


5.开启kvm服务

systemctl start libvirtd

systemctl enable libvirtd


6.确认服务运行

systemctl status libvirtd

centos7上测试部署kvm虚拟机_部署_03



8.配置网桥模式

先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份(不要备在当前目录以及子目录下,其他目录随意)

cp ifcfg-ens33 /root/   #这里物理网卡配置名称为ens33,复制到/root/

创建 ifcfg-br0 文件,内容如下

cat >>ifcfg-br0 <<EOF
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.3.50
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
DNS1=202.103.24.68
DNS2=202.103.44.150
EOF

centos7上测试部署kvm虚拟机_部署_04


 移除掉原来的 ifcfg-ens33 ,重新创建该文件,内容如下:

BOOTPROTO=none
DEVICE=ens33
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0


centos7上测试部署kvm虚拟机_部署_05

重启网络服务

systemctl restart network

使用ifconfig查看,此时多了块网卡br0

centos7上测试部署kvm虚拟机_部署_06

注意virbr0是kvm内部作为nat使用的,没有配置则自动分配192.168.122.1地址,暂时不用管


三、安装虚拟机

  1. 准备操作系统,kvm可以很好的支持linux虚拟机,windows虚拟机需要另外装驱动。创建/home/iso目录,使用xftp上传镜像centos7镜像

    centos7上测试部署kvm虚拟机_KVM_07



centos7上测试部署kvm虚拟机_测试_08

上传完毕后如下图所示

centos7上测试部署kvm虚拟机_部署_09

2.创建虚拟机存放文件目录

 mkdir -p /home/kvm


3.使用virt-install创建虚拟机

virt-install --name centos7_kvm --memory 512 --vcpus=1 --disk /home/kvm/centos7_kvm.img,format=qcow2,size=20 --network bridge=br0 --os-type=linux --os-variant=rhel7.3 --cdrom /home/iso/CentOS-7-x86_64-Minimal-1611.iso --noautoconsole --vnc --vncport=5910 --vnclisten=0.0.0.0

centos7上测试部署kvm虚拟机_测试_10

注意,这里参数最好加上--noautoconsole,不然本tty就会一直被占用,会误以为失败死机

检查虚拟机状态,确认运行

virsh list

centos7上测试部署kvm虚拟机_部署_11

virsh工具的相关选项说明
--name 虚拟机名称
--memory 内存大小
--vcpus= vcpu
--disk 创建硬盘 制定硬盘路径,格式,大小
--network 指定网络
--os-type 指定操作系统类型
--os-variant= 指定操作系统版本
--cdrom 指定光驱安装操作系统
--noautoconsosle 虚拟机创建完毕后不会自动切换tty
--vnc 使用vnc
--vncport vnc端口

4.使用vnc登录虚拟机安装操作系统

centos7上测试部署kvm虚拟机_KVM_12

安装操作系统

centos7上测试部署kvm虚拟机_测试_13

因为连接br0,虚拟机可以使用dhcp获取ip地址

centos7上测试部署kvm虚拟机_测试_14


kvm中虚拟机创建成功,可以直接使用ssh连接kvm虚拟机进行配置