标签: large-data

将 10 TB 的文件从美国传输到英国数据中心

我正在将我的服务器从美国迁移到英国,从一个数据中心迁移到另一个数据中心。我的主持人说我应该能够达到每秒 11 兆字节。

操作系统为两端的Windows Server 2008。

我的平均文件大小约为 100 MB,数据分布在五个 2 TB 驱动器上。

传输这些文件的推荐方式是什么?

  • FTP
  • 中小企业
  • Rsync / Robocopy
  • 其他?

我不太担心安全性,因为无论如何这些都是公共文件,但我只是想要一个可以推动完整 11 MB/s 传输速率以最小化总传输时间的解决方案。

file-transfer large-data

96
推荐指数
7
解决办法
1万
查看次数

在 Bash 中,通配符扩展是否保证有序?

Bash 中通配符的扩展是否保证按字母顺序排列?我被迫将一个大文件分成 10 Mb 的部分,以便我的 Mercurial 存储库可以接受它们。

所以我想我可以使用:

split -b 10485760 Big.file BigFilePiece.
Run Code Online (Sandbox Code Playgroud)

然后代替:

cat BigFile | bigFileProcessor
Run Code Online (Sandbox Code Playgroud)

我可以:

cat BigFilePiece.* | bigFileProcessor
Run Code Online (Sandbox Code Playgroud)

在它的位置。

但是,我找不到任何可以保证星号(又名通配符,又名*)的扩展始终按字母顺序排列的任何地方,因此.aa出现在之前.ab(而不是时间戳顺序或类似的东西)。

另外,我的计划有什么缺陷吗?cat将文件放在一起的性能成本有多大?

files bash wildcard large-data

65
推荐指数
2
解决办法
2万
查看次数

大公司如何备份他们的数据?

处理大量数据的公司(例如 Google 或 Facebook)如何备份所有内容?

根据维基百科上的这篇谷歌平台文章,谷歌估计有 450,000 多台服务器,每台服务器都有 80+ GB 的硬盘。这是很多数据。他们真的为每 1 GB 数据保留 1 GB 以上的备份吗?

backup google large-data

9
推荐指数
1
解决办法
2万
查看次数

24TB RAID 6 配置

我负责一个小众行业的新网站,该网站存储了大量数据(每个客户 10 TB 以上,很快就会增长到 2 或 3 个客户)。我们正在考虑订购价值约 5000 美元的 3TB 驱动器(10 个在 RAID 6 配置中,10 个用于备份),这将为我们提供大约 24 TB 的生产存储。数据将被写入一次并且在网站的生命周期内保持不变,所以我们只需要做一次备份。

我了解基本的 RAID 理论,但我对它没有经验。我的问题是,这听起来像一个好的配置吗?此设置可能会导致哪些潜在问题?

另外,进行一次性备份的最佳方法是什么?有两个 RAID 6 阵列,一个用于异地备份,一个用于生产?还是应该将 RAID 6 生产阵列备份到 JBOD?

编辑:数据服务器正在运行 Windows 2008 Server x64。

编辑 2:为了减少重建时间,您如何看待使用两个 RAID 5 而不是一个 RAID 6?

raid backup website large-data

8
推荐指数
2
解决办法
4006
查看次数

如何在 Linux 中使用 shell 命令用随机数据覆盖非常大的硬盘 (18TB)

我想用随机字节覆盖一个非常大的硬盘驱动器(18TB),然后检查智能数据是否有重新分配的扇区或其他错误。

由于 badblocks 对单次运行中使用的块数量有一些限制,我尝试了 archlinux wiki 上描述的“cryptsetup 方法”:

https://wiki.archlinux.org/title/Badblocks#Finding_bad_sectors

我在整个驱动器上设置了一个加密的逻辑设备字段,然后使用命令“shred”将零写入打开的字段设备:

cryptsetup open /dev/device eld --type plain --cipher aes-xts-plain64
shred -v -n 0 -z /dev/mapper/eld
Run Code Online (Sandbox Code Playgroud)

它继续打印诸如

shred: /dev/mapper/eld: pass 1/1 (000000)...870MiB/17TiB 0%
shred: /dev/mapper/eld: pass 1/1 (000000)...1.7GiB/17TiB 0%
...
shred: /dev/mapper/eld: pass 1/1 (000000)...4.1TiB/17TiB 24%
Run Code Online (Sandbox Code Playgroud)

但随后它停止在 4.1TiB/17TiB 写入。我已经用 hexdump 验证了这一点,零没有写入到字节地址 0x428249b0000 (4570459340800 ~ 4.156 TiB) 之外:

hexdump -C  --skip 0x428249a0000 /dev/mapper/eld | head
428249a0000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| …
Run Code Online (Sandbox Code Playgroud)

hard-drive bad-blocks large-data

8
推荐指数
1
解决办法
2503
查看次数

将 260GB 的 csv 文件导入 MySQL

我有一个非常大的 csv ~260GB,我想将它导入 MySQL。我在 MacOS 中使用以下 mysql 脚本

删除表如果存在 tmp_catpath_5;

创建表 tmp_catpath_5( a1 BIGINT(20),a2 BIGINT(20),a3 BIGINT(20),a4 BIGINT(20),a5 BIGINT(20), c1 BIGINT(20),c2 BIGINT(20),c3 BIGINT(20) ),c4 BIGINT(20),c5 BIGINT(20), INDEX (a5) );

将数据本地 infile '/Volumes/Time Machine Backups 1/tmp_catpath_5.csv' 加载到表 tmp_catpath_5 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ;

它适用于较小的文件,例如 150GB,但对于此大小,数据库在加载命令后立即消失

错误 1049 (42000):未知数据库

MySQL 有大小限制吗?是别的吗?我使用 MAMP 应用程序中的 MySQL(MacOS 的 LAMP),它会与官方 MySQL 应用程序不同吗?

mysql files csv large-data

7
推荐指数
1
解决办法
4896
查看次数

rsync 是故障转移实现的理想选择吗(非常大的数据集)?

我有大量数据(+100 GB)可以存储到文件中。大多数文件都在 5k-50k 范围内 (80%),然后是 50k - 500k (15%) 和 >500k (5%)。文件的最大预期大小为 50 MB。如有必要,可以将大文件拆分为较小的部分。文件也可以按目录结构组织。

如果必须修改某些数据,我的应用程序会复制并修改它,如果成功,则将其标记为最新版本。然后,旧版本被删除。它是碰撞安全的(可以这么说)。

我需要实施一个故障转移系统来保持这些数据可用。一种解决方案是使用主从数据库系统,但这些系统很脆弱,并且强制依赖于数据库技术。

我不是系统管理员,但我阅读了 rsync 指令。它看起来很有趣。我想知道设置一些故障转移节点并使用我的主节点的 rsync 是否是一个负责任的选择。有没有人成功尝试过这个?

i) 如果是,我应该拆分我的大文件吗?rsync 在检测要复制/删除的文件方面是否智能/高效?我应该实现特定的目录结构来使这个系统高效吗?

ii) 如果 master 崩溃并且一个 slave 接管了一个小时(例如),让 master 再次更新是否像反过来运行 rsync 一样简单(slave to master)?

iii) 额外问题:是否有可能使用 rsync 实现多主系统?还是只有主从可能?

我正在寻找建议、技巧、经验等...谢谢!!!

failover rsync large-data

5
推荐指数
1
解决办法
2028
查看次数

我可以通过 http 验证大文件下载吗

我正在http通过wget1.2TB下载一个大文件。下载大约需要一个星期,现在已经包含了两次损坏(m​​d5 检查失败,它需要数天才能自行运行)。

有没有一种好方法可以使用 say 来通过 http 验证文件的零碎curl?或者将其分解为单独的块,以便我可以识别特定的坏块并仅重新下载该部分?

该文件是一个tar档案,所以我相信在解包过程中可以按顺序识别每个块的损坏。

linux files http curl large-data

5
推荐指数
1
解决办法
368
查看次数

4TB HGST SATA 驱动器在 Windows Server 2012 中仅显示 1.62 TB

我使用的是 Supermicro X9SRE-3F 主板,该主板具有最新的 BIOS 和连接到板载 SATA 控制器的 2 个 4TB 驱动器。

如果我将 BIOS 设置为 RAID 并创建一个 RAID 1 阵列,则该阵列在 BIOS 中显示为 3.6TB。但是,当我启动 Windows(在单独的 RAID 1 阵列上)时,4TB 驱动器在磁盘管理器中单独显示为 2x 1.62TB 驱动器。

我可以使用 Windows 2012 来设置软件 RAID 1,但是当我将 BIOS 设置回 2x 单个驱动器时,它们仍然在 Windows 中显示为 2x 1.62TB 驱动器。

如何访问这些驱动器的全部容量?

supermicro large-data windows-server-2012

4
推荐指数
1
解决办法
4810
查看次数

SQL Server 2000 表

我们目前有一个 SQL Server 2000 数据库,其中一个表包含多个用户的数据。数据由 memberid 键控,它是一个整数字段。该表在 memberid 上有一个聚集索引。

该表现在大约有 2 亿行。索引和维护正在成为问题。我们正在讨论将表拆分为每个用户模型的一张表。

这意味着我们最终会得到非常多的表,可能高达 2,147,483,647,仅考虑正值。

我的问题:

  1. 有没有人有过安装数百万表的 SQL Server (2000/2005) 的经验?

  2. 这种架构对于使用查询分析器、企业管理器等进行维护和访问有什么影响?

  3. 在数据库实例中拥有如此大量的索引有什么含义。

感谢所有评论。

谢谢

编辑:我不同意将这个问题迁移到 Serverfault。这是一个与编程相关的问题。

database sql-server sql-server-2005 large-data

1
推荐指数
1
解决办法
94
查看次数