我有一个相当大的数据集(~160 to ),需要经常交付给客户端。这个数据集由相当大的文件组成,通常每个文件在2Gb到20 2Gb之间。它们存在于运行在RAID集群上的BeeGFS文件系统上,其总容量为1.1Tb。目前,当需要交付数据时,可以通过以下方式完成:
我想要做的是将它重新同步到一个挂载的文件系统上,所以我想知道是否有一个可以将存储空间分散到多个磁盘上的文件系统?最明显的候选是LVM和RAID,但问题是客户端需要能够自己读取每个磁盘,这比这个(据我所知至少)要高。是否有一种方法来模拟LVM或类似的东西,但允许以相当标准的方式读取单个磁盘?实际上,允许我运行一个rsync操作,将数据分散到多个单独的磁盘/文件系统上。
这些数据来自一台红帽子机器,因此到目前为止,我只在USB驱动器上使用了ext4。但是,如果可能的话,如果我能够使用一个很好地使用Windows10的文件系统,对每个人来说都是非常有益的(虽然不是绝对必要的)。
PS:当涉及到同时附加的USB驱动器的数量时,我没有任何限制。我唯一真正的限制是数据必须一次只能访问一个磁盘/文件系统。
发布于 2020-04-14 19:09:02
all_files.txt拆分为各个部分(这里的MAXSIZE是最大大小的占位符,以字节为单位) BEGIN {total=0;part=0;}
{total += $1;
if (total > MAXSIZE) {part++;total=0;}
$1="";print substr($0,2) >> "partial-"part}/mnt/send/partial-1、/mnt/send/partial-2、.)挂载所有磁盘,在每个挂载点中使用您想要的任何文件系统。rsync与--files-from=FILE连接到正确的挂载点。类似于这样的东西: for f in partial*
do
rsync --files-from=$f / /mnt/$f/
donehttps://serverfault.com/questions/1012290
复制相似问题