部署KVM虚拟化平台
目录
- 案例分析
- 1.案例概述
- 2.案例前置知识点
- 1.KVM原理简介
- 2.KVM运行时的三种模式
- 3.KVM工作原理
- 案例环境
- 1.安装所需软件
- 2.设置KVM网络
- 3.KVM基本功能管理
- 1.查看命令帮助
- 2.查看KVM的配置文件存放目录
- 3.查看虚拟机状态
- 4.虚拟机的关机与开机
- 5.强制关闭电源
- 6.通过配置文件启动虚拟机系统
- 7.挂起虚拟机
- 8.恢复虚拟机
- 9.配置开机自启
- 10.导出虚拟机配置
- 11.虚拟机的删除与添加
- 12.修改虚拟机配置信息
- 4.KVM文件管理
- 1.查看当前磁盘格式
- 2.virt-cat命令,
- 3.virt-edit
- 4.查看虚拟机磁盘信息
- 5.虚拟机克隆
- 6.虚拟机快照
案例分析
1.案例概述
公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行Nginx的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。
2.案例前置知识点
KVM 自 Linux 2.6.20 版本后就直接整合到 Linux 内核,它依托 CPU虚拟化指令集(如InteI-VT、AMD-V)实现高性能的虚拟化支持。由于与 Linux 内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。
下图 简单描绘了 KVM 虚拟化架构,在 KVM 环境中运行的每一个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与 Linux 系统中的安全模块进行整合SELinux),可以灵活地实现资源的管理及分配。
1.KVM原理简介
广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另·部分就是经过简化和修改的 Qemu。
KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/0 以及为用户提供一个用户空间工具来进行虚拟机的管理。两者相互结合、相辅相成,构成了一个完整的虚拟化平台。
需要注意的是,Qemu 本身并不是 KVM 的一部分,Qemu 是一套完整的虚拟化解决方案,是纯软件实现虚拟化,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟出来的,所以 Qemu的性能比较低。
2.KVM运行时的三种模式
KVM 模块是让 Linux 主机成为一个虚拟机监视器(VMM),并且在原有 Linux 内核模式和用户模式的两种执行模式基础上新增加了客户模式,客户模式也拥有自己的内核模式和用户模式。
客户模式:可以简单理解成客户机在操作系统运行中的模式,客户模式又分为内核模式和用户模式。客户模式中的内核模式和用户模式的作用分别如下所示。
用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行 IO,Qemu 运行在这个模式之下。
内核模式:模拟 CPU 以及内存,实现客户模式的切换,处理从客户模式的退出。KVM内核模块运行在这个模式下。
3.KVM工作原理
用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。KVM Driver 为虚拟机创建虚拟 CPU 和虚拟内存,然后执行 VMLAUNCH 指令进入客户模式,装载 GuestOS 并运行。Guest OS 运行过程中如果发生中断或者影子缺页等异常,将暂停 Guest OS的运行并保存当前上下文退出到内核模式来处理这些异常。内核模式处理这些异常时如果不需要 I/O 则处理完成后重新进入客户模式。如果需要 1/0 则进入到用户模式,由 Qemu 来处理 I/0,处理完成后进入内核模式,再进入客户模式,工作原理如图
案例环境
1.安装所需软件
设置后重启进入图形化界面
开启服务
2.设置KVM网络
宿主服务器安装完成 KVM,首先要设定网络,在 libvint 中运行 KVM 网络有两种方法:NAT 和 Bridge,默认是 NAT。
关于两种网络模式的说明:
用户模式,即 NAT 方式,这种方式是默认网络,数据包由 NAT 方式通过主机的网卡接口进行传送,可以访问外网,但是无法让外部主机访问虚拟机内部网络。桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持。
这里以 Bridge(桥接)为例进行操作演示。
kvm1 kvm2都执行
kvm2的ipaddresses为192.168.10.102,然后也需要关闭ens160
然后打开图像化虚拟机管理软件,进行创建存储池
并创建卷
然后创建虚拟机指向iso镜像位置
完成之后即可开始虚拟机的配置这些省略
3.KVM基本功能管理
1.查看命令帮助
2.查看KVM的配置文件存放目录
3.查看虚拟机状态
4.虚拟机的关机与开机
5.强制关闭电源
6.通过配置文件启动虚拟机系统
7.挂起虚拟机
8.恢复虚拟机
virsh resume centos7.0
后跟虚拟机名称
9.配置开机自启
virsh autostart centos7.0
10.导出虚拟机配置
11.虚拟机的删除与添加
12.修改虚拟机配置信息
4.KVM文件管理
通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有 raw、 qcow2 与 qed 格式,KVM 虚拟机默认使用 qcow2 格式。这里介绍本地 YUM 安装 libguestfs-tools 后产生的命令行工具,这个工具可以直接读取 qcow2 格式的磁盘文件。
1.查看当前磁盘格式
如果虚拟机磁盘文件不是 qcow2 格式,可以通过 qemu-img 命令转换磁盘文件格式,如执行以下操作可以将 test01 虚拟机 raw 格式磁盘转换至 qcow2 格式。
2.virt-cat命令,
3.virt-edit
编辑文件
4.查看虚拟机磁盘信息
5.虚拟机克隆
状态必须为关机
6.虚拟机快照
查看快照信息
恢复快照
删除快照