AWS系列之三 使用EBS
Amazon Elastic Block Store(EBS)可作为EC2实例的持久性数据块级存储。其具有高可用性和持久性的特点,可用性高达99.999%。给现有的EC2实例扩展新的存储块只需要几分钟的时间,省时省力。每个EBS块都被放置在一个特定的可用区内,并且会自动维护一个副本,随时保护数据安全。
Amazon EBS共提供三种硬盘类型,SSD(固态硬盘), Provisioned IOPS SSD(特供IOPS固态硬盘)和Magnetic(普通硬盘)。SSD是默认的EC实例的硬盘格式(凶残啊!Amazon真是有钱,自从咱的本本换了SSD后,也离不开SSD了。)Provisioned IOPS SSD更凶残,具有高一致性及超低延迟的性能,专门设计用于I/O密集型操作,比如数据库。IOPS全称为Input/Output Operations Per Second,即每秒进行读写(I/O)操作的次数,用来衡量随机访问的性能。Provisioned IOPS SSD的每GB IOPS可达30。Magnetic Volumes就是俗称的磁卷了,它最便宜,当然性能也最差了。如果你的应用程序不是I/O密集型的,对数据的访问不是很频繁,使用该类型就比较划算。
EBS还有一个功能就是很方便的创建快照,并保存到Amazon S3上去。EBS的快照是增量存储的。比如你有一块100G的硬盘,第一次快照使用了100G容量,第二次快照时只有5G的数据发生了变化,那么你总共只需花105G的存储费用。当然你不不必担心删除其中一个快照导致数据丢失,因为删除一个快照时,系统只会删除其中不会被其它快照使用的数据,所以不会影响其它快照。
好了,接下来是本文的两个主要任务是两个。第一个任务是给一个EC实例附加一个新的EBS卷,并且加入到当前EC实例的文件系统中。第二个任务是为该EC实例创建一个快照。
首先当然是准备工作了,创建一个新的EC2实例。如何创建上一篇文章已经详细介绍了,这里不再累述。如果还没有AWS account的同学可以使用可以qwiklabs提供的免费实验来进行该练习。地址是https://run.qwiklabs.com。说实话qwiklabs真是个好东西,如果我使用自己的account来进行练习,要花不少钱。而qwiklabs里面有几个免费实验,使用AWS的所有资源不收任何费用,真是业界良心。
EC2创建完毕后,应该是这个样子。

然后远程ssh进去。
1 |
|
先查看下当前的磁盘情况。
1 |
|
可以看出当前磁盘总大小在8G左右,有三个文件系统。
接下来就创建一个硬盘。
点击EC2控制面板左侧的Volumes按钮,来到磁盘的控制面板。

这里展示的一块硬盘就是当前ec2实例使用的硬盘。
我们点击上面的Create Volumes来新添加一块硬盘。

硬盘类型就是我上文的说的那几种,IOPS越高,硬盘就越贵,可用区的选择一定要和当前要使用的EC2实例保持一致,要不然会无法跨可用区附加硬盘。如果提供snapshot ID的话,新创建的硬盘会具有该快照的数据。
硬盘创建完毕后如下图所示。

目前它的状态是可用的,如果将其附加到EC2实例则会变为in-use。
点击Action按钮并选择Attach Volume命令,可以将该硬盘附加到EC2实例上。

在该界面中选择实例名及映射的设备地址,然后附加。

可以看到该硬盘状态已经发生改变。
那么再回到终端中查看磁盘情况。
1 |
|
跟以前的一模一样,没有看到新添加的20G硬盘。这是怎么回事那?这是因为你虽然给机器添加了一块硬盘,但是还没有格式化和创建文件系统,并将文件系统添加到EC2的文件系统树上来。
我们换另一个命令来查看存储情况。
1 |
|
这里可以看到有一块20G的大硬盘xvdf,但是没有MOUNTPOINT,这个MOUNTPOINT你可以理解为EC2实例上针对这个硬盘的根地址。
细心的读者可能会发现我们附加硬盘时输入的地址是/dev/sdf,为什么命令行中显示的是xvdf那?这是因为调皮的操作系统内核给改了,不同的Linux发行版其修改后的地址也会不太一样。
使用file命令来查看该块硬盘有没有建立文件系统。
1 |
|
如果输出是data,说明该块硬盘还未创建文件系统。
使用下述命令来给xvdf来创建文件系统。
1 |
|
然后再用file命令确认。
1 |
|
bash
可以看到该块硬盘已经建立了ext4格式的文件系统。
接下来要将该文件系统加入到当前实例的文件系统树中,这里要使用mount命令。
1 |
|
搞定,现在看看EC2实例的存储情况。
1 |
|
可以在/boot2目录下随意创建文件和文件夹了。
这里并不是万事大吉的时候,我们需要将该MOUNTPOINT加入到系统文件中,要不然系统重启后还是找不到该硬盘。编辑/etc/fstab文件,在其中加入以下行。
1 |
|
这样就不怕重启的时候丢失该MOUNTPOINT了。添加完毕以后可以试一下fstab文件是否能正常运行。
1 |
|
如果没有错误就一切万事大吉,如果有错误而你重启了电脑的话,你就等着哭吧。
这是第一个任务,第二任务是给现有硬盘创建快照,非常简单。回到Volumes控制面板,选择Action里的Create Snapshot按钮。

等一会snapshot就会创建成功。

AWS系列之三 使用EBS的更多相关文章
- DataSnap 2009 系列之三 (生命周期篇)
DataSnap 2009 系列之三 (生命周期篇) DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置 当DSServer启动时从DSServerClass组 ...
- Sql Server来龙去脉系列之三 查询过程跟踪
我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...
- 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
手把手叫你玩转网络编程系列之三 完毕port(Completion Port)具体解释 ...
- Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程
原文:Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程 Red Gate系列之三 SQL S ...
- .NET 4 并行(多核)编程系列之三 从Task的取消
原文:.NET 4 并行(多核)编程系列之三 从Task的取消 .NET 4 并行(多核)编程系列之三 从Task的取消 前言:因为Task是.NET 4并行编程最为核心的一个类,也我们在是在并行编程 ...
- .Neter玩转Linux系列之三:Linux下的分区讲解
基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...
- 单元测试系列之三:JUnit单元测试规范
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6762032.html Junit测试代 ...
- CAN总线学习系列之三——CAN控制器的选择
CAN总线学习系列之三——CAN控制器的选择 在进行CAN总线开发前,首先要选择好CAN总线控制器.下面就比较一些控制器的特点. 一些主要的CAN总线器件产品 制造商 产品型号 器件功能及特点 Int ...
- TCP/IP网络编程系列之三(初级)
TCP/IP网络编程系列之三-地址族与数据序列 分配给套接字的IP地址和端口 IP是Internet Protocol (网络协议)的简写,是为首发网络数据而分配给计算机的值.端口号并非赋予计算机值, ...
随机推荐
- Entity Framework 6, database-first with Oracle
Entity Framework 6, database-first with Oracle 转载自http://csharp.today/entity-framework-6-database-fi ...
- Oracle 设置表空间自增长
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...
- js execCommand
JavaScript中的execCommand()命令详解及实例展示 标签: javascriptbuttonfunctioninputobjectdelete 2012-05-07 16:08 14 ...
- 2008ISBN号码
题目描述 Description 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符( ...
- 关于session和token
最近做的项目是全平台的,需要给移动端做后台,有了许多改变,如是使用token而不是session.一开始我无法理解为什么不用session,看了很多文章以后才有一定了解. 例如在ios端, ...
- 安卓奇葩问题之SQLite条件查找不到数据
今天真是日了狗了. 先说需求:要做一个累死支付宝首页的可自定义的栏目.栏目是动态从后台获取的,所以就会有一个本地数据和后台数据的同步问题.为了方便对本地数据的增删改查,首先想到SQLite. 然后就写 ...
- weblogic网页登录URL
http://172.16.64.173:7001/console/login/LoginForm.jsp
- XAF ObjectSpace保存时添加记录
点击保存按钮时自动添加相关记录(用于界面查看),另外还有Audit控件可使用,此处只是一个简单的功能. 新建一个VC并关联到相关的View,代码如下: public partial class Gon ...
- angular中的自定义过滤器
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- firefox的plugin-container进程关闭方法
http://kb.mozillazine.org/Plugin-container_and_out-of-process_plugins Disabling crash protecti ...