Linux 基于 LVM 扩展磁盘空间

1. 识别新硬盘

你可以使用以下命令确认新的硬盘是否被识别:

bash
lsblk

这会列出所有的块设备及其挂载点,你应该能看到新的硬盘。

下文假设你的新硬盘为 /dev/sdb

2. 创建分区

使用下面的命令为新硬盘创建分区:

bash
# 进入分区模式
fdisk /dev/sdb

# 输入m查看帮助信息
Command (m for help): m

# 输入n添加一个新的分区
Command (m for help): n

# 选择主分区
Command action
  e extended
  p primary partition (1-4)
p

# 指定分区编号
Partition number (1-4): 1

# 使用默认的起始和结束扇区
First cylinder (1-261083, default 1):
Last cylinder, +cylinders or +size {K,M,G} (1-261083, default 261083):

# 修改分区类型为LVM
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e

# 保存并退出
Command (m for help): w

3. 创建物理卷 (PV)

在新的硬盘上创建物理卷:

bash
pvcreate /dev/sdb1

4. 将新的物理卷添加到卷组 (VG)

然后,将新的物理卷添加到现有的卷组。你需要确认你的卷组名称,可以使用以下命令查看:

bash
vgdisplay

找到卷组名称后,执行以下命令将新物理卷添加到卷组(假设卷组名称为 vg_name):

bash
vgextend vg_name /dev/sdb1

5. 扩展逻辑卷 (LV)

接下来,扩展根目录的逻辑卷。首先,使用以下命令确认逻辑卷的名称:

bash
lvdisplay

假设你的逻辑卷名称为 lv_root,你可以使用以下命令扩展它,例如将其扩展10G(或者你想要的任何大小):

bash
lvextend -L +10G /dev/vg_name/lv_root

你也可以使用 -l +100%FREE 将可用空间全部分配给逻辑卷:

bash
lvextend -l +100%FREE /dev/vg_name/lv_root

6. 扩展文件系统

扩展逻辑卷后,需要扩展文件系统以使用新的空间。对于常见的文件系统(如 ext4xfs),可以执行以下操作:

1. 先确认文件系统类型

bash
df -Th

2. 对应文件系统执行扩容

若为 ext4 文件系统:

bash
# 扩容 ext4 文件系统(替换为你的逻辑卷路径)
resize2fs /dev/vg_name/lv_root

若为 xfs 文件系统:

bash
# 扩容 xfs 文件系统(替换为你的挂载点路径)
xfs_growfs /

7. 验证

最后,使用以下命令确认根目录的大小是否已成功扩展:

bash
df -h /