如何配置mergerfs按文件类型分类存储至指定物理磁盘
MergerFS 按文件类型定向存储配置方案
核心实现思路
利用MergerFS的category.create创建策略,通过文件后缀规则将指定类型文件定向存储到SSD磁盘,其余文件存储到HDD磁盘。
具体操作步骤
1. 卸载现有MergerFS挂载(若已存在)
umount /mnt/logs
2. 执行带规则的挂载命令
运行以下命令完成合并挂载,同时配置文件类型定向规则:
mergerfs -o defaults,allow_other,create=category,category.create=txt=/mnt/sdb:json=/mnt/sdb,*=/mnt/sdc /mnt/sdb:/mnt/sdc /mnt/logs
参数说明:
defaults:使用基础默认挂载参数allow_other:允许非挂载用户访问,适配应用读写需求create=category:启用分类创建策略,按文件后缀匹配存储路径category.create=txt=/mnt/sdb:json=/mnt/sdb,*=/mnt/sdc:定义规则:.txt和.json后缀文件写入SSD挂载点/mnt/sdb- 所有其他类型文件写入HDD挂载点
/mnt/sdc
3. 验证配置效果
创建测试文件并检查实际存储位置:
# 创建测试文件 touch /mnt/logs/aaa.txt /mnt/logs/bbb.json /mnt/logs/ccc.bin # 检查文件所属磁盘 findmnt -n -o SOURCE /mnt/logs/aaa.txt findmnt -n -o SOURCE /mnt/logs/bbb.json findmnt -n -o SOURCE /mnt/logs/ccc.bin
预期输出:
/dev/sdb /dev/sdb /dev/sdc
4. 配置开机自动挂载
编辑/etc/fstab文件,添加以下内容实现开机自动挂载:
/mnt/sdb:/mnt/sdc /mnt/logs fuse.mergerfs defaults,allow_other,create=category,category.create=txt=/mnt/sdb:json=/mnt/sdb,*=/mnt/sdc 0 0
执行以下命令使配置生效:
mount -a
注意事项
- 确保
/mnt/sdb和/mnt/sdc已正常挂载,且应用对两个挂载点拥有读写权限 - 若需支持大小写不敏感的后缀匹配(如
.TXT、.JSON),可在挂载参数中添加category.caseinsensitive=true - 该规则仅对新创建的文件生效,已存在的文件不会自动迁移到对应磁盘
内容的提问来源于stack exchange,提问作者user3759386
相关产品推荐
相关产品推荐

