1. 程式人生 > >KVM基於LVM的存儲池

KVM基於LVM的存儲池

kvm KVM 存儲池 LVM

基於LVM的存儲池要求使用全部磁盤分區。

創建存儲池,有兩種方法:

  • 使用現有的VG

  • 創建新的VG

一、使用現有 VG

  • 準備 VG

[root@k-node2 ~]# 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.
正在同步磁盤。

[root@k-node2 ~]# 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.

[root@k-node2 ~]# 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
   
[root@k-node2 ~]# vgcreate guest_images_lvm /dev/sdc1
  Volume group "guest_images_lvm" successfully created

[root@k-node2 ~]# 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
   
[root@k-node2 ~]# vgscan
  Reading volume groups from cache.
  Found volume group "guest_images_lvm" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2

[root@k-node2 ~]# virsh pool-list
名稱                          狀態     自動開始
-------------------------------------------
default                       活動     是       
guest_images_lvm              活動     是       
iso                           活動     是       
vm                            活動     是
  • 通過 virt-manager 創建基於 LVM 的存儲池

技術分享圖片

技術分享圖片

技術分享圖片

  • 移除VG,創建基於分區的 LVM 存儲池

[root@k-node2 ~]# vgremove guest_images_lvm
  Volume group "guest_images_lvm" successfully removed

[root@k-node2 ~]# vgscan
  Reading volume groups from cache.
  Found volume group "cl" using metadata type lvm2

[root@k-node2 ~]# pvremove /dev/sdc1
  Labels on physical volume "/dev/sdc1" successfully wiped.

[root@k-node2 ~]# 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 的存儲池

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

[root@k-node2 ~]# 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   ]

[root@k-node2 ~]# 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 存儲池

[root@k-node2 ~]# virsh pool-define-as guest_images_lvm3 logical --source-dev=/dev/sdc --source-name=libvirt_lvm --target=/dev/libvirt_vg
定義池 guest_images_lvm3
[root@k-node2 ~]# virsh pool-list --all     
名稱                            狀態     自動開始
-------------------------------------------
default                         活動     是       
guest_images_lvm3               不活躍   否       
iso                             活動     是       
vm                              活動     是       
[root@k-node2 ~]# virsh pool-build guest_images_lvm3
構建池 guest_images_lvm3
[root@k-node2 ~]# virsh pool-list --all             
名稱                            狀態     自動開始
-------------------------------------------
default                         活動     是       
guest_images_lvm3               不活躍   否       
iso                             活動     是       
vm                              活動     是       
[root@k-node2 ~]# virsh pool-start guest_images_lvm3
池 guest_images_lvm3 已啟動
[root@k-node2 ~]# virsh pool-list --all             
名稱                           狀態     自動開始
-------------------------------------------
default                        活動     是       
guest_images_lvm3              活動     否       
iso                            活動     是       
vm                             活動     是       
[root@k-node2 ~]# 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的存儲池