目录
案例概述
- 公司部分Linxu服务器利用率不高,为充分利用这些Linux服务器,可以部署KVM,在物理机上运行多个业务系统
- 例如:在运行Nginx的服务器上部署KVM,然后在虚拟机上运行Tomcat
- LVM虚拟化架构
- KVM模块直接整合在Linux内核中
KVM组成
- KVM Driver
- 虚拟机创建
- 虚拟机内存分配
- 虚拟CPU寄存器读写
- 虚拟CPU运行
- QEMU(快速访真器)
- 模拟PC硬件的用户控件组件
- 提供I/O设备模型及访问外设的途径
KVM虚拟化三种模式
- 客户模式(客户是你的虚拟机)
- 用户模式(为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu运行在这个模式下
- 内核模式(模拟cpu、内存,实现客户模式切换,处理客户模式的退出,KVM内核模块运在这个模式下)
- 用户模式
- libkvm:通过ioctl进入内核
- ioctl:输入输出控制器
- fd:通过ioctl向设备驱动器(/dev/kvm)发送创建、运行(虚拟机)等操作
- 内核模式
- VMM(Linux内核+KVM Driver)
案例环境
操作系统 |
IP 地址 |
主机 |
CentOS7.9 |
192.168.10.201 |
KVM虚拟机 |
CentOS7.9 |
192.168.10.202 |
KVM虚拟机 |
搭建KVM环境步骤
yum安装KVM
[root@localhost ~]# yum -y install qemu-kvm #KVM模块
[root@localhost ~]# yum -y install qemu-img #qemu组件,创建磁盘,启动虚拟机
[root@localhost ~]# yum -y install bridge-utils #网络支持工具
[root@localhost ~]# yum -y install qemu-img bridge-utils qemu-kvm-tools virt-install libvirt virt-manager libguestfs-tools
#QEMU磁盘管理工具、虚拟机与外界通信的命令管理工具、gemu-kvm工具包、虚拟机安装工具、必须安装的核心工具、图形界面管理虚拟机、访问虚拟机磁盘映像文件
关闭防火墙
关闭防火墙功能并设置永久关闭
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/sysconfig/selinux
修改主机的主机名称
[root@localhost ~]# hostnamectl set-hostname kvm01
[root@localhost ~]# bash
修改hosts文件
201主机
[root@kvm01 ~]# vim /etc/hosts
192.168.10.201 kvm01
192.168.10.202 kvm02
202主机
[root@kvm02 ~]# vim /etc/hosts
192.168.10.201 kvm01
192.168.10.202 kvm
关闭虚拟机,右键点设置将处理器设置大一点,设置4个处理器,勾选虚拟化功能,如果不勾选CPU不支持虚拟化的支持,
[root@kvm01 ~]# poweroff #关闭虚拟机
查看当前信息,查看当前的CPU是否支持虚拟化的技术,查看内核是否支持虚拟化的模块
查看CPU信息
[root@kvm01 ~]# cat /proc/cupinfo | grep vmx #查看英特尔处理器
[root@kvm01 ~]# cat /proc/cupinfo | grep vm #查看ADM处理器
查看内核
[root@kvm01 ~]# lsmod | grep vm
#查看内核模块
开启libvirtd服务
开启libvirtd,设置永久开启
[root@kvm01 ~]# systemctl start libvirtd
[root@kvm01 ~]# systemctl enable libvirtd
设置KVM网络
拷贝物理网卡的配置文件,将他拷贝为另外一个名称为br0(这些网卡不是真实的网卡),要想去通信要有一个网络的桥接,生成一个虚拟的网卡
[root@kvm01 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm01 network-scripts]# cp ifcfg-ens33 ifcfg-br0
修改物理网卡跟桥接网卡
[root@kvm01 network-scrip