我需要在 EBS 卷上创建分区吗?什么是更好的?

die*_*gov 9 server partitioning disk amazon-ec2

我正在向 AWS EC2 上现有的 Ubuntu 服务器添加一个新的 EBS 卷。

我创建了卷并将其连接到服务器,我可以在那里看到它,一切正常。

在卷上创建分区有什么好处/责任(所以我会像“/dev/xvdf1”一样使用它)而不是按原样使用它(“/dev/xvdf”),直接在卷上创建文件系统?

Mic*_*bot 10

在 EC2 内部,对我来说,将整个卷用于文件系统才真正有意义,因为弹性块存储 (EBS) 卷允许的灵活性与许多物理磁盘大不相同,从某种意义上说,您可以进行配置根据需要销毁它们,在不重新启动的情况下将它们从实例中附加和分离,并在不使用实例的处理器、内存或 I/O 的情况下拍摄快照和克隆它们。而且,在没有分区表的情况下,在需要更多空间时调整大小很容易。

需要更大的文件系统?如果您在没有分区表的情况下使用整个卷,则非常简单。

使用 AWS 控制台制作卷的 EBS 快照,该卷仍处于挂载和使用状态。您实际上不会使用此快照,但请相信我片刻。如果您最近制作了卷的快照,并且仍然拥有它,则可以跳过此步骤,因为此处的目的是使其余步骤更快。

卸载卷。

拍摄第二张快照。这是你想要的。我们制作了上一个,因为它会使这个快照更快。当 EBS 拍摄快照时,它会将磁盘内容保存到 S3 上的隐藏存储库中。对于同一个卷的每个连续快照,只需要存储更改的块,因此构建此快照,主要是存储指向所有已捕获数据位置的指针,并且只有更改的块才会被物理备份向上。

使用最后一个快照创建一个新卷。

将新卷附加到实例以代替旧卷,并挂载它。根据需要验证数据。

然后,您可以使用resize2fs扩展文件系统来填充新卷上的可用大小,同时该卷正在使用中。

然后删除上面的第一个快照。EBS 将“前滚”它包含的所有内容,这些内容也需要最终快照,因此最终快照仍然有效。

作为最后一步,您可能需要使用 来预热新卷sudo dd if=/dev/xvdx of=/dev/null bs=1M。从快照创建卷时,卷的内容会从快照“延迟”加载到实际卷上,这意味着该卷在其性能达到最佳之前变得完全可用。如果您从后台进程尚未加载的卷中请求某些内容,您仍然会几乎立即获得它,但不会像后台进程已加载所有内容一样快。这dd上面的操作对整个卷进行物理读取,从而使整个内容以尽可能低的延迟可用,比其他方式更快。这被记录为应该在卸载卷的情况下完成的操作,但是在调整大小之前或之后执行此操作并不是非常重要。http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html讨论了预热 EBS 卷的各种风格......

对我来说,在没有分区表的情况下将整个卷用于文件系统,似乎是唯一的方法,因为它最大限度地减少了停机时间和出错的机会。我所有的 EBS(和短暂的,就此而言)卷都是以这种方式完成的,除了一些非常早的卷。

当然,您可以使用fdiskparted以习惯方式创建和修改分区表,但是——在我看来——这是不必要地添加额外的“移动部件”......这通常意味着更多的出错机会。

如果您知道如何让本地机器的 X-Server 工作,并接受来自 EC2 实例的传入连接以在本地显示 GUI 输出,您还可以轻松地gparted在 EC2 实例上使用图形工具,图形界面显示在您的本地工作站屏幕——是的,这有效,我已经做到了——但是让这个工作超出这个问题的范围。