使用 mergefs 增加虚拟存储
创始人
2024-03-02 04:56:00
0

如果你想在一个媒体项目中用到了多个磁盘或分区,不想丢失任何现有数据,但又想将所有文件都存放在一个驱动器下,该怎么办?这时,mergefs 就能派上用场!

mergerfs 是一个联合文件系统,旨在简化存储和管理众多商业存储设备上的文件。

你需要从他们的 GitHub 页面获取最新的 RPM。Fedora 的版本名称中带有 “fc” 和版本号。例如,这是 Fedora 31 的版本: mergerfs-2.29.0-1.fc31.x86_64.rpm

安装和配置 mergefs

使用 sudo 安装已下载的 mergefs 软件包:

$ sudo dnf install mergerfs-2.29.0-1.fc31.x86_64.rpm

现在,你可以将多个磁盘挂载为一个驱动器。如果你有一台媒体服务器,并且希望所有媒体文件都显示在一个地方,这将很方便。如果将新文件上传到系统,那么可以将它们复制到 mergefs 目录,mergefs 会自动将它们复制具有足够可用空间的磁盘上。

这是使你更容易理解的例子:

$ df -hT | grep disk
/dev/sdb1      ext4      23M  386K 21M 2% /disk1
/dev/sdc1      ext4      44M  1.1M 40M 3% /disk2

$ ls -l /disk1/Videos/
total 1
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
total 2
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv

在此例中挂载了两块磁盘,分别为 disk1disk2。两个驱动器都有一个包含文件的 Videos 目录。

现在,我们将使用 mergefs 挂载这些驱动器,使它们看起来像一个更大的驱动器。

$ sudo mergerfs -o defaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=1M /disk1:/disk2 /media

mergefs 手册页非常庞杂,因此我们将说明上面提到的选项。

  • defaults:除非指定,否则将使用默认设置。
  • allow_other:允许 sudoroot 以外的用户查看文件系统。
  • use_ino:让 mergefs 提供文件/目录 inode 而不是 libfuse。虽然不是默认值,但建议你启用它,以便链接的文件共享相同的 inode 值。
  • category.create=mfs:根据可用空间在驱动器间传播文件。
  • moveonenospc=true:如果启用,那么如果写入失败,将进行扫描以查找具有最大可用空间的驱动器。
  • minfreespace=1M:最小使用空间值。
  • disk1:第一块硬盘。
  • disk2:第二块硬盘。
  • /media:挂载驱动器的目录。

看起来是这样的:

$ df -hT | grep disk
/dev/sdb1  ext4           23M      386K 21M 2% /disk1
/dev/sdc1  ext4           44M      1.1M 40M 3% /disk2

$ df -hT | grep media
1:2        fuse.mergerfs  66M      1.4M 60M 3% /media

你可以看到现在 mergefs 挂载显示的总容量为 66M,这是两块硬盘的总容量。

继续示例:

有一个叫 Baby's second Xmas.mkv 的 30M 视频。让我们将其复制到用 mergerfs 挂载的 /media 文件夹中。

$ ls -lh "Baby's second Xmas.mkv"
-rw-rw-r--. 1 curt curt 30M Apr 20 08:45 Baby's second Xmas.mkv
$ cp "Baby's second Xmas.mkv" /media/Videos/

这是最终结果:

$ df -hT | grep disk
/dev/sdb1  ext4          23M 386K 21M 2% /disk1
/dev/sdc1  ext4          44M 31M 9.8M 76% /disk2

$ df -hT | grep media
1:2        fuse.mergerfs 66M 31M 30M 51% /media

从磁盘空间利用率中可以看到,因为 disk1 没有足够的可用空间,所以 mergefs 自动将文件复制到 disk2

这是所有文件详情:

$ ls -l /disk1/Videos/
total 1
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
total 30003
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 Baby's second Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv

$ ls -l /media/Videos/
total 30004
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 Baby's second Xmas.mkv
-rw-rw-r--. 1 curt curt 0 Mar 8 17:21 Halloween hijinks.mkv
-rw-r--r--. 1 curt curt 0 Mar 8 17:17 Our Wedding.mkv

当你将文件复制到 mergefs 挂载点时,它将始终将文件复制到有足够可用空间的硬盘上。如果池中的所有驱动器都没有足够的可用空间,那么你将无法复制它们。


via: https://fedoramagazine.org/using-mergerfs-to-increase-your-virtual-storage/

作者:Curt Warfield 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

【服务器数据恢复】UFS2...
服务器数据恢复环境: 某公司一台服务器,...
2025-05-28 06:51:59
DeepSeek宣布开源F...
DeepSeek宣布开源Fire-Flyer文件系统(3FS)。
2025-02-28 11:21:23
不支持的文件系统的stat...
当遇到“不支持的文件系统的statvfs”错误时,可能是因为你正在...
2025-01-11 21:31:04
不要将文件写入文件系统,直...
要将文件写入文件系统并直接使用librosa下载和打开文件,可以使...
2025-01-10 20:01:56
不要安装Composer要...
如果您不想使用Composer安装谷歌/云分布式文件系统,您可以使...
2025-01-10 17:00:30
部署应用程序时,在浏览器中...
在浏览器中,无法直接访问实际的文件系统路径,因为浏览器具有安全限制...
2025-01-08 01:02:07

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...