当前位置:首页>Linux>Linux4.19内核文件系统规划

Linux4.19内核文件系统规划

  • 2026-10-11 08:46:53
Linux4.19内核文件系统规划

需求描述

有12块磁盘(10块1.7TB + 2块2.9TB NVMe),需要建两个文件系统/app和/data

需求分析

1、/app (10块1.7TB磁盘):把10块磁盘的空间合并成一个约17TB的逻辑卷,并且最大的好处是后期扩容非常灵活。当空间不足时,你可以随时加入新硬盘进行在线扩展。

2、/data (2块2.9TB NVMe磁盘):这两块盘非常适合追求极致性能的场景。你既可以用它们组建一个RAID 0阵列(容量加倍,性能提升),也可以将它们作为两个独立的、高性能的挂载点使用。

详细步骤

准备工作:识别磁盘

用lsblk命令确认所有磁盘的设备名称。

lsblk

/app 使用的10块盘为:/dev/sdb, /dev/sdc ... /dev/sdk

/data 使用的2块NVMe盘为:/dev/nvme0n1, /dev/nvme1n1

一、创建 /app 文件系统 (10块 1.7TB 硬盘)

使用LVM将这10块硬盘合并为一个逻辑卷。

1. 安装LVM工具

如果系统提示-bash: pvcreate: command not found,则需要安装工具。

# CentOS / RHEL / openEuler

sudo yum install -y lvm2

2. 创建物理卷 (PV)

将10块硬盘初始化为LVM的物理卷。

sudo pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf \

               /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk

可以用sudo pvs快速检查是否创建成功。

3. 创建卷组 (VG)

创建一个名为vg_app的卷组,将上面所有物理卷加入其中。

sudo vgcreate vg_app /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf \

                      /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk

4. 创建逻辑卷 (LV)

在vg_app卷组上创建一个逻辑卷,使用全部空闲空间。

sudo lvcreate -l 100%FREE -n lv_app vg_app

-l 100%FREE:使用卷组中的所有剩余空间。

-n lv_app:指定逻辑卷名称为 lv_app。

创建完成后,设备路径为 /dev/vg_app/lv_app。

5. 格式化为 XFS 文件系统

sudo mkfs.xfs /dev/vg_app/lv_app

如果你的10块硬盘是硬件RAID或SAN存储,可以添加-d su=XXX,sw=YYY参数进行条带化优化以提升性能。

6. 创建挂载点并挂载

sudo mkdir -p /app

sudo mount /dev/vg_app/lv_app /app

7. 设置开机自动挂载

首先获取逻辑卷的UUID。

sudo blkid /dev/vg_app/lv_app

复制输出的UUID,然后编辑/etc/fstab文件。

sudo vim /etc/fstab

添加以下内容(将你的UUID替换为刚复制的值):

UUID=UUID /app xfs defaults 0 0

执行sudo mount -a验证配置是否正确,无报错即成功。

二、 创建 /data 文件系统 (2块 2.9TB NVMe 磁盘)

NVMe磁盘速度极快,可根据你的需求选择两种配置方案。

方案A:合并为一个大卷(类RAID 0)

此方案将两块NVMe硬盘容量合并,在/data下看到一个约5.8TB的卷,性能最高(读写可同时利用两盘),但没有冗余,任一块盘损坏会导致数据全部丢失。

创建LVM卷:

sudo pvcreate /dev/nvme0n1 /dev/nvme1n1

sudo vgcreate vg_data /dev/nvme0n1 /dev/nvme1n1

sudo lvcreate -l 100%FREE -n lv_data vg_data

格式化与挂载:

sudo mkfs.xfs /dev/vg_data/lv_data

sudo mkdir -p /data

sudo mount /dev/vg_data/lv_data /data

开机自动挂载:参照上文步骤,将/dev/vg_data/lv_data的UUID写入/etc/fstab。

方案B:作为两个独立的高性能目录

此方案不合并磁盘,而是将两块NVMe盘分别挂载到/data下的两个子目录,或一个给/data、另一个做它用。优点是独立性强,一块盘故障不影响另一块。

sudo mkfs.xfs /dev/nvme0n1

sudo mkfs.xfs /dev/nvme1n1

创建挂载点并挂载(例如挂载到/data1和/data2):

sudo mkdir -p /data1 /data2

sudo mount /dev/nvme0n1 /data1

sudo mount /dev/nvme1n1 /data2

开机自动挂载:将两块盘的UUID分别写入/etc/fstab,指定不同的挂载点。

三、 性能优化建议

调整挂载参数:对于XFS文件系统,建议在/etc/fstab中加入noatime参数。这能减少对文件访问时间的记录,显著提升高性能磁盘(尤其是NVMe)的读写效率。

# /etc/fstab 示例

UUID=xxx /app xfs defaults,noatime 0 0

UUID=yyy /data xfs defaults,noatime 0 0

关于分区:上述方案直接对整个磁盘(如/dev/sdb)进行操作,这通常没有问题。但如果你的磁盘大于2TB或使用GPT分区表,可使用parted或gdisk创建分区后再进行上述LVM操作。

完成后,使用df -hT和lsblk命令确认所有挂载点都已正确就位且空间大小符合预期。

最新文章

随机文章