KVM虚拟化平台环境部署
一:安装依赖包
二:配置网卡
三:配置环境
实验环境:
KVM01 192.168.200.10
关闭防火墙及相关的安全机制
[ ~]# systemctl stop firewalld
[ ~]# iptables -F
[ ~]# setenforce 0
一:安装依赖包
[ ~]# cat /proc/cpuinfo | grep vmx #查看是否支持虚拟化
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
在CentOS7的系统光盘镜像中,已经提供了安装KVM所需软件,通过部署基于光盘镜像的本地yum源,直接使用yum安装所需软件即可。
[ ~]# yum -y groupinstall "GNOME Desktop" #安装GNOME桌面环境
[ ~]# yum -y install qemu-kvm #KVM模块
[ ~]# yum -y install qemu-kvm-tools #KVM调试工具,可不安装
[ ~]# yum -y install qemu-img #qemu组件,创建磁盘,启动虚拟机
[ ~]# yum -y install bridge-utils #网络支持工具
[ ~]# yum -y install libvirt #虚拟机管理工具
[ ~]# yum -y install virt-manage0r #图形界面管理虚拟机
[ ~]# yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
检测KVM模块安装是否成功
[ ~]# lsmod | grep kvm
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
注意:使用yum安装完桌面后,将系统默认的运行target修改为graphical.target。重启系统后进入图形界面,若不修改系统的默认运行target,重启时可能会出错。
开启服务,安装完成后还需要开启libvirtd服务
[ ~]# systemctl start libvirtd
[ ~]# systemctl enable libvirtd
二:配置网卡
宿主服务器安装完成KVM,首先要设定网络,在libvirt中运行KVM网络有两种方法,NAT和Bridge,默认是NAT。
1、用户模式,即NAT方式,这种方式是默认网络,数据包由NAT方式通过主机接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络
2、桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部机器可以直接访问到虚拟机内部,但需要网卡支持,并编辑网卡参数文件以支持桥接。
注:设置KVM网络对实验没有影响,如果有需求可以设置,如果没有需求可以不用设置
Bridge案例:
[ ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-br0
[ ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.200.111
PREFIX=24
GATEWAY=192.168.200.1
DNS1=202.106.0.20
[ ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=b194e583-21c3-4109-a160-3d2a9876a30b
DEVICE=ens32
ONBOOT=yes
IPV6_PRIVACY=no
BRIDGE=br0
重启network服务
[ ~]# systemctl restart network
[ ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.200.10 netmask 255.255.255.0 broadcast 192.168.200.255
inet6 fe80::20c:29ff:feb6:933c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:93:3c txqueuelen 1000 (Ethernet)
RX packets 111 bytes 7746 (7.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 63 bytes 7098 (6.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:feb6:933c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:93:3c txqueuelen 1000 (Ethernet)
RX packets 1776 bytes 142918 (139.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1739 bytes 1109674 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5568 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5568 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:b3:df:0e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
出现以上信息说明网卡桥接成功。
三:配置环境
进入虚拟机点击应用程序--系统工具--虚拟系统管理器
[ ~]# virt-manager #终端打开输入命名也能弹出
点击QEMU/KVM
用xftp将镜像传到/virtual/IOS下
在KVM创建存储卷
raw :裸格式,创建时就需要指定存储容量,占用全部容量,不支持动态扩容,不支持快照,性能好;
qcow2:quick copy on write 2, 写时复制,开始只占用少许容量,支持动态扩容,支持压缩,支持AES加密,支持快照,性能较好
刷新一下就能看到镜像
点击开始安装,后面的跟安装Linux相同,这里不做赘述