快照与卷大小

时间:2012-03-04 23:42:00

标签: amazon-s3 amazon-ec2 amazon-web-services

我在Amazon ec2中使用公共数据集快照。快照中的数据大约为150GB,快照本身为180GB。我知道通过对数据集执行操作,我需要超过30GB的可用内存,所以我将快照放在300GB的容量中。当我查看我的统计数据时(不幸的是,当一个进程正在运行时,我认为我即将耗尽空间),看起来快照仍然限制在180 GB。

  1. 有没有办法将其大小扩展到卷的大小而不会丢失我的工作?
  2. 快照是否可能与另一个驱动器(例如/ dev / sdb)实际上是连续的? (女孩可以希望,对吗?)

    使用的文件系统大小可用使用%安装在 / dev / sda1 9.9G 1.1G 8.4G 11%/
    无34G 120K 34G 1%/ dev
    无35G 0 35G 0%/ dev / shm
    无35G 56K 35G 1%/ var / run
    无35G 0 35G 0%/ var / lock
    无35G 0 35G 0%/ lib / init / rw
    / dev / sdb 827G 201M 785G 1%/ mnt
    / dev / sdf 174G 162G 2.6G 99%/var/lib/couchdb/0.10.0

  3. 我的实例正在运行Ubuntu 10。

1 个答案:

答案 0 :(得分:1)

  

有没有办法将其大小扩展到音量大小而没有   失去工作?

这取决于你是否可以忍受几分钟的停机时间进行计算,即是否停止实例(因此计算过程)是一个问题 - Eric Hammond撰写了一篇关于Resizing the Root Disk on a Running EBS Boot EC2 Instance的详细文章,它解决了一个不同但非常相关的问题:

  

[...]如果您已经运行了EC2实例并且需要,该怎么办?   增加其根磁盘的大小而不运行不同的   实例

     

只要你在EC2实例上有一点停机时间就可以了(很少   分钟),可以用a更改根EBS卷   更大的副本,无需启动新实例。

您已经完成了他描述的大部分步骤,并从180GB快照创建了一个新的300GB卷,但显然您确实错过了最后一步所需的步骤,即调整卷上的文件系统大小 - 这是Eric的说明文章:

  

使用ssh(未显示)连接到实例并调整根文件的大小   系统填补新的EBS卷。此步骤自动完成   现代Ubuntu AMI上的启动时间:

# ext3 root file system (most common)
sudo resize2fs /dev/sda1
#(OR)
sudo resize2fs /dev/xvda1

# XFS root file system (less common):
sudo apt-get update && sudo apt-get install -y xfsprogs
sudo xfs_growfs /

所以详细信息取决于该卷上使用的文件系统,但应该有一个相应的resize命令可用于除了最深奥或过时的所有文件系统,在常规的Ubuntu 10安装中我都不会想到这些命令。

祝你好运!


附录

  

快照是否可能实际上是连续的   另一个驱动器(例如/ dev / sdb)?

不仅如此,这还需要RAID种类的设置,这在Ubuntu 10上不太可用,除非有人为您提供了相应的定制AMI。 /dev/sdb的大小实际上暗示了这是Amazon EC2 Instance Storage

  

从Amazon Machine Image(AMI)创建实例时,在   大多数情况下,它附带预先配置的预连接磁盘块   存储。在本文档中,它被称为实例存储;   它也称为短暂商店。实例存储提供   Amazon EC2实例的临时块级存储。关于的数据   实例存储卷仅在生命周期内持续存在   关联的Amazon EC2实例。此存储量的范围是   160GiB最高可达3.3TiB,因Amazon EC2实例类型而异。 [...] [强调我的]

鉴于这种存储不会在实例终止时持续存在(与我们都习惯享用的EBS storage相反 - Root Device Storage中详细说明了不同的行为),应该对其进行相应的处理(即从不在实例存储中存储您无法承受的东西。)