首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Amazon EC2 - 将根实例存储设备与EBS设备交换怎么做?

Amazon EC2 - 将根实例存储设备与EBS设备交换怎么做?
EN

Stack Overflow用户
提问于 2018-05-17 05:34:55
回答 2查看 0关注 0票数 0

我有一个带有“实例存储”设备的EC2实例作为根设备。现在,我想将EBS卷附加到同一个实例,只是希望它成为根设备。那可能吗?在这种情况下,实例存储设备会发生什么?

EN

回答 2

Stack Overflow用户

发布于 2018-05-17 14:02:36

可以将正在运行的实例迁移到EBS支持的AMI。以下是我的做法:

  • 启动一个常规的S3 AMI支持的实例
  • 创建一个与根sda1分区大小相同的EBS卷(默认值为10G)
  • 使用Web控制台或命令行工具将该EBS卷附加到实例上的空闲块设备上
  • 停止实例上的服务(例如/etc/init.d/mysql stop等)
  • 将临时根卷复制到EBS卷:

dd bs = 65536 if = / dev / sda1 = / dev / sdd

  • 检查EBS卷的一致性:

fsck / dev / sdd

  • 将EBS卷挂载到实例上:

mount / dev / sdd / root / ebs-vol

  • 从EBS卷上的fstab中删除/ mnt条目vol:

vim / root / ebs-vol / etc / fstab

  • 取消注册EBS卷:

umount / dev / sdd

  • 使用AWS管理控制台(或命令行API工具)创建EBS卷的快照
  • 记下快照ID
  • 使用AWS注册快照映像并注意生成的AMI id,注册时请记住指定内核和虚拟磁盘映像:

ec2-register -s snap-12345 -a i386 -d“AMI的描述”-n“图像名称”-k aki-12345 -r ari-12345

  • 要创建一个拥有超过10G持久性存储的实例,必须使用cli工具

ec2-run-instances ami-54321 -t m1.small -n 1 -g default -availability-zone = eu-west-1a -k ec2 -key1 -b / dev / sda1 = snap-12345:20:false

  • 如果基于其中一个AMI以>默认卷大小启动实例,则一旦它启动,就可以对文件系统进行在线调整大小:

resize2fs / dev / sda1

票数 0
EN

Stack Overflow用户

发布于 2018-05-17 15:22:09

这可以在不创建新的AMI并且不启动新的实例的情况下完成。完成后,原来的根卷保持连接在/ dev / sda1上。原始根卷不会被挂载到文件系统 - 需要通过“mount”命令自行完成。

该技术需要最新的Ubuntu内核,即在10.04和10.10版本中运行的内核。查看alestic.com以获取这些Ubuntu版本的最新AMI ID。这些最新的内核被配置为从卷标为“uec-rootfs”的任何连接设备启动。

这是代码。把它放在一个文件(reroot.sh)上:

代码语言:javascript
复制
#! /bin/bash
device=$1
# change the filesystem labels
e2label /dev/sda1 old-uec-rootfs
e2label $device uec-rootfs

首先,将要作为新根的EBS卷附加到其中一个可用设备/dev/sdf../dev/sdp。这可以通过直接的EC2 API调用

然后,以root身份运行reroot.sh脚本,并提供附加新根卷的设备,如下所示:

代码语言:javascript
复制
sudo reroot.sh /dev/sdp

然后你只需重新启动:

代码语言:javascript
复制
sudo shutdown -r now

要测试这个,你应该创建一个EBS卷,你知道会正确启动。我喜欢通过从上面提到的Ubuntu AMI中快照EBS支持的AMI的根卷来做到这一点:

代码语言:javascript
复制
cd
touch this-is-the-original-root-volume

然后,当重新启动时,如果该文件存在于主目录中,仍然使用原始根卷运行。如果它不在那里,那么重新启动和重新启动工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档