AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1012290
Accepted
Jarmund
Jarmund
Asked: 2020-04-15 09:29:32 +0800 CST2020-04-15 09:29:32 +0800 CST 2020-04-15 09:29:32 +0800 CST

多个磁盘充当一个文件系统,同时仍允许单独访问每个磁盘

  • 772

我有一个相当大的数据集(~160TB),需要经常交付给客户。该数据集由相当大的文件组成,通常每个文件在 2Gb 到 20Gb 之间。它们存在于在总容量为 1.1Tb 的 RAID 集群上运行的 BeeGFS 文件系统上。目前,当需要交付数据时,它是通过以下方式完成的:

  1. 创建文件及其大小的主索引
  2. 统计文件大小直到 4Tb,并从主索引中创建所述文件的子索引
  3. 将文件复制到 4Tb USB 驱动器
  4. 重复步骤 2 和 3,直到复制整个数据集
  5. 给客户一个装有 U 盘的纸板箱

我想做的只是将其同步到已安装的文件系统,所以我想知道是否有可用的文件系统可以将存储空间分布在多个磁盘上?显而易见的候选者是 LVM 和 RAID,但问题是客户端需要能够自行读取每个磁盘,这排除了这一点(至少据我所知)。有没有办法模拟 LVM 或类似的东西,但允许以相当标准的方式读取单个磁盘?实际上,允许我运行单个 rsync 操作,将数据分布在多个单独的磁盘/文件系统上

数据来自一台redhat机器,所以到目前为止我只是在USB驱动器上使用了ext4。但是,如果可能的话,如果我可以使用与 Windows10 完美配合的文件系统,这对每个人来说都是非常有益的(尽管不是绝对必要的)。

PS:我对同时连接的USB驱动器的数量没有限制。我唯一真正的限制是数据必须一次可以访问一个磁盘/文件系统。

filesystems cluster distributed-filesystems large-data
  • 1 1 个回答
  • 174 Views

1 个回答

  • Voted
  1. Best Answer
    Eduardo Trápani
    2020-04-15T11:09:02+08:002020-04-15T11:09:02+08:00
    1. 创建文件和大小的完整列表,例如:

      查找 /path -type f -printf "%s %h%f\n" > all_files.txt

    2. 根据每个部分的总大小运行一个拆分all_files.txt为多个部分的 awk(此处的 MAXSIZE 是最大大小的占位符,以字节为单位)

        BEGIN {total=0;part=0;}
                {total += $1;
                if (total > MAXSIZE) {part++;total=0;}
                $1="";print substr($0,2) >> "partial-"part}
    
    1. 您现在可以将所有磁盘安装在不同的安装点(例如/mnt/send/partial-1, /mnt/send/partial-2,...),使用每个磁盘中所需的任何文件系统。

    2. 在一个循环中,您rsync可以--files-from=FILE找到正确的安装点。这些方面的东西:

        for f in partial*
        do
            rsync --files-from=$f / /mnt/$f/
        done
    
    • 1

相关问题

  • 我如何知道 AIX 中磁盘上的文件系统是什么?

  • 控制 UNIX 目录内容用户组所有权

  • 在 Ubuntu 上将 Windows 磁盘分区与 Linux 分区合并

  • 在 VMPlayer 上 Windows 和 Linux 之间共享目录的最佳方式

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve