实践[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.

image.png
指令如下

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

具体操作流程如下

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内存

image.png

  • 本次虚拟机平台为ubuntu22.04 内部服务器使用的Linux发行版
  • 安装 lvm2:sudo apt install lvm2

2. 创建逻辑卷组

使用 pvcreate 创建物理卷

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

sudo vgcreate test_volume_group /dev/sdb /dev/sdc

4. 创建逻辑卷

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

sudo lvcreate -l 100%FREE -n test_logical_volume test_volume_group 

5. 格式化物理卷

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

sudo mkfs.ext4 /dev/test_volume_group/test_logical_volume

5. 挂载磁盘

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

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

image.png

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYXIgzDO' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片