如何将 ebs 卷添加到 ec2 实例

Lor*_*eck 3 amazon-ec2

我已经有一个在微型实例上运行 ubuntu 的 ec2 实例。硬盘只有7GB。我正在关闭一台旧服务器并将其迁移到这个服务器。旧服务器有 15GB 的数据,我需要传输到 ec2 实例。我怎样才能 a) 增加根 ebs 驱动器的大小或 b)(首选方法)添加另一个 ebs 驱动器,以便我可以传输文件,然后在需要时删除。

cyb*_*x86 8

亚马逊在他们的文档中详细介绍了附加 EBS 卷的过程

通过控制台:

  1. 通过https://console.aws.amazon.com/ec2/打开 Amazon EC2 控制台。
  2. 单击导航窗格中的卷。
  3. 控制台显示当前卷的列表。
  4. 选择一个卷并单击附加卷。
  5. 出现附加卷对话框。
  6. 从实例列表框中选择要将卷附加到的实例(仅显示与卷位于同一可用区中的实例)。
  7. 从设备列表框中选择设备向实例公开的方式。
  8. 单击附加。

通过命令行:

ec2-attach-volume volume_id -i instance_id -d device
Run Code Online (Sandbox Code Playgroud)

您无法实时调整 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
  • 从原始实例中分离原始根卷,并附加新卷
  • 启动您的原始实例并停止您启动的额外实例

此外,值得一提的/dev/sdXX是,这是/dev/xvdXX最近版本的 Linux 中的符号链接。许多命令需要在运行/dev/xvdXX,即使你告诉EC2附加到/dev/sdXX

另请记住,您必须将您的私钥和证书传递给几乎所有 EC2 API 命令,或者,您可以设置 ( export)EC2_PRIVATE_KEYEC2_CERT环境变量,这样您就不必将这些值传递给每个命令。

根卷将自动安装(前提是您将其作为与先前根卷相同的设备连接)。您附加的其他额外 EBS 卷仅可用作设备 - 它们不会自动安装。您可以使用cat /proc/partitions(根据此答案)获取附加的“卷”列表。要挂载您的卷,只需运行mount /dev/xvdXX /path/to/mountpoint.