KVM虚拟化技术 详解
虚拟化介绍
虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。
虚拟化层层种类:完全虚拟化、准虚拟化、系统虚拟化、桌面虚拟化
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实际操作
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 #镜像是我自己导入最新版的
下面就是我们常见的安装系统了,我们进行安装就可以!和我们之前安装的CentOS7是一模一样的,也可以实现虚拟系统管理器安装多个虚拟机系统。
上一篇: 导入第三方Jar包到Nexus私服