linux将多个磁盘或分区挂载到同一个挂载点
在 Linux 系统中,通常情况下不可以直接将两个磁盘或分区挂载到同一个分区(挂载点)。
不过,可以通过一些特殊的设置来实现类似的效果,如使用逻辑卷管理(LVM)等技术,将多个磁盘的空间整合到一个逻辑卷中,然后将这个逻辑卷挂载到一个分区。这样在逻辑上可以实现多个磁盘的空间被统一管理和使用,但并非是直接将两个磁盘挂载到同一个分区。
请注意:
pvcreate
命令会对磁盘进行初始化,这会覆盖磁盘上原有的分区表和文件系统信息,从而导致数据丢失,如果磁盘有多个分区,可以把数据迁移到一个分区中,然后对空闲分区创建逻辑卷,那么已存在数据的分区不会受到影响。
一、从0开始实现
以下以两个磁盘 /dev/sdb
和 /dev/sdc
为例,介绍使用逻辑卷管理(LVM)将多个磁盘空间整合并挂载到一个挂载点的步骤:
- 检查磁盘设备:使用
lsblk
命令查看系统中的磁盘设备,确认/dev/sdb
和/dev/sdc
已正确连接和识别。 - 创建物理卷(PV):将每个磁盘初始化为物理卷。
pvcreate /dev/sdb
pvcreate /dev/sdc
- 创建卷组(VG):将上述两个物理卷添加到一个卷组中,假设卷组名为
myvg
。
vgcreate myvg /dev/sdb /dev/sdc
- 创建逻辑卷(LV):在卷组
myvg
上创建一个逻辑卷,假设逻辑卷名为mylv
,大小为 10GB(这里可根据实际需求调整大小)。
lvcreate -L 10G -n mylv myvg
- 格式化逻辑卷:对创建好的逻辑卷进行文件系统格式化,这里以
ext4
文件系统为例。
mkfs.ext4 /dev/myvg/mylv
- 创建挂载点并挂载:创建一个挂载点(如
/mnt/newdisk
),并将逻辑卷挂载到该挂载点。
mkdir /mnt/newdisk
mount /dev/myvg/mylv /mnt/newdisk
- 设置开机自动挂载:编辑
/etc/fstab
文件,添加以下行以确保系统重启后逻辑卷能自动挂载。
/dev/myvg/mylv /mnt/newdisk ext4 defaults 0 0
完成以上步骤后,两个磁盘 /dev/sdb
和 /dev/sdc
的空间就被整合到了逻辑卷 mylv
中,并挂载到了 /mnt/newdisk
挂载点上。
二、添加新磁盘到现有逻辑卷中
在 Linux 系统中,若要把新磁盘添加到现有的卷组里,可按如下步骤操作:
查看当前分区空间情况,即未添加前的大小:
df -h
红色部分分区大小:2T, 请记住,我们将对此分区进行扩大一个1T的磁盘空间
1. 确认新磁盘
使用 lsblk
命令查看系统中是否识别到新磁盘。假设新磁盘为 /dev/nvme3n1
sudo lsblk
2. 创建物理卷
使用 pvcreate
命令将新磁盘初始化为物理卷
pvcreate /dev/nvme3n1
输出如下信息表示成功:Physical volume "/dev/nvme3n1" successfully created.
3.查看现有卷组
sudo /usr/sbin/vgs
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
LV 为逻辑卷名称: data_lv
扩展逻辑卷大小
sudo /usr/sbin/lvextend -L +1023G /dev/data_vg/data_lv
因为有的1T磁盘实际没有1024G,所以这里写+1023G,请根据实际修改
6.调整文件系统大小
扩展逻辑卷后,需要调整文件系统的大小以使用新分配的空间。如果使用的是 ext4
文件系统,可以使用 resize2fs
命令;如果使用的是 XFS
文件系统,可以使用 xfs_growfs
命令
查看文件系统类型:
lsblk -f
- ext4 文件系统:
resize2fs /dev/data_vg/data_lv
- XFS 文件系统:
sudo /usr/sbin/xfs_growfs /dev/data_vg/data_lv
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.最终结果
分区已经增加到3T大小
操作成功