LizardFS / MooseFS – 多个存储卷

我正在使用新的LizardFS,太棒了! 我是LizardFS / MooseFS的新手,但看起来很简单。

我想知道两件事情:

首先,有没有办法设置单独的存储池? 例如,我可以有五台服务器,每台有两个硬盘。 每个服务器中的一个HDD属于一个存储池,另一个HDD属于另一个。 存储池将是分离的,因为它们将被分开安装,并且将分开维护块。

想要这样做的原因是因为我的第二个问题:

我想有一个快速的存储池和一个慢速存储池。 我的服务器有10GB的SSD,所以LFS的一切都非常快。 但是有些项目(特别是文件types)不需要很快,比如audio和video文件,而且HDD显然更便宜。

最终,我想要做的是让LFS识别条件(如文件types或其他用户定义的条件),以便在将文件写入文件系统时将其存储在快速存储器或caching中,但是作为单个存储卷出现给最终用户。 我相当肯定这是不可能的开箱即用的LFS。 但是,如果可以有多个存储卷,则可以使用符号链接构build一个系统来伪造其余的部分。

从2.5.4版本开始,LizardFS支持一个称为“自定义目标”的新function。 它基本上允许你定义服务器组,例如慢速节点的“hdd”组和快速节点的“ssd”组。 然后,您可能会要求LizardFS仅将数据分发给某些组,而不是整个集群。 自定义目标与标准目标具有相同的粒度:因此可以在每个目录基础上分配它们。

关于LizardFS 2.5.4发布公告的更多细节。

在MooseFS 3.0中有一个称为存储类的function。 使用LizardFS中的自定义目标似乎更加舒适,因为您可以“即时”定义存储类,而无需使用定义编辑任何configuration文件。 在定义任何存储类之前,您只需要“标记”块服务器(并且这必须在块服务器的configuration文件中完成),但是通常您可以为块服务器设置一次标签。

(来自MooseFS 3.0存储类手册 ):

由于MooseFS 3.0的目标已经扩展到存储类。 存储类允许您指定应存储哪些Chunkservers文件副本。 存储类是使用标签expression式定义的。

不,不幸的是,如果不在同一台机器上运行多个LizardFS服务器,这是不可能的。 你可以这样做,如果你想这样做,加载在不同端口的单独的configuration文件。 这仍然需要您手动分离不同types的内容。

您可能希望了解LizardFS的机架感知function – 可以将快速存储“挂接”到一组服务器。

在一个半无关的说明中,我提交了一个关于LFS的高可用性的请求。如果你喜欢,请给它一个镜头。

如果SSDcaching是必须的,请尝试Ceph。 它允许您设置快速caching池,以便在较慢的旋转锈蚀之前进行。