#author("2026-07-19T19:33:09+00:00","default:sysosa","sysosa")
#author("2026-07-20T06:57:45+00:00","default:sysosa","sysosa")
本家様 [[https://github.com/trapexit/mergerfs>+https://github.com/trapexit/mergerfs]]
wiki [[https://github.com/trapexit/mergerfs/wiki>+https://github.com/trapexit/mergerfs/wiki]]

容量が互いに異なるHDDを合わせて一つの大きなボリュームが作れます。そしてデータは各HDDに分散されず、ファイル単位でHDDに収まります。
なので特定のHDDに障害があってアクセスできなくなると、そのHDDにあるファイルだけが見れなくなりますが、それ以外のHDDのファイルは無傷です。

それでは困る。。となると各HDDのサイズが同じである必要がありますが、SnapRAID を合わせることでRAID様式な補完ができます。
このSnapRAID はunRAID(有償品)っぽい代物です。

どちらもオープンソースです。

MergerFS の読み書き速度は担当するHDD単体に依存します。一方RAIDはデータをブロックベースで複数のHDDに分散しますので球が多ければ早いです。
なので用途としてはアーカイブとかでしょうかね。

HDDの障害を考慮すればHDDのサイズを揃えてSnapRAID がお手軽なのかもしれません。

***rockylinux9の上で MergerFS + SnapRAID を作ってみる [#b6f1c123]
***rockylinux9の上で MergerFS を作ってみる [#v6c18850]
#code(nonumber){{

[root@mergerfs ~]# cat /etc/redhat-release
Rocky Linux release 9.8 (Blue Onyx)

[root@mergerfs ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   32G  0 disk
tqsda1   8:1    0    1M  0 part
tqsda2   8:2    0    1G  0 part /boot
tqsda3   8:3    0  128M  0 part [SWAP]
tqsda4   8:4    0    1K  0 part
mqsda5   8:5    0 30.9G  0 part /
sdb      8:16   0    1T  0 disk
sdc      8:32   0    2T  0 disk

[root@mergerfs ~]#
}}
「sdb(1TB)」と「sdc(2TB)」が存在している。これをMergerFSで1つにしてみる。

[[https://github.com/trapexit/mergerfs/releases>+https://github.com/trapexit/mergerfs/releases]]から最新版は「mergerfs v2.42.0」なのでこれのrockylinux9版を取得
#code(nonumber){{
[root@mergerfs ~]# wget https://github.com/trapexit/mergerfs/releases/download/2.42.0/mergerfs-2.42.0-1.el9.x86_64.rpm

[root@mergerfs ~]# rpm -qpli ./mergerfs-2.42.0-1.el9.x86_64.rpm
Name        : mergerfs
Version     : 2.42.0
Release     : 1.el9
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/System
Size        : 1604614
License     : ISC
Signature   : (none)
Source RPM  : mergerfs-2.42.0-1.el9.src.rpm
Build Date  : Fri 08 May 2026 12:55:36 PM JST
Build Host  : b570179acaea
URL         : https://github.com/trapexit/mergerfs
Summary     : A featureful FUSE based union filesystem
Description :
mergerfs is a union filesystem geared towards simplifying storage and
management of files across numerous commodity storage devices. It is
similar to mhddfs, unionfs, and aufs.
/sbin/mount.mergerfs
/usr/bin/fsck.mergerfs
/usr/bin/mergerfs
/usr/bin/mergerfs-fusermount
/usr/bin/mergerfs.collect-info
/usr/lib/.build-id
/usr/lib/.build-id/36
/usr/lib/.build-id/36/0751c352ee1818af0308b6cb7326dabd3bfef2
/usr/lib/.build-id/cc
/usr/lib/.build-id/cc/0a2ece94722c2ad5128474f6c6afcecd29ffb6
/usr/lib/.build-id/e6
/usr/lib/.build-id/e6/0aa290540f15fb0c70d23891c8d706e7399678
/usr/lib/mergerfs/preload.so
/usr/share/man/man1
/usr/share/man/man1/mergerfs.1.gz

[root@mergerfs ~]#
[root@mergerfs ~]# dnf localinstall ./mergerfs-2.42.0-1.el9.x86_64.rpm
}}

MergerFS は異なるサイズ、ファイルシステムを繋げるので、「/dev/sdb」をxfs、「/dev/sdc」をext4にして繋ぎ合わせてみる
#code(nonumber){{
[root@mergerfs ~]# parted /dev/sdb mklabel gpt

[root@mergerfs ~]# parted /dev/sdb mkpart primary 0% 100%

[root@mergerfs ~]# mkfs.xfs /dev/sdb1


[root@mergerfs ~]# parted /dev/sdc mklabel gpt

[root@mergerfs ~]# parted /dev/sdc mkpart primary 0% 100%

[root@mergerfs ~]# mkfs.ext4 /dev/sdc1

(確認)
[root@mergerfs ~]# lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
NAME    SIZE TYPE FSTYPE MOUNTPOINTS
sda      32G disk
├sda1    1M part
├sda2    1G part xfs    /boot
├sda3  128M part swap   [SWAP]
├sda4    1K part
└sda5 30.9G part xfs    /
sdb       1T disk
└sdb1 1024G part xfs
sdc       2T disk
└sdc1    2T part ext4
[root@mergerfs ~]#
}}

1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS