1. 程式人生 > 其它 >lvm 擴容

lvm 擴容

總體思路:

邏輯卷要擴容,先擴容對應卷組,

擴容卷組的方式:

  1. 新增新的物理卷(磁碟已有分割槽,擴容後新建分割槽;或者新加了一塊硬碟建立了新的物理卷),vgextend myvg /dev/vdb 擴容,/dev/vdb為示例新加了一塊硬碟直接做的物理卷。
  2. 原有未分割槽已做物理卷的虛擬硬碟直接擴容了。直接pvresize重新整理物理卷大小即可。

示例場景1:

/dev/vdc 由25G擴容到35G
[root@vm10-20-88-88 ~]# lsblk
NAME             MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda              253:0    0
20G 0 disk └─vda1 253:1 0 20G 0 part / vdb 253:16 0 50G 0 disk vdc 253:32 0 35G 0 disk └─vdc1 253:33 0 25G 0 part └─myvg-mylv--1 252:0 0 59G 0 lvm /disk1 vdd 253:48 0 25G 0 disk └─vdd1 253:49 0 25G 0 part └─myvg
-mylv--1 252:0 0 59G 0 lvm /disk1 vde 253:64 0 25G 0 disk └─vde1 253:65 0 25G 0 part └─myvg-mylv--1 252:0 0 59G 0 lvm /disk1 [root@vm10-20-88-88 ~]# pvs PV VG Fmt Attr PSize PFree /dev/vdb myvg lvm2 a-- <50.00g <50.00g /dev/vdc1 myvg lvm2 a-- <25
.00g 0 /dev/vdd1 myvg lvm2 a-- <25.00g 0 /dev/vde1 myvg lvm2 a-- <25.00g <15.99g [root@vm10-20-88-88 ~]#

使用parted擴容分割槽方式

resizepart
[root@vm10-20-88-88 ~]# parted /dev/vdc
GNU Parted 3.1
Using /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Error: The backup GPT table is not at the end of the disk, as it should be.  This might mean that another operating system believes the disk is smaller.  Fix, by moving the backup to the end
(and removing the old backup)?
Fix/Ignore/Cancel? y                                                      
parted: invalid token: y
Fix/Ignore/Cancel? f                                                      
Warning: Not all of the space available to /dev/vdc appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? 
Fix/Ignore? f                                                             
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 37.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  26.8GB  26.8GB

(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 37.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  26.8GB  26.8GB

(parted)resizepart 1 37.6GB                                        
(parted) print 
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 37.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  37.6GB  37.6GB

(parted)                      

然後擴容物理卷,卷組自動擴容

[root@vm10-20-88-88 ~]# pvresize /dev/vdc1 
  Physical volume "/dev/vdc1" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@vm10-20-88-88 ~]# vgs
  VG   #PV #LV #SN Attr   VSize   VFree 
  myvg   4   1   0 wz--n- 134.98g 75.98g
[root@vm10-20-88-88 ~]# 

或者新建一個分割槽新建物理卷,向卷組新加物理卷

vgextend myvg <新物理卷>

詳細示例省略

示例場景2:

/dev/vdb磁碟未做分割槽,直接做了物理卷

物理卷擴容前25G

[root@vm10-20-88-88 ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/vdb   myvg lvm2 a--  <25.00g <25.00g
  /dev/vdc1  myvg lvm2 a--  <25.00g      0 
  /dev/vdd1  myvg lvm2 a--  <25.00g      0 
  /dev/vde1  myvg lvm2 a--  <25.00g <15.99g

虛擬機器磁碟擴容....到50G

pvresize擴容物理卷
[root@vm10-20-88-88 ~]# pvresize /dev/vdb 
  Physical volume "/dev/vdb" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@vm10-20-88-88 ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/vdb   myvg lvm2 a--  <50.00g <50.00g
  /dev/vdc1  myvg lvm2 a--  <25.00g      0 
  /dev/vdd1  myvg lvm2 a--  <25.00g      0 
  /dev/vde1  myvg lvm2 a--  <25.00g <15.99g
vgs檢視卷組大小已擴容
[root@vm10-20-88-88 ~]# vgs
  VG   #PV #LV #SN Attr   VSize   VFree 
  myvg   4   1   0 wz--n- 124.98g 65.98g
[root@vm10-20-88-88 ~]#