我已经有一个在微型实例上运行 ubuntu 的 ec2 实例。硬盘只有 7gb。我正在关闭旧服务器并将其迁移到此服务器。旧服务器有 15gb 的数据需要传输到 ec2 实例。我该如何 a) 增加根 ebs 驱动器的大小或 b)(首选方法)添加另一个 ebs 驱动器,以便我可以传输文件并在以后需要时删除。
答案1
亚马逊详细介绍了附加 EBS 卷的过程,他们的文件
通过控制台:
- 打开 Amazon EC2 控制台https://console.aws.amazon.com/ec2/。
- 单击导航窗格中的“卷”。
- 控制台显示当前卷的列表。
- 选择一个卷并单击附加卷。
- 出现“附加卷”对话框。
- 从实例列表框中选择要将卷附加到的实例(仅显示与卷位于同一可用区域的实例)。
- 从设备列表框中选择设备向实例公开的方式。
- 单击“附加”。
通过命令行:
ec2-attach-volume volume_id -i instance_id -d device
您无法实时调整 EBS 卷的大小 - 该过程需要创建快照,然后根据该快照创建一个新的、更大的卷。
要调整根 EBS 卷的大小:
- 停止实例(不是严格要求,但有助于保持一致性)
- 对 EBS 卷进行快照(例如
ec2-create-snapshot vol-XXXXXXXX
) - 从快照创建一个新的(更大的)卷(例如
ec2-create-volume --availability-zone XX-XXXX-XX --size XX --snapshot snap-XXXXXXXX
) - 将新卷附加到实例(例如
ec2-attach-volume vol-XXXXXXXX -i i-XXXXXXXX -d /dev/sdXX
) - 检查音量(可选 - 例如
e2fsck -f /dev/xvdXX
) - 调整文件系统大小(egeg
resize2fs -p /dev/xvdXX
) - 再次检查文件系统(可选)
- 调整文件系统(可选 - 例如
tune2fs -l /dev/xvdXX
) - 从实例中分离 EBS 卷(例如
ec2-detach-volume vol-XXXXXXXX
) - 将原始根卷从原始实例中分离出来,并附加新卷
- 启动原始实例并停止启动的额外实例
此外,值得一提的是,在较新版本的 Linux 中,它/dev/sdXX
是 的符号链接。即使您告诉 EC2 连接到 ,/dev/xvdXX
仍需要在 上运行许多命令。/dev/xvdXX
/dev/sdXX
还请记住,您必须将您的私钥和证书传递给几乎所有的 EC2 API 命令,或者,您可以设置(export
)EC2_PRIVATE_KEY
和EC2_CERT
环境变量,这样您就不必将这些值传递给每个命令。
根卷将自动安装(前提是您将其作为与上一个根卷相同的设备附加)。您附加的其他附加 EBS 卷仅作为设备提供 - 它们不会自动安装。您可以使用cat /proc/partitions
(根据)获取附加“卷”的列表这个答案)。要挂载您的卷,只需运行mount /dev/xvdXX /path/to/mountpoint
。
答案2
增加根 EBS 驱动器的大小相当复杂,并且涉及大量工作。
更简单的方法是添加另一个所需大小的 EBS 卷,然后挂载并符号链接。
答案3
最简单的方法是在 Web 界面中创建另一个所需大小的 EBS 卷,然后将其与旧数据一起附加到正在运行的实例。然后,您可以格式化新驱动器,安装它并复制文件。