ljzsdut
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Lvm操作

创建lvm

sdb:

yum install -y lvm2
pvcreate /dev/sdb
vgcreate vgu01 -s 16M /dev/sdb

lvcreate -n lvu01 -L 399G vgu01  #修改逻辑卷大小
# mkfs.ext4 /dev/mapper/vgu01-lvu01
mkfs.xfs /dev/mapper/vgu01-lvu01
mkdir /u01
echo '/dev/mapper/vgu01-lvu01 /u01                    xfs    defaults        0 0'>>/etc/fstab
# echo '/dev/mapper/vgu01-lvu01 /u01                    ext4    defaults        0 0'>>/etc/fstab
mount -a
df -h /u01

vdb:

yum install -y lvm2
pvcreate /dev/vdb
vgcreate vgu01 -s 16M /dev/vdb

lvcreate -n lvu01 -L 199G vgu01  #修改逻辑卷大小
# mkfs.ext4 /dev/mapper/vgu01-lvu01
mkfs.xfs /dev/mapper/vgu01-lvu01
mkdir /u01
echo '/dev/mapper/vgu01-lvu01 /u01                    xfs    defaults        0 0'>>/etc/fstab
# echo '/dev/mapper/vgu01-lvu01 /u01                    ext4    defaults        0 0'>>/etc/fstab
mount -a
df -h /u01

扩展lvm

扩展逻辑卷时,先扩展逻辑卷的物理边界(介质),再扩展逻辑边界(文件系统)

#第1步:lvextend扩展物理边界:	lvextend -L [+]# /PATH/TO/LV
lvextend -L +1G /dev/mapper/myvg-test		##扩展逻辑卷test的物理边界(增大1G)
或:
lvextend -l +100%free /dev/mapper/myvg-test	##将剩余的100%扩展到lv里


#第2步:扩展文件系统(逻辑边界):
#ext4文件系统:resize2fs扩展逻辑边界:	resize2fs [-p] /PATH/TO/LV [size] 
	(-p:percentage completion bars完成百分比进度条)
resize2fs /dev/mapper/myvg-test		##扩展逻辑卷test的逻辑边界(文件系统的大小)
#xfs文件系统:系统扩展逻辑边界:
xfs_growfs /dev/mapper/myvg-test

#说明:第(1)、(2)步骤可以合并为一步:在lvextend命令时,使用-r参数,自动实现文件系统的扩容。即lvextend -r -l +100%free /dev/mapper/myvg-test

演示:

扩展lvm

[root@crm004 services]# df -h .
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vgu01-lvu01  199G  718M  199G    1% /u01
[root@crm004 services]# lvs
  LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  centos -wi-ao----  63.00g                                                    
  swap  centos -wi-ao---- <16.00g                                                    
  lvu01 vgu01  -wi-ao---- 199.00g                                                    
[root@crm004 services]# pvs
  PV         VG     Fmt  Attr PSize   PFree   
  /dev/sda   vgu01  lvm2 a--  199.98g 1008.00m
  /dev/vda2  centos lvm2 a--  <79.00g       0 



  
[root@crm004 services]# pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created.

[root@crm004 services]# vgextend vgu01 /dev/vdb
  Volume group "vgu01" successfully extended
[root@crm004 services]# lvs                 
  LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  centos -wi-ao----  63.00g                                                    
  swap  centos -wi-ao---- <16.00g                                                    
  lvu01 vgu01  -wi-ao---- 199.00g                                                    
[root@crm004 services]# vgs
  VG     #PV #LV #SN Attr   VSize    VFree   
  centos   1   2   0 wz--n-  <79.00g       0 
  vgu01    2   1   0 wz--n- <499.97g <300.97g
[root@crm004 services]# lvextend -r -l +100%free /dev/vgu01/lvu01 
  Size of logical volume vgu01/lvu01 changed from 199.00 GiB (12736 extents) to <499.97 GiB (31998 extents).
  Logical volume vgu01/lvu01 successfully resized.
meta-data=/dev/mapper/vgu01-lvu01 isize=512    agcount=4, agsize=13041664 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=52166656, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=25472, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 52166656 to 131063808
[root@crm004 services]# df -h .
文件系统                 容量  已用  可用 已用% 挂载点df
/dev/mapper/vgu01-lvu01  500G  718M  500G    1% /u01
mke2fs -t ext4 /dev/sdb1
mkdir -pv /data/vmdata/hpvolumes
# echo '/dev/sdb1 /data/vmdata/hpvolumes               ext4    defaults 0       0' >>/etc/fstab
echo "$(blkid |grep '/dev/sdb1' |awk '{print $2}')  /data/vmdata/hpvolumes   ext4    defaults 0       0" >>/etc/fstab
mount -a