需满足以下条件:
执行以下命令确认内核版本和XFS支持状态:
```bash 检查内核版本(需≥5.10.0-136.12.0.86.oe2203sp3.aarch64) uname -r 检查XFS模块是否加载 lsmod | grep xfs ```如果内核版本不满足,执行yum update kernel -y && reboot更新并重启;如果XFS未加载,执行modprobe xfs临时加载,重启后自动生效。
执行以下命令查看所有块设备:
```bash lsblk -d -o NAME,SIZE,TYPE,MOUNTPOINT ```找到未挂载、无MOUNTPOINT的存储盘(假设是/dev/sdb,后续步骤替换为实际盘名)。
归档盘通常≥2TB,必须用GPT分区表(MBR最大支持2TB单分区):
```bash 进入fdisk分区工具(GPT模式自动适配大硬盘) fdisk /dev/sdb ```按以下步骤操作(每步输入后回车):
归档级XFS需开启以下优化:
将分区/dev/sdb1格式化为归档级XFS:
```bash 执行前再次确认分区名,防止误操作 lsblk /dev/sdb 格式化 mkfs.xfs -m crc=1,finobt=1,rmapbt=1,reflink=1 -d agcount=16 -i size=512 -l size=128m -n ftype=1 /dev/sdb1 ```选择标准归档目录(建议用/archive):
```bash mkdir -p /archive ```
永久挂载必须用UUID(防止盘名漂移):
```bash blkid /dev/sdb1 ```复制输出中的UUID值(格式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。
打开fstab:
```bash vi /etc/fstab ```在文件末尾添加一行(替换UUID为实际值):
``` UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /archive xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 2 ```参数说明:
执行以下命令验证配置是否正确,防止重启无法开机:
```bash 测试挂载 mount -a 查看挂载状态 df -h /archive 查看挂载参数 mount | grep /archive ```归档数据通常有重复内容,开启重删可节省30%-70%空间:
```bash 开启分区重删(已在格式化时开启reflink=1,直接挂载即可生效) 验证重删是否开启 xfs_info /archive | grep reflink ```定期(建议每月1次)检查XFS元数据:
```bash 必须先卸载分区,无法卸载时进入单用户模式 umount /archive 检查元数据(-f强制检查) xfs_repair -f /dev/sdb1 ```用dd命令测试(假设测试100GB文件,企业级归档盘顺序写入应≥100MB/s):
```bash 写入测试(oflag=direct绕过缓存,直接写盘) dd if=/dev/zero of=/archive/test_100g bs=1G count=100 oflag=direct 删除测试文件 rm -f /archive/test_100g ```解决方法:将agcount设为归档盘容量/500GB的整数,最大不超过64。
解决方法:检查blkid的文件系统类型是否为xfs,确认分区名是否正确,重新格式化。
解决方法:进入GRUB启动菜单,按e进入编辑模式,找到以linux开头的行,在末尾加init=/bin/bash,按Ctrl+X启动,进入单用户模式后注释掉fstab中错误的行,执行reboot重启。