主机磁盘管理
# 一、LVM场景
# 1. 安装lvm
[root@node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 198.4G 0 part
├─ao-root 252:0 0 70G 0 lvm /
├─ao-swap 252:1 0 7.9G 0 lvm
└─ao-home 252:2 0 120.5G 0 lvm /home
sdb 8:16 0 100G 0 disk
[root@node1 ~]# yum install lvm2
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 2. 初始化成为 LVM 的物理卷(Physical Volume,简称 PV)
[root@node1 ~]# pvcreate /dev/sdb
WARNING: xfs signature detected on /dev/sdb at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb.
Physical volume "/dev/sdb" successfully created.
# 查看
[root@node1 ~]# pvs
1
2
3
4
5
6
7
2
3
4
5
6
7
# 3. 创建一个名为 data_vg 的卷组(Volume Group,简称 VG),并将物理卷 /dev/sdb 加入到这个卷组中
[root@node1 ~]# vgcreate data_vg /dev/sdb
Volume group "data_vg" successfully created
1
2
2
# 4. data_vg 卷组中划分出 50% 的空闲空间,创建一个名为 data_lv 的逻辑卷
[root@node1 ~]# lvcreate -l +50%FREE -n data_lv data_vg
Logical volume "data_lv" created.
# 查看详细信息
[root@node1 ~]# lvdisplay data_vg/data_lv
# 查看简洁列表
[root@node1 ~]# lvs
# 查看
[root@node1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
ao 1 3 0 wz--n- 198.41g 0
data_vg 1 1 0 wz--n- <100.00g 50.00g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 5. 初始化逻辑卷文件系统
# 查看文件系统格式
[root@node1 ~]# lsblk -f
# xfs 格式
[root@node1 ~]# mkfs.xfs /dev/data_vg/data_lv && blkid /dev/data_vg/data_lv
meta-data=/dev/data_vg/data_lv isize=512 agcount=4, agsize=3276544 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=13106176, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=6399, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# ext4
[root@node1 ~]# mkfs.ext4 /dev/data_vg/data_lv && blkid /dev/data_vg/data_lv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 6. 挂载数据目录
mkdir -p /data
mount /dev/data_vg/data_lv /data
echo "/dev/data_vg/data_lv /data xfs defaults 0 0" >> /etc/fstab
# 验证结果
# 查看物理卷、卷组、逻辑卷信息
pvs # 物理卷状态
vgs # 卷组状态(确认空间已全部分配)
lvs # 逻辑卷状态
# 查看挂载情况
df -h /data
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 7. 扩容逻辑卷(LV)
# 方式 1:使用卷组所有空闲空间(最快,适合需填满空间的场景):
[root@node1 ~]# lvextend -l +100%FREE /dev/data_vg/data_lv
# 方式 2:指定扩容大小(如新增 10GB):
[root@node1 ~]# lvextend -L +10G /dev/data_vg/data_lv # “+10G”表示新增10G,不加“+”表示总容量10G
# 验证结果
[root@node1 ~]# df -h /data
# 确认逻辑卷容量
[root@node1 ~]# lvs /dev/data_vg/data_lv
# 扩容文件系统(关键!否则容量不生效),逻辑卷扩容后,需同步扩大文件系统(不同文件系统命令不同):
# xfs 直接指定挂载点,无需指定设备,速度快
[root@node1 ~]# xfs_growfs /data
# EXT4 需要指定逻辑卷设备
resize2fs /dev/data_vg/data_lv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 8. 扩容卷组(VG)无空闲空间(需先加新磁盘)
# 新磁盘初始化并加入卷组(跳过分区,直接用裸盘):
pvcreate /dev/sdc # 新磁盘为 sdc,直接做物理卷
vgextend data_vg /dev/sdc # 将新 PV 加入 data_vg 卷组
后续步骤同 “步骤 7”:执行 lvextend 扩容逻辑卷 → xfs_growfs/resize2fs 扩容文件系统。
1
2
3
4
5
2
3
4
5
# 二、非LVM场景
# 分区扩容参考 (opens new window)
磁盘 /dev/sdb 已从 100GB 扩容到 200GB,需扩展分区 /dev/sdb1(原 100GB,挂载到 /data)
# 1. 使用growpart(在线扩容)
# 1.列出系统中所有可识别的存储设备及其分区表信息,大于2T的分区表用GPT
parted -l
# 2.直接在线扩展(分区已挂载,无需卸载)
yum install -y cloud-utils-growpar
# 3.仅需指定磁盘和分区号,自动合并所有空闲空间
growpart /dev/sdb 1
# 4.展挂载在 /data 的 XFS 文件系统
xfs_growfs /data
# 5.验证,查看 sdb1 已扩展到 200GB
lsblk /dev/sdb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 2. 使用 parted 扩展分区(离线操作)
# 文件系统先卸载分区(必须离线)
umount /data
# EXT4/EXT3 文件系统检查(强烈推荐!)
e2fsck -f /dev/vdb1
# 扩容分区1至磁盘末尾
parted /dev/vdb resizepart 1 100%
# 刷新系统分区表信息
partprobe /dev/vdb
# 4. 扩容文件系统
resize2fs /dev/vdb1
# 5. 重新挂载(这步如果系统启动了自动挂载,可不执行就自动挂载)
mount /dev/vdb1 /data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 裸盘未分区场景
# EXT4/EXT3文件系统
umount /data
e2fsck -f /dev/sdb
resize2fs /dev/sdb
# xfs 文件系统
xfs_growfs /data
1
2
3
4
5
6
7
2
3
4
5
6
7
上次更新: 2026/05/31, 03:30:34