KVM基于LVM的存储池

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM基于LVM的存储池相关的知识,希望对你有一定的参考价值。

基于LVM的存储池要求使用全部磁盘分区。

创建存储池,有两种方法:

  • 使用现有的VG

  • 创建新的VG

一、使用现有 VG

  • 准备 VG

[[email protected] ~]# fdisk /dev/sdc                       #<--新建一个VG
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。


更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
分区号 (1-128,默认 1):1
第一个扇区 (34-83886046,默认 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-83886046,默认 83886046):
已创建分区 1


命令(输入 m 获取帮助):t
已选择分区 1
分区类型(输入 L 列出所有类型):15
已将分区“Linux filesystem”的类型更改为“Linux LVM”


命令(输入 m 获取帮助):p

磁盘 /dev/sdc:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt


#         Start          End    Size  Type            Name
1         2048     83886046     40G  Linux LVM       
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

[[email protected] ~]# pvcreate /dev/sdc1
WARNING: ext4 signature detected on /dev/sdc1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdc1.
  Physical volume "/dev/sdc1" successfully created.

[[email protected] ~]# pvdisplay /dev/sdc1
  "/dev/sdc1" is a new physical volume of "40.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name               
  PV Size               40.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               kFpBqD-uqY3-kcBu-ri9I-owgr-BSjx-4PrUcc
   
[[email protected] ~]# vgcreate guest_images_lvm /dev/sdc1
  Volume group "guest_images_lvm" successfully created

[[email protected] ~]# vgdisplay
  --- Volume group ---
  VG Name               guest_images_lvm
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               40.00 GiB
  PE Size               4.00 MiB
  Total PE              10239
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10239 / 40.00 GiB
  VG UUID               oOZmaS-JUIZ-CWgs-BNUz-9Xxc-7zyC-M4xJu9
   
  --- Volume group ---
  VG Name               cl
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               98.99 GiB
  PE Size               4.00 MiB
  Total PE              25342
  Alloc PE / Size       25215 / 98.50 GiB
  Free  PE / Size       127 / 508.00 MiB
  VG UUID               FoUsGy-AgQD-xaod-8OoI-Cgru-bYHO-jaMEPE
   
[[email protected] ~]# vgscan
  Reading volume groups from cache.
  Found volume group "guest_images_lvm" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2

[[email protected] ~]# virsh pool-list
名称                          状态     自动开始
-------------------------------------------
default                       活动     是       
guest_images_lvm              活动     是       
iso                           活动     是       
vm                            活动     是
  • 通过 virt-manager 创建基于 LVM 的存储池

技术分享图片

技术分享图片

技术分享图片

  • 移除VG,创建基于分区的 LVM 存储池

[[email protected] ~]# vgremove guest_images_lvm
  Volume group "guest_images_lvm" successfully removed

[[email protected] ~]# vgscan
  Reading volume groups from cache.
  Found volume group "cl" using metadata type lvm2

[[email protected] ~]# pvremove /dev/sdc1
  Labels on physical volume "/dev/sdc1" successfully wiped.

[[email protected] ~]# pvscan
  PV /dev/sda2   VG cl              lvm2 [19.00 GiB / 0    free]
  PV /dev/sdb    VG cl              lvm2 [80.00 GiB / 508.00 MiB free]
  Total: 2 [98.99 GiB] / in use: 2 [98.99 GiB] / in no VG: 0 [0   ]
  • 通过 virt-manager 创建基于分区的 LVM 的存储池

技术分享图片

技术分享图片

技术分享图片

技术分享图片

[[email protected] ~]# pvscan
  PV /dev/sdc    VG guest_images_lvm2   lvm2 [40.00 GiB / 40.00 GiB free]
  PV /dev/sda2   VG cl                  lvm2 [19.00 GiB / 0    free]
  PV /dev/sdb    VG cl                  lvm2 [80.00 GiB / 508.00 MiB free]
  Total: 3 [138.99 GiB] / in use: 3 [138.99 GiB] / in no VG: 0 [0   ]

[[email protected] ~]# vgscan
  Reading volume groups from cache.
  Found volume group "guest_images_lvm2" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2

二、通过 virsh 命令行创建 LVM 存储池

[[email protected] ~]# virsh pool-define-as guest_images_lvm3 logical --source-dev=/dev/sdc --source-name=libvirt_lvm --target=/dev/libvirt_vg
定义池 guest_images_lvm3
[[email protected] ~]# virsh pool-list --all     
名称                            状态     自动开始
-------------------------------------------
default                         活动     是       
guest_images_lvm3               不活跃   否       
iso                             活动     是       
vm                              活动     是       
[[email protected] ~]# virsh pool-build guest_images_lvm3
构建池 guest_images_lvm3
[[email protected] ~]# virsh pool-list --all             
名称                            状态     自动开始
-------------------------------------------
default                         活动     是       
guest_images_lvm3               不活跃   否       
iso                             活动     是       
vm                              活动     是       
[[email protected] ~]# virsh pool-start guest_images_lvm3
池 guest_images_lvm3 已启动
[[email protected] ~]# virsh pool-list --all             
名称                           状态     自动开始
-------------------------------------------
default                        活动     是       
guest_images_lvm3              活动     否       
iso                            活动     是       
vm                             活动     是       
[[email protected] ~]# vgscan
  Reading volume groups from cache.
  Found volume group "libvirt_lvm" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2


以上是关于KVM基于LVM的存储池的主要内容,如果未能解决你的问题,请参考以下文章

基于目录(dir)的 KVM 存储池

kvm虚拟机--存储池配置梳理(转)

kvm中基于lvm的pool的建立

云计算_存储池和存储卷

KVM之virsh管理Storyage pool

在创建KVM虚拟机之前,需要先创建一个存储池