扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了linux如何使用mergefs增加虚拟存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
成都创新互联公司主要从事网站设计制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务白云鄂,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
使用 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
在此例中挂载了两块磁盘,分别为 disk1
和 disk2
。两个驱动器都有一个包含文件的 Videos
目录。
现在,我们将使用 mergefs 挂载这些驱动器,使它们看起来像一个更大的驱动器。
$ sudo mergerfs -o defaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=1M /disk1:/disk2 /media
mergefs 手册页非常庞杂,因此我们将说明上面提到的选项。
defaults
:除非指定,否则将使用默认设置。
allow_other
:允许 sudo
或 root
以外的用户查看文件系统。
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 media1: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 media1: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 挂载点时,它将始终将文件复制到有足够可用空间的硬盘上。如果池中的所有驱动器都没有足够的可用空间,那么你将无法复制它们。
感谢你能够认真阅读完这篇文章,希望小编分享的“linux如何使用mergefs增加虚拟存储”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流