• 已删除用户
优博客
发布于 2025-04-13 / 23 阅读
0

linux将多个磁盘或分区挂载到同一个挂载点

linux将多个磁盘或分区挂载到同一个挂载点

在 Linux 系统中,通常情况下不可以直接将两个磁盘或分区挂载到同一个分区(挂载点)。

不过,可以通过一些特殊的设置来实现类似的效果,如使用逻辑卷管理(LVM)等技术,将多个磁盘的空间整合到一个逻辑卷中,然后将这个逻辑卷挂载到一个分区。这样在逻辑上可以实现多个磁盘的空间被统一管理和使用,但并非是直接将两个磁盘挂载到同一个分区。

请注意:pvcreate 命令会对磁盘进行初始化,这会覆盖磁盘上原有的分区表和文件系统信息,从而导致数据丢失,如果磁盘有多个分区,可以把数据迁移到一个分区中,然后对空闲分区创建逻辑卷,那么已存在数据的分区不会受到影响。

一、从0开始实现

以下以两个磁盘 /dev/sdb/dev/sdc 为例,介绍使用逻辑卷管理(LVM)将多个磁盘空间整合并挂载到一个挂载点的步骤:

  1. 检查磁盘设备:使用 lsblk 命令查看系统中的磁盘设备,确认 /dev/sdb/dev/sdc 已正确连接和识别。
  2. 创建物理卷(PV):将每个磁盘初始化为物理卷。
pvcreate /dev/sdb
pvcreate /dev/sdc
  1. 创建卷组(VG):将上述两个物理卷添加到一个卷组中,假设卷组名为 myvg
vgcreate myvg /dev/sdb /dev/sdc
  1. 创建逻辑卷(LV):在卷组 myvg 上创建一个逻辑卷,假设逻辑卷名为 mylv,大小为 10GB(这里可根据实际需求调整大小)。
lvcreate -L 10G -n mylv myvg
  1. 格式化逻辑卷:对创建好的逻辑卷进行文件系统格式化,这里以 ext4 文件系统为例。
mkfs.ext4 /dev/myvg/mylv
  1. 创建挂载点并挂载:创建一个挂载点(如 /mnt/newdisk),并将逻辑卷挂载到该挂载点。
mkdir /mnt/newdisk
mount /dev/myvg/mylv /mnt/newdisk
  1. 设置开机自动挂载:编辑 /etc/fstab 文件,添加以下行以确保系统重启后逻辑卷能自动挂载。
/dev/myvg/mylv /mnt/newdisk ext4 defaults 0 0

完成以上步骤后,两个磁盘 /dev/sdb/dev/sdc 的空间就被整合到了逻辑卷 mylv 中,并挂载到了 /mnt/newdisk 挂载点上。

二、添加新磁盘到现有逻辑卷中

在 Linux 系统中,若要把新磁盘添加到现有的卷组里,可按如下步骤操作:

查看当前分区空间情况,即未添加前的大小:

df -h

image-icsj.png

红色部分分区大小:2T, 请记住,我们将对此分区进行扩大一个1T的磁盘空间

1. 确认新磁盘

使用 lsblk 命令查看系统中是否识别到新磁盘。假设新磁盘为 /dev/nvme3n1

sudo lsblk

image-arug.png

2. 创建物理卷

使用 pvcreate 命令将新磁盘初始化为物理卷

pvcreate /dev/nvme3n1

输出如下信息表示成功:Physical volume "/dev/nvme3n1" successfully created.

3.查看现有卷组

sudo /usr/sbin/vgs

image-ojfo.png

VG为当前卷组名称: data_vg

4.将物理卷添加到卷组

sudo vgextend data_vg /dev/nvme3n1

输出如下信息表示成功:Volume group "data_vg" successfully extended

5.扩展逻辑卷

将新添加的磁盘空间分配给现有的逻辑卷,可以使用 lvextend 命令扩展逻辑卷。假设要扩展名为 data_lv 的逻辑卷,扩展 1024GB(根据实际情况调整)。

查看当前逻辑卷

sudo /usr/sbin/lvs

image-avit.png

LV 为逻辑卷名称: data_lv

扩展逻辑卷大小

sudo /usr/sbin/lvextend -L +1023G /dev/data_vg/data_lv

因为有的1T磁盘实际没有1024G,所以这里写+1023G,请根据实际修改

image-ewqi.png

6.调整文件系统大小

扩展逻辑卷后,需要调整文件系统的大小以使用新分配的空间。如果使用的是 ext4 文件系统,可以使用 resize2fs 命令;如果使用的是 XFS 文件系统,可以使用 xfs_growfs 命令

查看文件系统类型:

lsblk -f

image-awvu.png

  • ext4 文件系统

resize2fs /dev/data_vg/data_lv

  • XFS 文件系统

sudo /usr/sbin/xfs_growfs /dev/data_vg/data_lv

image-jzby.png

7.验证操作

vgs
lvs
df -h

8.完整示例代码

# 确认新磁盘
lsblk

# 创建物理卷
sudo /usr/sbin/pvcreate /dev/nvme3n1

# 查看现有卷组
sudo /usr/sbin/vgs

# 将物理卷添加到卷组
vgextend data_vg /dev/nvme3n1

#查看逻辑卷
sudo /usr/sbin/lvs

# 扩展逻辑卷
lvextend -L +1023G /dev/data_vg/data_lv

# 调整文件系统大小
# 对于 ext4 文件系统
/usr/sbin/resize2fs /dev/data_vg/data_lv
# 对于 XFS 文件系统
# /usr/sbin/xfs_growfs /dev/data_vg/data_lv

# 验证操作
vgs
lvs
df -h

9.最终结果

image-bimt.png

分区已经增加到3T大小

操作成功