lvm扩容(实战无废话)

前言

环境:centos7.9

lvm根扩容

1、挂载好一块磁盘

[root@localhost ~]# lsblk						#lsblk命令查看磁盘,发现已经挂载了1块3T的磁盘
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   300G  0 disk 
├─sda1        8:1    0     1M  0 part 
├─sda2        8:2    0   500M  0 part /boot
└─sda3        8:3    0 299.5G  0 part 
  ├─cl-root 253:0    0 283.5G  0 lvm  /
  └─cl-swap 253:1    0    16G  0 lvm  [SWAP]
sdb           8:16   0     3T  0 disk			#这就是新挂载的磁盘/dev/sdb
sr0          11:0    1   4.1G  0 rom  
loop0         7:0    0   4.1G  0 loop /media
[root@localhost ~]#
2、直接将新挂载的磁盘格式化为pv,不用分区

[root@localhost ~]# pvcreate /dev/sdb			#直接将新挂载的磁盘/dev/sdb格式化为pv,不用分区
  Physical volume "/dev/sdb" successfully created.
[root@localhost ~]# 
[root@localhost ~]# pvdisplay /dev/sdb			#查看我们新创建的pv,发现VG Name是空的表示这块pv还未加入任务vg卷组
  "/dev/sdb" is a new physical volume of "3.00 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               3.00 TiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               V0mvA1-Yfc7-MdlM-0P4M-O54M-23Kt-gvEQ2O
3、将pv加入根目录所在的vg卷组

#由于我们是要扩容根目录,上面我们已经把新的磁盘/dev/sdb格式化为pv了
#这时我们应该要把新的磁盘/dev/sdb加入到我们根目录的vg卷组中去

#查看根目录的vg卷组是哪个
[root@localhost ~]# vgs						#我们这里只有一个vg卷组,所以要把新的磁盘/dev/sdb加入到我们根目录的cl卷组中去
  VG #PV #LV #SN Attr   VSize   VFree
  cl   1   2   0 wz--n- 299.51g    0 
[root@localhost ~]#


[root@localhost ~]# vgextend cl /dev/sdb	#将/dev/sdb这个pv加入到cl这个卷组中	
  Volume group "cl" successfully extended
[root@localhost ~]# vgs						#再次查看cl卷组,显示cl有2个pv了
  VG #PV #LV #SN Attr   VSize VFree
  cl   2   2   0 wz--n- 3.29t 3.00t
[root@localhost ~]# 

#查看cl卷组的详细信息,发现可分配的PE有786431个,这就是我们把/dev/sdb这个pv加入到cl这个卷组中才有这多PE的
[root@localhost ~]# vgdisplay cl	
  --- Volume group ---
  VG Name               cl
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.29 TiB
  PE Size               4.00 MiB
  Total PE              863105
  Alloc PE / Size       76674 / 299.51 GiB
  Free  PE / Size       786431 / 3.00 TiB		#可分配有786431个PE,3T磁盘空间
  VG UUID               JVnrk6-TboF-tB4f-Ddl1-UkOJ-stt9-JtTduv
4、开始扩容lv

#先查看全部的lv情况
[root@localhost ~]# lvdisplay				#查看系统有哪些lv
  --- Logical volume ---
  LV Path                /dev/cl/swap		#这个是swap
  LV Name                swap
  VG Name                cl
  LV UUID                T49wyV-pbdx-Bacq-AghU-XOEm-LYgW-vZ1YCL
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-05-29 04:48:35 +0800
  LV Status              available
  # open                 2
  LV Size                16.00 GiB
  Current LE             4096
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/cl/root		#这个lv才是我们的根目录,记住这个/dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                NNENyc-rzzn-bd1S-UlBM-ezSB-e7mM-Wgr8yh
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-05-29 04:48:35 +0800
  LV Status              available
  # open                 1
  LV Size                283.51 GiB			#这个lv才283G大小
  Current LE             72578
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@localhost ~]# 
[root@localhost ~]# lvextend -L +500G /dev/cl/root	#扩容根目录,指定扩容的是/dev/cl/root,扩容500G
  Size of logical volume cl/root changed from 283.51 GiB (72578 extents) to 783.51 GiB (200578 extents).
  Logical volume cl/root successfully resized.
[root@localhost ~]# 

[root@localhost ~]# lvdisplay /dev/cl/root		#再次查看lv的情况,发现lv的大小确实增大了500G
  --- Logical volume ---
  LV Path                /dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                NNENyc-rzzn-bd1S-UlBM-ezSB-e7mM-Wgr8yh
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-05-29 04:48:35 +0800
  LV Status              available
  # open                 1
  LV Size                783.51 GiB				#lv大小增大了,之前是283G大小
  Current LE             200578
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
5、扩展文件系统

[root@localhost ~]# df -Th		#查看文件系统的类型为xfs,这时的文件系统还未增大,还需要最后做一步:增大文件系统
Filesystem          Type      Size  Used Avail Use% Mounted on
/dev/mapper/cl-root xfs       284G  185G  100G  66% /			#记住/dev/mapper/cl-root这个名称
devtmpfs            devtmpfs   63G     0   63G   0% /dev
tmpfs               tmpfs      63G     0   63G   0% /dev/shm
tmpfs               tmpfs      63G   65M   63G   1% /run
tmpfs               tmpfs      63G     0   63G   0% /sys/fs/cgroup
/dev/sda2           xfs       497M  132M  366M  27% /boot
tmpfs               tmpfs      13G     0   13G   0% /run/user/0
/dev/loop0          iso9660   4.1G  4.1G     0 100% /media
tmpfs               tmpfs      13G     0   13G   0% /run/user/1001
[root@localhost ~]# 

#根目录的文件系统的类型为xfs,做最后做一步:增大文件系统大小
#注意:xfs_growfs 命令用于扩展xfs格式的文件系统,resize2fs用于扩展ext4格式的文件系统,现在centos7一般都是默认xfs格式文件系统

#使用xfs_growfs命令扩展xfs文件系统,这里的/dev/mapper/cl-root其实与/dev/cl/root都是软连接,指向的快设备都是相同的
[root@localhost ~]# xfs_growfs /dev/mapper/cl-root		
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=18579968 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=74319872, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=36289, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 74319872 to 205391872
[root@localhost ~]# df -h									#查看文件系统,根目录已经增大了,扩容完成
Filesystem           Size  Used Avail Use% Mounted on		#根目录已经增大了
/dev/mapper/cl-root  784G  185G  599G  24% /			
devtmpfs              63G     0   63G   0% /dev
tmpfs                 63G     0   63G   0% /dev/shm
tmpfs                 63G   65M   63G   1% /run
tmpfs                 63G     0   63G   0% /sys/fs/cgroup
/dev/sda2            497M  132M  366M  27% /boot
tmpfs                 13G     0   13G   0% /run/user/0
/dev/loop0           4.1G  4.1G     0 100% /media
tmpfs                 13G     0   13G   0% /run/user/1001
[root@localhost ~]# 

总结

1、挂载好一块磁盘
[root@localhost ~]# lsblk						#lsblk命令查看磁盘,发现已经挂载了1块3T的磁盘,/dev/sdb

2、将磁盘直接格式化为pv,不分区
[root@localhost ~]# pvcreate /dev/sdb			#直接将新挂载的磁盘/dev/sdb格式化为pv,不用分区

3、将pv加入根目录所在的vg卷组
#查看根目录的vg卷组是哪个
[root@localhost ~]# vgs							#查看系统中有哪些vg,这里只有一个vg卷组
  VG #PV #LV #SN Attr   VSize   VFree
  cl   1   2   0 wz--n- 299.51g    0 
[root@localhost ~]#
[root@localhost ~]# vgextend cl /dev/sdb		#将/dev/sdb这个pv加入到cl这个卷组中

4、开始扩容lv
#先查看全部的lv情况,确定我们的根目录是属于哪个lv
[root@localhost ~]# lvdisplay					#查看系统有哪些lv
 --- Logical volume ---
  LV Path                /dev/cl/root			#这个lv才是我们的根目录,记住这个/dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                NNENyc-rzzn-bd1S-UlBM-ezSB-e7mM-Wgr8yh
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-05-29 04:48:35 +0800
  LV Status              available
  # open                 1
  LV Size                283.51 GiB				#这个lv才283G大小
  Current LE             72578
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@localhost ~]# 
[root@localhost ~]# lvextend -L +500G /dev/cl/root		#扩容根目录,指定扩容的是/dev/cl/root,扩容500G
# 注意:lvextend命令的常用用法有三种,如下所示
lvextend -L +1G /dev/my_data/lv_data					#命令一、-L参数直接指定扩容大小,最常用
lvextend -l +100%FREE /dev/my_data/lv_data				#命令二、直接将vg中全部可用空间给lv扩容,比较常用
lvextend  -l +25 /dev/my_data/lv_data					#命令三、指定LE的个数来扩容,1个LE的大小是4MB,那么这个就是增加100MB


5、扩展文件系统
 #lv的大小扩容之后文件系统此时并不知道lv增大了,所以还需要做最后一步:动态通知文件系统
[root@localhost ~]# df -Th										#先查看文件系统的类型是什么,这里我们的根目录文件系统类型为xfs
Filesystem          Type      Size  Used Avail Use% Mounted on
/dev/mapper/cl-root xfs       284G  185G  100G  66% /			#记住/dev/mapper/cl-root这个名称
devtmpfs            devtmpfs   63G     0   63G   0% /dev
tmpfs               tmpfs      63G     0   63G   0% /dev/shm
tmpfs               tmpfs      63G   65M   63G   1% /run
tmpfs               tmpfs      63G     0   63G   0% /sys/fs/cgroup
/dev/sda2           xfs       497M  132M  366M  27% /boot
tmpfs               tmpfs      13G     0   13G   0% /run/user/0
/dev/loop0          iso9660   4.1G  4.1G     0 100% /media
tmpfs               tmpfs      13G     0   13G   0% /run/user/1001
[root@localhost ~]# 
[root@localhost mapper]# xfs_growfs  /dev/mapper/cl-root 			#使用xfs_growfs 命令扩展xfs文件系统
[root@localhost mapper]# resize2fs  /dev/mapper/cl-root 			#使用resize2fs 命令扩展ext4文件系统

#备注:df命令查看到的根目录所在的路径是/dev/mapper/cl-root
#lvdisplay命令查看到的根目录所在的lv路径/dev/cl/root,其实两者都是软连接.
#指向的快设备都是相同的。所以上面扩容文件系统使用任意一个即可。

[root@localhost mapper]# df -Th										#查看文件系统发现真的增大了,扩容完成
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值