实践[Linux] 两块不同磁盘(13T+12T)如何挂载

遇到一个问题,我们购买了几台服务器,有一台服务器是作为数据存储使用,采购方采购了25T,分配下来是13T+12T的组合方式我之前以为是ext4不能分配25T,后来查资料得知ext4最大容量1EB,但是如果直接挂载到Linux磁盘下会导致出现俩挂载点,这不是我们想要的,我们需要两块磁盘合并挂载。

方案

  1. 使用mdamd来实现raid磁盘挂载
  2. 使用vg挂载虚拟磁盘

但是因为raid的短板效应,导致我们最终实现少了1T,这是不能接受的,所以我们最终选择了虚拟磁盘卷的LVM方式挂载,但是这种方式并不是很熟,故作记录如何使用vg实现多个磁盘合并挂载。本次并不直接挂载真实硬盘,而是使用虚拟机挂载。

概念

LVM:逻辑卷管理器,可以动态地扩大和缩小分区,LVM需要使用软件包为lvm2,LVM之所以能够伸缩容量,其实现的方法就是将LV里空闲的PE移出,或向LV中添加空闲pe

  • PV: (Physical Volume)物理卷: 分区后在未格式化为文件系统前,使用pvcreate将分区转化为pv,要求分区的system Id为8e, 即为LVM格式的系统标识
  • VG: (Volume Group)卷组: 将多个pv组合起来,使用vgcreate创建成卷组,一个卷组包含了多个PV,相当于重新整合了多个分区后得到的磁盘.虽然整合多个PV,但是VG的所有空间都是根据PE大小划分为多个PE,在LVM模式下的存储都以PE为单元,类似于文件系统中的Block
  • PE: (Physical Extend)物理存储单元: VG中的存储单元,是数据实际存储的位置
  • LV: (Logical Volume)分区: 对VG中的PE单元进行划分,划分为LV后就相当于划分了分区,只需再对LV进行格式化,就可以变为普通文件系统
  • LE: (Logical Extent)逻辑存储单元:也是LV中的逻辑单元,和pe大小一样,从vg中划分lv,实际上是从vg中划分vg中的pe,划分为lv后就不再称为pe,而称为le.

指令如下

命令 解释
pvcreate 将物理磁盘分区标记为物理磁盘卷,物理卷是LVM的基本构建块,这也是数据实际存储的位置
vgcreate 创建卷组,由一个或多个物理卷组成
lvcreate 在卷组中创建逻辑卷, 逻辑卷类似于传统分区,可以分配卷组大小

具体操作流程如下

bash 复制代码
sudo lsblk                                                               查看需要挂载的盘符
sudo pvcreate /dev/sdb /dev/sdc                                          标记物理磁盘为物理卷
sudo vgcreate test_volume_group /dev/sdb /dev/sdc                        创建逻辑卷组
sudo lvcreate -l 100%FREE -n test_logical_volume test_volume_group       创建逻辑卷分区
sudo mkfs.ext4 /dev/test_volume_group/test_logical_volume                格式化分区
sudo mkdir /mnt/greged_disks                                             创建挂载目录
sudo mount /dev/test_volume_group/test_logical_volume /mnt/greged_disks/ 挂载逻辑卷

1. 准备工作

  • 我们首先创建两块虚拟磁盘,每个磁盘分配2G内存
  • 本次虚拟机平台为ubuntu22.04 内部服务器使用的Linux发行版
  • 安装 lvm2:sudo apt install lvm2

2. 创建逻辑卷组

使用 pvcreate 创建物理卷

bash 复制代码
lsblk
sdb                                       8:16   0     2G  0 disk 
sdc                                       8:32   0     2G  0 disk 

sudo pvcreate /dev/sdb /deb/sdc       # 创建物理卷

3. 创建卷组

使用vgcreate创建卷组,我们创建一个分组 名称为test_volume_group

shell 复制代码
sudo vgcreate test_volume_group /dev/sdb /dev/sdc

4. 创建逻辑卷

使用lvcreatetest_volume_group逻辑卷组中,创建逻辑卷,大小为100%空间

perl 复制代码
sudo lvcreate -l 100%FREE -n test_logical_volume test_volume_group 

5. 格式化物理卷

使用mkfs.ext4格式化卷为ext4格式

bash 复制代码
sudo mkfs.ext4 /dev/test_volume_group/test_logical_volume

5. 挂载磁盘

创建挂载点,并使用mount将卷挂载到文件夹中

bash 复制代码
sudo mkdir /mnt/greged_disks                                             创建挂载目录
sudo mount /dev/test_volume_group/test_logical_volume /mnt/greged_disks/ 挂载逻辑卷

6. 配置开启自动挂载

改写/etc/fstab文件,并添加磁盘到该文件中,但是最好使用生成的UUID

Linux中设备与引导过程中的设备名称并不是持久性的,相同的设备名称可能会因为扫描顺序的改变或时间戳的变化导致原先分配的设备名称并不对应真实设备

参考:https://access.redhat.com/solutions/44389

xml 复制代码
sudo blkid                         # 查看磁盘uuid
vim /etc/fstab

# <file system>                       <mount point>   <type>  <options> <dump>  <pass>
UUID=16b7f2e7-9a6e-4194-b299-9f474a6073ef  /mnt/greged_disks  ext4  defaults  0  0
相关推荐
zbee1 小时前
向日葵linux端ubuntu24.04LTS安装解决方案
linux·服务器
陈译3 小时前
Zabbix进阶2--接入DeepSeek分析问题并提供解决方案
linux·运维·服务器·ai·zabbix
xiao智4 小时前
Ansible 数百台批量操作前期准备工作
linux·python·ansible
致奋斗的我们4 小时前
HAProxy高级功能及配置
linux·数据库·mysql·青少年编程·负载均衡·web·haproxy
EPSDA5 小时前
网络基础知识
linux·运维·服务器·开发语言·c++
guoguoqiang.6 小时前
我与Linux的爱恋:了解信号量+共享内存+消息队列的应用
linux·运维·服务器
沐千熏7 小时前
安装Liunx(CentOS-6-x86_64)系统
linux·centos
fusugongzi7 小时前
clickhouse集群搭建
linux·服务器·clickhouse
yuanbenshidiaos7 小时前
【僵尸进程】
linux·服务器·网络
Oracle_6668 小时前
《Linux 指令集:开启极客世界的钥匙_01》
linux·运维·前端