EC2实例运行一段时间后,由于日志和一些应用程序数据的积累,可能出现之前预留的磁盘容量不够需要扩容的情况。AWS EBS目前还不支持在线扩容,不过可以通过结合snapshot来实现。

如,我的EC2 Instance容量默认的8G不够用了,需要扩容。

1. 创建需要扩容磁盘的snapshot:

进入aws ec2控制台的Volume管理项中,选中你要扩容的EBS卷,右键选择“create snapshot”

在弹出的对话框中,输入名称和描述信息,待创建完成后记录下snapshot的ID号,下一步有用。

2. 创建一块新Volume,按照自己要扩容的容量

点击“create volume”,根据向导创建一个自己需要的容量Volume,需注意的是Snapshot ID这块,输入的就是上一步创建的“Snapshot的ID”。

完成后,待Volume状态为“available”时,即完成了Volume的创建。

3. 上新EBS Volume

首先Stop掉EC2实例,选择要扩容的EC2实例,右键选择“Stop”,弹出的对话框中选"yes,stop"

等EC2 Instance状态为“Stopped”时,即可。

然后,分离原有的EBS卷,这块要注意的是记录下这块EBS盘附加的位置,需要将新附加的EBS卷到相同的位置,如下面所示的位置:

选中要分离的EBS Volume,右键,选“Detach Volume”

等到状态为“available”时,就可以附加新的EBS Volume了。选中上一步创建的EBS Volume,右键“Attach Volume”

在"Instance"中要输入附加到的“EC2 Instance”的ID,Device就是要附加的位置,这里是“/dev/xvda”:

等状态为“in-use”时,就附加成功了。

最后,启动EC2 Instance 测试,选中“Instance”,右键“start”

连上Instance,查看EBS Volume大小,可以看到/dev/xvda已经是50G了:

root@ip-10-2-32-88:/home/a10070# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/xvda      ext4       50G  1.1G   46G   3% /
udev           devtmpfs   10M     0   10M   0% /dev
tmpfs          tmpfs     200M  4.3M  196M   3% /run
tmpfs          tmpfs     500M     0  500M   0% /dev/shm
tmpfs          tmpfs     500M     0  500M   0% /sys/fs/cgroup
tmpfs          tmpfs     100M     0  100M   0% /run/user
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock

注意:

如果连上实例发现磁盘容量df的时候并没有便过来,而fdisk -l时磁盘已经是50G了,那么需要执行命令“resize2fs /dev/xvda”.

如果我们扩容的是另一块非系统的数据盘,其实连实例都不需要停止的。

EC2 Instance扩容EBS卷容量的更多相关文章

  1. lvm 通过扩容本身磁盘容量扩容

    场景:sdb之前是3G容量,现在扩容了sdb的容量到8G.现在把新扩容的5G容量扩展到现有的逻辑卷中 [root@localhost ~]# pvresize /dev/sdb  Physical v ...

  2. Mac环境下扩容 .vmdk 镜像容量

    参考: Resizing a VirtualBox Disk Image (.vmdk) on a Mac Mac环境下扩容 .vmdk 镜像容量 在安装虚拟机时,原有的vmdk镜像容量只有20G,在 ...

  3. 使用Putty连接Amazon EC2 Instance

    Amazon的EC2中,默认是不允许使用用户名和密码直接连接Instance的,而是通过AWS (Amazon Web Service)提供的证书.在第一次使用EC2的时候,AWS会要求你创建一个证书 ...

  4. Cloudstack4.2之改变数据卷容量的大小(Resize Data Volumes)

    下图标注了这个功能在cloudstack4.2 UI中的位置 在cloudstack中是通过磁盘服务来设定卷的大小的.管理员可以设置相应的磁盘服务以供用户来使用.为了增强系统的灵活性,方便最终用户的使 ...

  5. multiple users to one ec2 instance setup

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html usually when use pem file as ...

  6. 怎样通过terminal得到AWS EC2 instance的ip

    可得到private ip,也是本地的ip.事实上通过ifconfig也能得到: GET http://169.254.169.254/latest/meta-data/local-ipv4 公共ip ...

  7. Getting Private/Public IP address of EC2 instance using AWS-cli [closed]

    For private IP address: aws ec2 describe-instances --instance-ids i-b78a096f | grep PrivateIpAddress ...

  8. 在线扩容LV卷

    1.登陆VC,添加硬盘 2.登陆到Linux主机 3.在线扫盘 [root@cnsz22pl0074:/root]# echo "- - -" > /sys/class/sc ...

  9. 亚马逊EC2

    亚马逊EC2编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 亚马逊弹性计算云(EC2,Elastic Compute Cloud)是一个让使用者可以租用云端电脑运行所需 ...

随机推荐

  1. URAL 1698. Square Country 5(记忆化搜索)

    题目链接 题意 : 自守数的定义:如果某个数的平方的末尾几位数等于这个数,那么就称这个数为自守数.例如5*5=25,则5就是自守数.让你求不超过n位的自守数有多少 思路 : 实际上,自守数还有两个性质 ...

  2. iPhone Development – core data relationships tutorial part 1

    I’m going to start a short series on Core Data relationships and maybe throw in some general Core Da ...

  3. Android开发之Tween(补间动画)

    在android中动画主要有三种,①帧动画(http://blog.csdn.net/dmk877/article/details/45893017)这篇文章已经详细的进行了讲解,②补间动画这也是这篇 ...

  4. C++中的类型判断typeid()操作与java中的 instanceof 做比较

    这是RTTI(运行阶段类型识别)的问题,c++有三个支持RTTI的元素: 1. dynamic_cast 操作符     如果可能的话,dynamic_cast操作符将使用一个指向基类的指针来生成一个 ...

  5. hbase项目

    四.HBase 项目4.1.涉及概念梳理:命名空间4.1.1.命名空间的结构 1) Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定, 则在 default 默认的命名 ...

  6. Python-面向对象编程01_什么是面向对象

    Python从设计之初就已经是一门面向对象的语言了,正因如此,在Python中创建一个类和对象是很容易的. 什么是面向对象? 面向对象程序设计(Object-oriented programming, ...

  7. js防windos锁屏功能实现

    <li class="layui-nav-item"> <a href="javascript:;" id="lock"& ...

  8. Delphi IOS开发环境安装

    RAD Delphi XE/10 Seattle 安装IOS.OSX环境安装,IOS模拟器,MAC X 真机可以调试 http://community.embarcadero.com/blogs/en ...

  9. ArcGIS应用——使用Python为图斑连续编号及扩展应用

    为图斑连续编号 在GIS应用中,为图斑连续编号(编号递增)是一项常见的需求,利用ArcGIS,可以方便的实现. Python脚本如下: rec=0 def autoIncrement(): globa ...

  10. gitlab迁移版本库(保留原版本库的所有内容)

    如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作. 1) 从原地址克隆一份裸版本库,比如原本托管于 GitHub git clone --ba ...