了解KVM:
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。
实验准备:开启Linux系统(CentOS7),开启CUP虚拟化功能
一,部署KVM平台
1.虚拟机开启CPU虚拟化服务
注:真实机进入BIOS开启CPU虚拟化功能
2.搭建yum,安装KVM
rm -f /etc/yum.repos.d/* vim /etc/yum.repos.d/local.repo [local] name=local baseurl=file:///mnt gpgcheck=0
安装KVM(可以直接复制)
yum -y install qemu-kvm yum -y install qemu-kvm-tools yum -y install virt-install yum -y install qemu-img yum -y install bridge-utils yum -y install libvirt yum -y install virt-manager
3.查看kvm模块是否安装
[root@localhost ~]# lsmod | grep kvm kvm_amd 64937 0 kvm 554609 1 kvm_amd irqbypass 13503 1 kvm
4. 设定kvm网络,kvm支持两种网络设置方式:nat和bridge(桥接),默认是nat
用户模式(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
桥接模式(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。
注:更改网卡信息,前面!的代表需要更改,其他无需更改,br0网卡需要将UUID=c05680db-61c6-4975-b262-045ab09593c1删除!!!
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# vim ifcfg-ens33 TYPE=Ethernet !BOOTPROTO=none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=c05680db-61c6-4975-b262-045ab09593c1 DEVICE=ens33 !ONBOOT=yes !BRIDGE=br0 [root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0 [root@localhost network-scripts]# vim ifcfg-br0 !TYPE=Bridge !BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy !NAME=br0 !DEVICE=br0 !ONBOOT=yes !IPADDR=192.168.1.1 [root@localhost network-scripts]# systemctl restart network [root@localhost network-scripts]# ifconfig br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::ec48:d714:7ea0:dfe7 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:f1:3c:af txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 2582 (2.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0c:29:f1:3c:af txqueuelen 1000 (Ethernet) RX packets 73 bytes 4563 (4.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 2600 (2.5 KiB) 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 1 (Local Loopback) RX packets 324 bytes 28180 (27.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 324 bytes 28180 (27.5 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:7b:21:ed 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
5.创建两个准备存储池的目录(store存储虚拟机 iso存放镜像),挂载镜像磁盘,制作镜像文件
[root@localhost ~]# mkdir -p /date_kvm/store [root@localhost ~]# mkdir -p /date_kvm/iso [root@localhost ~]# cp /dev/cdrom /data_kvm/iso/centos.iso
6.开启libvirt服务,提供相关的支持
[root@localhost ~]# systemctl start libvirtd
7.运行kvm平台,创建存储池和镜像存储池
[root@localhost ~]# virt-manager
双击GEMU/KVM
点击存储,点击加号+
创建存储池,输入名称
指定刚刚创建的存储虚拟机的目录
继续点击加号,创建镜像存放位置
输入名称,前进
指定刚刚创建的存放镜像目录
进入kvm_store创建磁盘,输入名称,分配大小
右击QEMU/KVM新建
选择本地安装
使用刚刚创建的本地系统盘,下一步就可以了
内存,磁盘大小根据个人情况就可以直接下一步,下一步安装就可以了
注:安装系统,在这里就不演示了,不知道的同学可以看我主页有一章零基础安装Linux系统