为Amazon弹性云实例添加额外的磁盘空间

对于使用Amazon弹性云的开发者来说,都知道,当我们创建一个EC2实例的时候,都会默认创建一个几个G多几十个G的EBS卷,通常都不会很大。当然我们也可以在创建实例的时候就指定卷的大小。不管是否指定了足够大的EBS卷,都有用尽的一天。当磁盘空间用尽的时候,我们就需要添加额外的存储空间到EC2实例中。

添加额外的EBS卷到EC2实例需要3部:创建,附加和使用。创建过程有两种方式,一种是通过Amazon AWS console在图形界面下完成,另外一种就是使用AWS tools通过命令行模式进行创建,本文只列出使用AWS tools方式。默认情况下,所有的类Unix的EC2实例已经安装了AWS tools,可以在命令行提示符处输入ec2-,然后敲击tab键去检查命令行是否可用,如果系统中没有安装AWS tools,可以参考 《Getting the Amazon EC2 CLI and AMI Tools Set Up》去了解如何在你的EC2实例中安装AMI Tools,这里就不再赘述了。

下面我们就开始添加实例的具体步骤

第一步,使用命令行创建EBS卷

首先,我们需要使用SSH客户端登录到相应的EC2实例,然后在打开的终端的命令行提示符处输入如下命令

ec2-create-volume命令的具体使用方式请参考《Creating a New Amazon EBS Volume》,这里我们需要注意的是–size参数指定的基本容量单位是G,–availability-zone指定的区域必须和EC2实例在同一个区域,否则无法被附加到相应的实例上。

第二步,附加新创建的EBS卷到实例

完成第一步后,ec2-create-volume命令会输出新创建的卷的volume id,拷贝volume id的值,然后在命令行中输入如下命令

使用你的volume id替换volume-id,使用你要附加的实例的实例编号替换instance-id(可以在Amazon AWS console找到),为你的卷分配一个设备名/dev/sdh,注意这里的设备名为sd[a-z],在使用前检查一下设备名是否已经被占用了。

第三步,使用附加的卷

当完成上面两个步骤后,我们现在需要检查一下目标EC2实例是否已经成功附加到系统中

此命令会输出系统中所有块存储设备,确认是否新的卷已经附加进来,然后使用下面的命令去检查该存储设备上是否已经存在文件系统

如果命令行输出的是/dev/sdh: data,说明该设备上没有创建文件系统,在使用这个卷之前我们需要先为它指定一个文件系统

 

系统会花费一些时间来建立文件系统。

完成上面一系列的步骤,我们现在需要将这个卷挂接到特定的挂接点

首先创建一个新的文件夹作为挂接点,例如

然后将卷挂接到该文件夹下

 

到此为止,我们已经将EBS卷添加到EC2实例中了,试着切换到那个新建的挂接点中,然后去创建一些文件看是否工作正常。

下面是一些参考的链接:

http://www.imthi.com/blog/linux/aws-adding-extra-ebs-volume-to-your-ec2-instance.php

You may also like...