欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

KVM虚拟化技术 详解

程序员文章站 2022-06-21 18:46:15
...

虚拟化介绍

虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。
虚拟化层层种类:完全虚拟化、准虚拟化、系统虚拟化、桌面虚拟化

KVM介绍

kVM 全称是 Kernel-Based Virtual Machine。也就是说 KVM 是基于 Linux 内核实现的。
KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。

那 IO 的虚拟化,比如存储和网络设备则是由 Linux 内核与Qemu来实现。
作为一个 Hypervisor,KVM 本身只关注虚拟机调度和内存管理这两个方面。IO 外设的任务交给 Linux 内核和 Qemu。

KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在Linux的各个主要发行版本中。 它使用 Linux自身的调度器进行管理,所以相对亍Xen,其核心源码很少。KVM 目前已成为学术界的主 流 VMM(虚拟机监控器)之一。KVM的虚拟化需要硬件支持(如 Intel VT技术戒者 AMD V技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基亍软件模拟的 Para-Virtualization。

KVM实际操作

KVM虚拟化技术 详解
1.查看 CPU 是否支持硬件虚拟化技术

Intel: cat /proc/cpuinfo | grep --color vmx (指的是酷睿处理器)
AMD: cat /proc/cpuinfo | grep --color svm (指的是锐龙处理器)

2.本地yum源

注意:yum.repos.d里头文件必须为空
[aaa@qq.com yum.repos.d]# vim m.repo
[m]
name=m
baseurl=file:///mnt
enabled=1
gpgcheck=0

3.安装KVM模块、管理工具和 libvirt,命令行安装

yum -y install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python
注意:使用系统镜像,先配置好 yum本地源

解释:qemu-kvm : kvm 主程序, KVM虚拟化模块
virt-manager: KVM图形化管理工具
libvirt: 虚拟化服务
libguestfs-tools : 虚拟机的系统管理工具
virt-install : 安装虚拟机的实用工具 。比如 virt-clone克隆工具就是这个包安装的
libvirt-python : python 调用libvirt 虚拟化服务的 api 接口库文件

4.开启并查看安装KVM后的服务

systemctl start libvirtd  #开启虚拟化服务 
systemctl enable libvirtd #设置 libvirtd服务开机启劢
lsmod | grep kvm #查看正在加载kvm模块
lsmod——显示已载入系统的模块

5.将kvm管理工具从英文界面,切换成中文界面

 echo $LANG #查看语言:如果是英文改成中文
  LANG='zh_CN.UTF-8' #把英文改为中文

KVM配置网络

网桥介绍: 我们经常所说的 Bridge设备其实就是网桥设备,也就相当亍现在的二层交换机,用亍连接 同一网段内的所有机器,所以我们的目的就是将网络设备 eth0添加到 br0,此时 br0 就成为了所谓的交 换机设备,我们物理机的 eth0也是连接在上面的。
添加桥接设备 br0: 相当亍一个二层交换机

1.安装桥设备工具

ls /mnt/Packages/bridge #两下tab查看(每个人的虚拟机不一样,找到自己虚拟机bridge包)
比如:bridge-utils-1.5-9.el7.x86_64.rpm
rpm -ivh /mnt/Packages/bridge-utils-1.5-9.el7.x86_64.rpm #这就是安装bridge包

2.编辑ens33的网卡

之前配置好的地址注释掉
#IPADDR="192.168.182.204"
#NETMASK="255.255.255.0"
#GATEWAY="192.168.182.2"
#DNS1="8.8.8.8"
#DNS2="114.114.114.114"
最后一行插入br0命令
BRIDGE="br0"

3.新写一个配置br0文件

DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge" #注:B大写
BOOTPROTO=none
IPADDR=192.168.182.204
NETMASK=255.255.255.0
GATEWAY=192.168.182.2
DNS1=8.8.8.8

4.重启并且测试一下

systemctl restart network #重启网卡
ifconifg #查看IP
ping 192.168.182.2 #ping自己的网关
如:64 bytes from 192.168.182.2: icmp_seq=1 ttl=128 time=0.203 ms (成功)
ping www.baidu.com #ping百度
如:64 bytes from 104.193.88.77 (104.193.88.77): icmp_seq=1 ttl=128 time=186 ms (成功)
也可查询网桥信息
brctl show 

图形操作

打开创建虚拟机使用命令:virt-manager
提示导入镜像必须是最小化镜像,放到指定目录下

#准备系统镜像
cd /var/lib/libvirt/images/ 
ls CentOS-7-x86_64-Minimal-2003.iso #镜像是我自己导入最新版的

KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
KVM虚拟化技术 详解
下面就是我们常见的安装系统了,我们进行安装就可以!和我们之前安装的CentOS7是一模一样的,也可以实现虚拟系统管理器安装多个虚拟机系统。

相关标签: linux kvm