华为的云计算已经摒弃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
验证cpu是否支持kvm,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的
egrep '(vmx|svm)' /proc/cpuinfo
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
5.开启kvm服务
systemctl start libvirtd systemctl enable libvirtd
6.确认服务运行
systemctl status libvirtd
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
移除掉原来的 ifcfg-ens33 ,重新创建该文件,内容如下:
BOOTPROTO=none DEVICE=ens33 NM_CONTROLLED=no ONBOOT=yes BRIDGE=br0
重启网络服务
systemctl restart network
使用ifconfig查看,此时多了块网卡br0
注意virbr0是kvm内部作为nat使用的,没有配置则自动分配192.168.122.1地址,暂时不用管
三、安装虚拟机
准备操作系统,kvm可以很好的支持linux虚拟机,windows虚拟机需要另外装驱动。创建/home/iso目录,使用xftp上传镜像centos7镜像
上传完毕后如下图所示
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
注意,这里参数最好加上--noautoconsole,不然本tty就会一直被占用,会误以为失败死机
检查虚拟机状态,确认运行
virsh list
virsh工具的相关选项说明 --name 虚拟机名称 --memory 内存大小 --vcpus= vcpu --disk 创建硬盘 制定硬盘路径,格式,大小 --network 指定网络 --os-type 指定操作系统类型 --os-variant= 指定操作系统版本 --cdrom 指定光驱安装操作系统 --noautoconsosle 虚拟机创建完毕后不会自动切换tty --vnc 使用vnc --vncport vnc端口
4.使用vnc登录虚拟机安装操作系统
安装操作系统
因为连接br0,虚拟机可以使用dhcp获取ip地址
kvm中虚拟机创建成功,可以直接使用ssh连接kvm虚拟机进行配置