部署KVM虚拟化平台

一:KVM基础

1.1:KVM 虚拟化技术简介

  • Hypervisor: KVM 是一种 Type 1 Hypervisor,这意味着它直接运行在主机操作系统之上,没有其他操作系统层。这使得 KVM 能够提供更好的性能和安全性。
  • Linux 内核: KVM 利用了 Linux 内核的虚拟化功能。一旦 KVM 被加载到内核中,它就成为了一个虚拟机监视器 (VMM),能够创建和管理虚拟机。
  • Guest OS: 在 KVM 上运行的操作系统被称为 Guest OS。它可以是多种不同的操作系统,如 Linux、Windows 等。

1.2:KVM 的主要组成部分

  • KVM 模块: 这是一个加载到 Linux 内核中的模块,提供了硬件虚拟化的接口。
  • QEMU: QEMU 是一个通用的、开源的机器模拟器,它可以在没有 KVM 的情况下模拟硬件。当与 KVM 结合时,QEMU 利用 KVM 模块提供的加速功能,从而提高性能。
  • Libvirt: 这是一个用于管理虚拟机的 API 层,它提供了一种抽象层,使得用户可以通过一组标准的命令来控制虚拟机,而无需直接与 KVM 或 QEMU 交互。

KVM三种工作模式

  • 客户模式:执行非I/O的客户代码,虚拟机运行在这个模式下
  • 用户模式:用户执行I/O代码,QEMU运行在这个模式下 
  • 内核模式:CPU调度和内存管理相关

二:搭建KVM虚拟化平台

2.1:准备KVM虚拟化环境

(1)YUM 安装 KVM

yum -y install qemu-kvm                     kvm核心包–虚拟操作系统模拟器加速模块

yum -y install qemu-kvm-tools            qemu-kvm的工具包

yum -y install virt-install                      虚拟机安装工具

yum -y install qemu-img                     是QEMU的磁盘管理工具

yum -y install bridge-utils                    虚拟机与外界通信的命令管理工具

yum -y install libvirt                            必须要装的核心工具

yum -y install virt-manager                虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远程控制则不需要)

yum -y install libguestfs-tools            用于访问虚拟机的磁盘映像文件提供的一组命令

QEMU是“Quick Emulator”的缩写,是一个用C语言编写的开源虚拟化软件。

QEMU(Quick Emulator)快速仿真器

(2)关机,设置CPU支持虚拟化,然后开机

(3)开机后验证

[root@kvm01 ~]# cat /proc/cpuinfo | grep vmx
[root@kvm01 ~]# lsmod | grep kvm

2.2:设置 KVM 网络

这里以 Bridge(桥接)为例进行操作演示

[root@kvm01 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm01 network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@kvm01 ~]# vim ifcfg-ens33
.....
BRIDGE=br0  //在文件末尾添加
[root@kvm01 ~]# vim ifcfg-br0
TYPE=Bridge
.....
NAME=br0
DEVICE=br0
[root@kvm01 ~]# systemctl restart network
[root@kvm01 ~]# ifconfig

2.3:使用 KVM 命令集管理虚拟机

1:KVM 基本功能管理

(1)查看 KVM 的配置文件存放目录

[root@kvm01 ~]# ls /etc/libvirt/qemu/

(2)查看虚拟机状态

[root@kvm01 ~]# virsh list --all

(3)虚拟机关机与开机

[root@kvm01 ~]# virsh shutdown test01

[root@kvm01 ~]# virsh start test01

(4)强制实例系统关闭电源

[root@kvm01 ~]# virsh destroy test01

(5)通过配置文件启动虚拟机系统实例

[root@kvm01 ~]# virsh create /etc/libvirt/qemu/test01.xml

[root@kvm01 ~]# virsh list --all

(6)挂起虚拟机

[root@kvm01 ~]# virsh suspend test01

[root@kvm01 ~]# virsh list --all

(7)恢复虚拟机

[root@kvm01 ~]# virsh resume test01

[root@kvm01 ~]# virsh list --all

(8)配置虚拟机实例伴随宿主机自动启动

[root@kvm01 ~]# virsh autostart test01

(9)导出虚拟机配置

[root@kvm01 ~]# virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml

(10)虚拟机的删除与添加

删除虚拟机。

[root@kvm01 ~]# virsh shutdown test01

[root@kvm01 ~]# virsh undefine test01

查看删除结果,test01 的配置文件被删除,但是磁盘文件不会被删除。

[root@kvm01 ~]# ls /etc/libvirt/qemu/

通过 virsh list --all 查看不到 test01 的信息,说明此虚拟机被删除。

[root@kvm01 ~]# virsh list --all

通过备份的配置文件重新定义虚拟机。

[root@kvm01 ~]# cd /etc/libvirt/qemu

[root@kvm01  qemu]# mv test02.xml test01.xml

重新定义虚拟机。

[root@kvm01  qemu]# virsh define test01.xml

查看虚拟机信息。

[root@kvm01  qemu]# virsh list --all

(11)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)

直接通过 vim 命令修改。

[root@kvm01 ~]# vim /etc/libvirt/qemu/test01.xml

通过 virsh 命令修改。

[root@kvm01 ~]# virsh edit test01

 2. KVM 文件管理

(1)查看当前磁盘格式

[root@kvm01 ~]# qemu-img info /data_kvm/store/test01.qcow2

(2)virt-cat 命令,类似于 cat 命令

使用这个命令需要安装 libguestfs-tools-c 工具包。

[root@kvm01 ~]# virt-cat -a /data_kvm/store/test01.qcow2 /etc/sysconfig/grub

(3)virt-edit 命令

virt-edit 命令,用于编辑文件,用法与 vim 基本一致。

[root@kvm01 ~]# virt-edit -a /data_kvm/store/test01.qcow2 /etc/resolv.conf

(4)virt-df 命令

virt-df 命令用于查看虚拟机磁盘信息。

[root@kvm01 ~]# virt-df -h test01

3. 虚拟机克隆

(1)查看虚拟机状态

[root@kvm01 ~]# virsh list --all

(2)从 test01 克隆 test02

[root@kvm01 ~]# virt-clone -o test01 -n test02 -f /data_kvm/store/test02.qcow2

(3)查看虚拟机状态

[root@kvm01 ~]# virsh list --all

(4)启动虚拟机

[root@kvm01 ~]# virsh start test02

4. 虚拟机快照

KVM 虚拟机要使用镜像功能,磁盘格式必须为 qcow2。下面介绍 KVM 虚拟机快照备

份的过程。

(1)对 test01 创建快照

[root@kvm01 ~]# virsh snapshot-create test01

已生成域快照 1503494464

(2)查看虚拟机快照版本信息

[root@kvm01 ~]# virsh snapshot-current test01

(3)查看快照信息

[root@kvm01 ~]# virsh snapshot-list test01

(4)创建新快照

[root@kvm01 ~]# virsh snapshot-create test01

(5)查看快照信息

[root@kvm01 ~]# virsh snapshot-list test01

(6)恢复虚拟机状态

[root@kvm01 ~]# virsh snapshot-revert test01 1503494464

(7)查看虚拟机快照版本信息

[root@kvm01 ~]# virsh snapshot-current test01

(8)删除快照

[root@kvm01 ~]# virsh snapshot-delete test01 1503494464

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值