kvm虚拟化存储管理

 

 

一、KVM 存储虚拟化介绍

 

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

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

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

 

二、目录类型的 Storage Pool

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

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

kvm虚拟化存储管理

 

那 KVM 是怎么知道要把 /var/lib/libvirt/images 这个目录当做默认 Storage Pool 的呢? 
实际上 KVM 所有可以使用的 Storage Pool 都定义在宿主机的 /etc/libvirt/storage 目录下,每个 Pool 一个 xml 文件,如下:

kvm虚拟化存储管理

 

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

kvm虚拟化存储管理

 

 

三、创建Storage Pool

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

 kvm虚拟化存储管理

 

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

 kvm虚拟化存储管理

 

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

 kvm虚拟化存储管理

 

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

 kvm虚拟化存储管理

 

 

四、虚机添加volume

(1)上一节我们创建了路径为/kvm-storage的Storage-Pool,在此Pool中添加volume,取名并设置大小:

 kvm虚拟化存储管理

 

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

kvm虚拟化存储管理

 

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

kvm虚拟化存储管理

 

在哪个虚拟机添加的就去哪个虚拟机上执行:lsblk  查看

kvm虚拟化存储管理

 

总结:

/etc/libvirt/qemu               #所有虚拟机配置文件的目录

/etc/libvirt/storage            #所有储存池的目录,在这里储存池会以.xml的文件格式保存,方便,易修改。

/var/lib/libvirt/images/       #默认储存池的目录

 

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

KVM 支持多种 Volume 文件格式:
raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。
qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。
vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行

上一篇:python – libvirt – 确定域通过API使用的卷


下一篇:java – 将输出数据写入文本文件会在文本文件中产生不完整的结果