KVM LVM类型的存储池
# LVM 类型的 Storage Pool
# LVM 类型的 Storage Pool
不仅一个文件可以分配给客户机作为虚拟磁盘,宿主机上 VG 中的 LV 也可以作为虚拟磁盘分配给虚拟机使用。不过,LV 由于没有磁盘的 MBR 引导记录,不能作为虚拟机的启动盘,只能作为数据盘使用。
这种配置下,宿主机上的 VG 就是一个 Storage Pool,VG 中的 LV 就是 Volume。 LV 的优点是有较好的性能;不足的地方是管理和移动性方面不如镜像文件,而且不能通过网络远程使用。
下面举个例子。
# 创建物理卷PV
pvcreate /dev/sdb
# 创建卷组vg
vgcreate HostVG /dev/sdb
在宿主机上创建了一个容量为 10G 的 VG,命名为 HostVG。
# 创建定义文件
创建了一个 Storage Pool 的定义文件 /etc/libvirt/storage/HostVG.xml,内容为:
<pool type='logical'>
<name>HostVG</name>
<source>
<name>HostVG</name>
<format type="lvm2"/>
</source>
<target>
<path>/dev/HostVG</path>
</target>
</pool>
2
3
4
5
6
7
8
9
10
11
# 创建新的 Storage Pool
通过 virsh 命令创建新的 Storage Pool “HostVG”。
virsh pool-define /etc/libvirt/storage/HostVG.xml
# 启用这个 HostVG。
# 查看存储池
virsh pool-list --all
# 虚拟机添加lv虚拟磁盘
现在我们可以在 virt-manager 中为虚机 kvm1 添加 LV 的虚拟磁盘了。
点击 Browse。
可以看到 HostVG 已经在 Stroage Pool 的列表中了,选择 HostVG。
为 volume 命名为 newlv 并设置大小 100MB。
点击 Finish,newlv 创建成功。
点击 Choose Volume。
点击 Finish 确认将 newlv 作为 volume 添加到 kvm1。
新 volume 添加成功,在宿主机上则多了一个命名为newlv的LV。
# 其他类型的Storage Pool
KVM 还支持 iSCSI,Ceph 等多种类型的 Storage Pool,这里就不一一介绍了,最常用的就是目录类型,其他类型可以参考文档 http://libvirt.org/storage.html。
下一节我们将开始讨论 KVM 的网络虚拟化原理。
# 常用命令
//查看pv
pvdisplay
//创建物理卷PV
pvcreate 物理卷名
//撤销pv
pvremove 物理卷名
2
3
4
5
6
7
8
··· //查看vg vgdisplay
//创建卷组vg vgcreate 卷组名
//撤销卷组VG vgremove 卷组名称