如何将ebs卷添加到ec2实例

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

亚马逊在文档中详细描述了附加EBS卷的过程

通过控制台:

  1. 通过以下url打开Amazon EC2控制台: https://console.aws.amazon.com/ec2/ 。
  2. 在导航窗格中单击卷。
  3. 控制台显示当前卷的列表。
  4. select一个卷,然后单击附加卷。
  5. 附加音量对话框出现。
  6. 从“实例”列表框中select要将卷附加到的实例(只显示与卷相同的可用区中的实例)。
  7. 从“设备”列表框中select设备如何暴露给实例。
  8. 点击附加。

通过命令行:

ec2-attach-volume volume_id -i instance_id -d device 

您无法实时调整EBS卷的大小 – 此过程需要创build快照,并从该快照制作新的更大的卷。

调整根EBS卷的大小:

  • 停止实例(不是严格要求,但有助于一致性)
  • 拍摄EBS卷的快照(例如ec2-create-snapshot vol-XXXXXXXX
  • 从快照创build一个新的(更大的)卷(例如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
  • 调整filesytem的大小( resize2fs -p /dev/xvdXX
  • 再次检查文件系统(可选)
  • 调整文件系统(可选 – 例如tune2fs -l /dev/xvdXX
  • 从实例中分离EBS卷(例如, ec2-detach-volume vol-XXXXXXXX
  • 从原始实例中分离原始根卷,然后附加新卷
  • 开始你的原始实例,并停止你开始的额外的一个

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

另外请记住,您必须将您的私钥和证书传递给几乎所有的EC2 API命令,或者您可以设置( exportEC2_PRIVATE_KEYEC2_CERT环境variables,以便您不必将这些值传递给每个命令。

根卷将自动挂载(只要您将它作为与以前的根卷相同的设备)。 其他,您附加的附加EBS卷只能作为设备使用 – 它们不会自动安装。 你可以使用cat /proc/partitions得到附加的“卷”列表(按照这个答案 )。 要挂载你的卷,只需运行mount /dev/xvdXX /path/to/mountpoint

增加根EBS驱动器的大小相当复杂,涉及相当多的工作。

更简单的方法是添加所需大小,挂载和符号链接的另一个EBS卷。

最简单的方法是在Web界面中创build所需大小的另一个EBS卷,然后使用旧数据将其附加到正在运行的实例。 然后,您可以格式化新的驱动器,装载它并复制文件。