第 1 章 虚拟化 - 007 - KVM 存储虚拟化

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

 

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

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

 

Storage Pool 的分类:目录类型的 Storage Pool 和  LVM 类型的 Storge Pool

 

目录类型的 Storage Pool

 

文件目录是最常用的 Storage Pool 类型。

KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool。

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

 

之前创建第一个虚机 kvm1 的时候,生成一个磁盘文件 /var/lib/libvirt/images/kvm1.img 也就是Volume,对于 kvm1 来说这就是它的磁盘了。

 

在宿主机的 /etc/libvirt/storage 目录下定义了 Storage Pool ,每个 Pool 一个 xml 文件,默认有一个 images.xml,其内容如下:

 

注意:Storage Pool 的类型是 “dir”,目录的路径就是 /var/lib/libvirt/images。

 

下面为虚机 kvm1 添加一个新的磁盘,看看有什么变化。

在 virt-manager 中打开 kvm1 的配置页面,右键添加新硬件

 

在默认 Pool 中创建一个 5G 的卷。

 

 

点击 “Finish”,可以看到新磁盘的信息。

 

 

在 /var/lib/libvirt/images/ 下多了一个 5G 的文件 kvm1-1.img

 

使用文件做 Volume 有很多优点:

  存储方便、移植性好、可复制、可远程访问。

 

远程访问的意思是镜像文件不一定都放置到宿主机本地文件系统中,也可以存储在通过网络连接的远程文件系统,比如 NFS,或者是分布式文件系统中,比如 GlusterFS。

 

这样镜像文件就可以在多个宿主机之间共享,便于虚机在不同宿主机之间做 Live Migration;如果是分布式文件系统,多副本的特性还可以保证镜像文件的高可用。

 

KVM 支持多种 Volume 文件格式,在添加 Volume 时可以选择。

 

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

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

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

 

-----------------------------------------------------------------引用来自----------------------------------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587944&idx=1&sn=53227073729715d317643fe9a09ef211&chksm=8d3081f1ba4708e76d5ef08c16486f39ffe5a07c315f13a61d76f3485da1e23f1938a5dd6256&scene=21#wechat_redirect

posted @ 2019-05-21 14:34  gsophy  阅读(155)  评论(0编辑  收藏  举报