首页 > 技术文章 > kvm虚拟化存储管理

liangzb310 2019-06-22 19:34 原文

1.KVM 存储虚拟化介绍

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。

Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型;

Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

2.目录类型的 Storage Pool

文件目录是最常用的 Storage Pool 类型。KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool

Volume 是该目录下面的文件了,一个文件就是一个 Volume。

clip_image001

那 KVM 是怎么知道要把 /var/lib/libvirt/images 这个目录当做默认 Storage Pool 的呢?

实际上 KVM 所有可以使用的 Storage Pool 都定义在宿主机的 /etc/libvirt/storage 目录下,每个 Pool 一个 xml 文件,如下:

clip_image002

默认有一个 default.xml,其内容如下:注意:Storage Pool 的类型是 “dir”,目录的路径就是/var/lib/libvirt/images

clip_image003

3. 创建Storage Pool

(1)在 virt-manager 中打开一台虚拟机,为其添加硬盘,执行如下:

(2)选择管理,弹出如下对话框,点击左侧“+”后弹出添加新存储池,随意起一个名称,点击“前进”

clip_image004

(3)在“目标路径”中写入准备新建存储池的路径,点击“完成”:

clip_image005

clip_image006

(4)之后新建出一个名为kem-storage的存储池,其路径为/kvm-storag

clip_image007

(5)删除存储池:首先停止存储池,再进行删除

clip_image008

clip_image009

4. 虚机添加volume

(1)添加volume,取名并设置大小:

clip_image010

clip_image011

(2)点击“完成”后,在kvm-storage中新建了一个volume的文件,点击“选择卷”:

clip_image012

(3)点击“完成”后,虚机中多了一个“磁盘2”

clip_image013

clip_image014

clip_image015

clip_image016

以上创建的卷 volume01.qcow2 是一个文件,路径在 /var/lib/libvirt/images/。使用文件做 Volume 有很多优点:存储方便、移植性好、可复制。

KVM 支持多种 Volume 文件格式:

raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。

qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。

vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。

推荐阅读