LVM扩容操作-Centos7
生产环境要扩容,太久没试过LVM,记录一下走过的坑
[root@archive ~]# df -h #查看磁盘挂载,对/dev/mapper/vgnfs-lvdata进行扩容
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 911M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/vda2 39G 1.5G 38G 4% /
/dev/vda1 1014M 199M 816M 20% /boot
/dev/mapper/vgnfs-lvdata 290G 30G 261G 11% /nfs
tmpfs 184M 0 184M 0% /run/user/0
[root@archive ~]# fdisk /dev/vdc #分区新磁盘
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xb5c088cb 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/vdc:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb5c088cb
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):
将使用默认值 209715199
分区 1 已设置为 Linux 类型,大小设为 100 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/vdc:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb5c088cb
设备 Boot Start End Blocks Id System
/dev/vdc1 2048 209715199 104856576 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@archive ~]# partprobe #更新分区表信息
[root@archive ~]# partx /dev/vdc #查看磁盘信息
NR START END SECTORS SIZE NAME UUID
1 2048 209715199 209713152 100G
[root@archive ~]# pvcreate /dev/vdc1 #创建PV
Physical volume "/dev/vdc1" successfully created.
[root@archive ~]# vgdisplay
--- Volume group ---
VG Name vgnfs
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <300.00 GiB
PE Size 4.00 MiB
Total PE 76799
Alloc PE / Size 74240 / 290.00 GiB
Free PE / Size 2559 / <10.00 GiB
VG UUID RcnxuP-1qDK-eDpv-c84O-lnPM-pU7s-29Zs9l
[root@archive ~]# vgextend vgnfs /dev/vdc1 #将新的pv加入到vgnfs组内
Volume group "vgnfs" successfully extended
[root@archive ~]# pvs #查看pv信息
PV VG Fmt Attr PSize PFree
/dev/vdb1 vgnfs lvm2 a-- <300.00g <10.00g
/dev/vdc1 vgnfs lvm2 a-- <100.00g <100.00g
[root@archive ~]# lvdisplay #查看LV信息
--- Logical volume ---
LV Path /dev/vgnfs/lvdata
LV Name lvdata
VG Name vgnfs
LV UUID nMpYOj-nBsC-TEdw-aL2n-PpU7-Lk1p-NTbryM
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-07-27 17:33:44 +0800
LV Status available
# open 1
LV Size 290.00 GiB
Current LE 74240
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
[root@archive ~]# lvextend -L +99G /dev/vgnfs/lvdata #将lvdata增加99G,这里少个+号会很坑
Size of logical volume vgnfs/lvdata changed from 290.00 GiB (74240 extents) to 389.00 GiB (99584 extents).
Logical volume vgnfs/lvdata successfully resized.
[root@archive ~]# xfs_growfs /dev/vgnfs/lvdata #同步文件系统
meta-data=/dev/mapper/vgnfs-lvdata isize=512 agcount=4, agsize=19005440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=76021760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=37120, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 76021760 to 101974016
[root@archive ~]#
[root@archive ~]# df -h #扩容后查看
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 911M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/vda2 39G 1.5G 38G 4% /
/dev/vda1 1014M 199M 816M 20% /boot
/dev/mapper/vgnfs-lvdata 389G 30G 360G 8% /nfs
tmpfs 184M 0 184M 0% /run/user/0
LVM扩容是运维工作常有的活,记录一下,在使用lvextend扩容的时候,必须用到+号,否则会有下面的错误:
[root@archive ~]# lvextend -L 99G /dev/vgnfs/lvdata
New size given (25344 extents) not larger than existing size (74240 extents)
说明:最新指定的硬盘大小不大于原来分区大小,extend是进行扩大硬盘大小,这里指定的大小比原分区大小还要小,所以报错。这里如果需要增加lv的大小,是需要用+号进行指定的,这里要非常注意。
在扩容lv之后,会出现同步文件系统的操作,由于这里centos7使用了xfs的文件系统,是不能用resize2fs进行同步操作的。需要用到xfs_grows命令。说明:
如果使用xfs文件系统
xfs_growfs /dev/vgnfs/lvdata
如果使用ext4 ext3文件系统
resize2fs /dev/vgnfs/lvdata
Don't forget the beginner's mind