生產環境要擴容,太久沒試過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