在EC2上运行大数据集,担心存储

Posted

技术标签:

【中文标题】在EC2上运行大数据集,担心存储【英文标题】:Running large data set on EC2, worried about storage 【发布时间】:2020-09-15 19:16:22 【问题描述】:

我正在通过 EC2 运行一些序列分析。我希望我的输出文件超过 2 Tb。在我运行我的命令之前,我想确保我有足够的空间。我将我的实例类型更改为一种用于数据处理 d2.4xlarge。

我的问题:如果我正在运行我的命令,并且输出文件超过了xvda的存储容量,它会自动切换到xvdf吗??

希望这些信息对您有所帮助:

lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   18M  1 loop /snap/amazon-ssm-agent/
loop1     7:1    0 93.9M  1 loop /snap/core/9066
loop2     7:2    0   91M  1 loop /snap/core/6350
loop3     7:3    0   18M  1 loop /snap/amazon-ssm-agent/
xvda    202:0    0  4.9T  0 disk 
└─xvda1 202:1    0    2T  0 part /
xvdf    202:80   0  1.8T  0 disk 
xvdg    202:96   0  1.8T  0 disk 
xvdh    202:112  0  1.8T  0 disk 
xvdi    202:128  0  1.8T  0 disk 
xvdj    202:144  0  1.8T  0 disk 
xvdk    202:160  0  1.8T  0 disk 
xvdl    202:176  0  1.8T  0 disk 
xvdm    202:192  0  1.8T  0 disk 

您会看到 xvda1 与 xvda 不匹配,这是因为 EBS 的最大存储空间为 2tb(我需要更改其卷大小)

df
Filesystem      1K-blocks     Used  Available Use% Mounted on
udev             62832116        0   62832116   0% /dev
tmpfs            12570936      824   12570112   1% /run
/dev/xvda1     2081729452 45739112 2035973956   3% /
tmpfs            62854676        0   62854676   0% /dev/shm
tmpfs                5120        0       5120   0% /run/lock
tmpfs            62854676        0   62854676   0% /sys/fs/cgroup
/dev/loop0          18432    18432          0 100% /snap/amazon-ssm-agent/
/dev/loop1          96256    96256          0 100% /snap/core/
/dev/loop3          18432    18432          0 100% /snap/amazon-ssm-agent/
/dev/loop2          93184    93184          0 100% /snap/core/
tmpfs            12570932        0   12570932   0% /run/user/

谢谢!!!!!!

【问题讨论】:

【参考方案1】:

"如果我正在运行我的命令,并且输出文件超出了存储空间 xvda的容量,会不会自动切换到xvdf"

没有。您需要挂载xvdf(您似乎还没有这样做),这将在您的文件系统中为其提供一个路径,然后您需要配置您的应用程序以在第一次切换到该挂载位置位置空间不足。

“这是因为 EBS 的最大存储空间为 2tb”

AWS EBS here 的官方功能列表指出最大卷大小为 16TB。

如果您需要文件系统中的单个卷超过 16TB,则可以考虑将 EBS 卷组合到 RAID 0 阵列中,如 here 所述。

【讨论】:

嗨,马克,感谢您的帮助!我看到它也是 16 TB,应该足够了。但是,当我去 growpart 时,它会达到的最大值是 2 TB。然后我发现这个说最大值实际上是 2TB docs.aws.amazon.com/AWSEC2/latest/UserGuide/… 哦,我刚看到你对RAID阵列的评论,看起来很有用 @morinajc 您发布的链接只是说 2TB 是 MBR 分区的限制。对于附加到 EC2 实例的额外 EBS 卷,这应该不是问题。 感谢您指出这一点!如果我的分区(xvda 1)填满了数据,它会自动开始保存到 xvda 吗?

以上是关于在EC2上运行大数据集,担心存储的主要内容,如果未能解决你的问题,请参考以下文章

如何处理大型但不是大数据的数据集?

如何在大数据集上训练分词器?

大数据 MongoDB 复制集管理

面对 Spark 上小数据集的大数据溢出

大数据支持的数据集洞见-医疗-心率和呼吸分类

如何在 python 中处理大文件?