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
$: ssh [email protected] -i ~/Downloads/key.pem

先查看下当前的磁盘情况。

1
2
3
4
5
[[email protected] ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  1.1G  6.6G  14% /
devtmpfs        486M   56K  486M   1% /dev
tmpfs           499M     0  499M   0% /dev/shm

可以看出当前磁盘总大小在8G左右,有三个文件系统。

接下来就创建一个硬盘。

点击EC2控制面板左侧的Volumes按钮,来到磁盘的控制面板。

这里展示的一块硬盘就是当前ec2实例使用的硬盘。

我们点击上面的Create Volumes来新添加一块硬盘。

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

硬盘创建完毕后如下图所示。

目前它的状态是可用的,如果将其附加到EC2实例则会变为in-use。

点击Action按钮并选择Attach Volume命令,可以将该硬盘附加到EC2实例上。

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

可以看到该硬盘状态已经发生改变。

那么再回到终端中查看磁盘情况。

1
2
3
4
5
[[email protected] ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  1.1G  6.6G  14% /
devtmpfs        486M   60K  486M   1% /dev
tmpfs           499M     0  499M   0% /dev/shm

跟以前的一模一样,没有看到新添加的20G硬盘。这是怎么回事那?这是因为你虽然给机器添加了一块硬盘,但是还没有格式化和创建文件系统,并将文件系统添加到EC2的文件系统树上来。

我们换另一个命令来查看存储情况。

1
2
3
4
5
[[email protected] ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0  20G  0 disk

这里可以看到有一块20G的大硬盘xvdf,但是没有MOUNTPOINT,这个MOUNTPOINT你可以理解为EC2实例上针对这个硬盘的根地址。

细心的读者可能会发现我们附加硬盘时输入的地址是/dev/sdf,为什么命令行中显示的是xvdf那?这是因为调皮的操作系统内核给改了,不同的Linux发行版其修改后的地址也会不太一样。

使用file命令来查看该块硬盘有没有建立文件系统。

1
2
[[email protected] ~]$ sudo file -s /dev/xvdf
/dev/xvdf: data

如果输出是data,说明该块硬盘还未创建文件系统。

使用下述命令来给xvdf来创建文件系统。

1
[[email protected] ~]$ sudo mkfs -t ext4 /dev/xvdf

然后再用file命令确认。

1
2
[[email protected] ~]$ sudo file -s /dev/xvdf
/dev/xvdf: Linux rev 1.0 ext4 filesystem data, UUID=1e14ec91-156a-4eb5-8846-cb5f2fa51b64 (extents) (large files) (huge files)

bash

可以看到该块硬盘已经建立了ext4格式的文件系统。

接下来要将该文件系统加入到当前实例的文件系统树中,这里要使用mount命令。

1
2
[[email protected] ~]$ sudo mkdir /boot2
[[email protected] ~]$ sudo mount /dev/xvdf /boot2

搞定,现在看看EC2实例的存储情况。

1
2
3
4
5
[[email protected] ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0  20G  0 disk /boot2

可以在/boot2目录下随意创建文件和文件夹了。

这里并不是万事大吉的时候,我们需要将该MOUNTPOINT加入到系统文件中,要不然系统重启后还是找不到该硬盘。编辑/etc/fstab文件,在其中加入以下行。

1
/dev/xvdf       /data   ext4    defaults,nofail        0       2

这样就不怕重启的时候丢失该MOUNTPOINT了。添加完毕以后可以试一下fstab文件是否能正常运行。

1
[[email protected] ~]$ sudo mount -a

如果没有错误就一切万事大吉,如果有错误而你重启了电脑的话,你就等着哭吧。

这是第一个任务,第二任务是给现有硬盘创建快照,非常简单。回到Volumes控制面板,选择Action里的Create Snapshot按钮。

等一会snapshot就会创建成功。

AWS系列之三 使用EBS,布布扣,bubuko.com

时间: 2024-10-10 03:07:58

AWS系列之三 使用EBS的相关文章

AWS系列之一 亚马逊云服务概述

云计算经过这几年的发展,已经不再是是一个高大上的名词,而是已经应用到寻常百姓家的技术.每天如果你和互联网打交道,那么或多或少都会和云扯上关系.gmail.github.各种网盘.GAE.heroku等各种服务都属于云服务的范畴.那么云计算的定义到底是什么?这里有摘自wiki的定义. Cloud computing in general can be defined as a computer network which includes, computing hardware machine o

AWS系列之二 使用EC2

在本文中我们有三个任务. 第一:使用Amazon management console创建一个EC2实例. 第二:使用本地的命令行工具远程登陆到该EC2实例. 第三:在该EC2实例上创建一个web服务,并通过公共域名来访问该web服务. 如果你还没有AWS的账号的话,可以使用qwiklabs提供的免费实验来进行该练习.地址是https://run.qwiklabs.com. 登陆到亚马逊的AWS服务的management console后选择EC2服务. 然后你就可以到EC2的控制面板了. 点击

SCCM 2012 R2实战系列之三:独立主站点部署

3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的SCCM 2007主站点功能一样,具备软件分发.系统部署等主要功能,一个管理中心站点下可以有多个主站点,主站点的关系可以是并列的. 在SCCM服务器中放入SCCM2012的安装光盘,以域管理员身份登录.如下图所示,在安装光盘的smssetup\bin\X64目录下找到extadsch.exe,双击运行

【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监测EV3端口数据

在前两篇文章中,我们对iOS与EV3混合机器人编程做了一个基本的设想,并且介绍了要完成项目所需的软硬件准备和知识准备. 那么在今天这一篇文章中,我们将直接真正开始项目实践. ==第一个项目: EV3 Port Viewer== 项目目的:在iOS设备上通过WiFi连接EV3并且读取EV3每个端口的数据. 大家可以一周之后在App Store上搜索EV3 Port Viewer,那么我已经做了一个范例App发布了,正在审核中 应用的基本使用要求:将EV3和iPhone同时连接到同一个WiFi网络中

Sql Server来龙去脉系列之三 查询过程跟踪

我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更新.CPU占用过高等,跟踪这些状态是非常有用地. 本章节覆盖了事件系统的关键区域:触发器.事件通知器.改变跟踪.SQL跟踪.扩展事件等.这些事件都有一个相似目的:响应或者记录发生的事件.但每一中事件的工作方式又不一样. 基础:触发器和事件通知器 触发器非常多,Data Manipulation La

完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三

手把手叫你玩转网络编程系列之三    完毕port(Completion Port)具体解释                                                              ----- By PiggyXP(小猪) 前 言 本系列里完毕port的代码在两年前就已经写好了,可是因为许久没有写东西了,不知该怎样提笔,所以这篇文档总是在酝酿之中--酝酿了两年之后,最终决定開始动笔了,但愿还不算晚-.. 这篇文档我很具体而且图文并茂的介绍了关于网络编程模型中完毕

TCP/IP网络编程系列之三

TCP/IP网络编程系列之三-地址族与数据序列 分配给套接字的IP地址和端口 IP是Internet Protocol (网络协议)的简写,是为首发网络数据而分配给计算机的值.端口号并非赋予计算机值,而是为了区分程序中创建的套接字而分配给套接字的序号. 网络地址 网络地址分为IPV4和IPV6,分别你别为4个字节地址簇和6个字节地址簇.IPV4标准的4个字节的地址分为网络地址和主机地址,且分为A.B.C.D.E 等类型.一般很少用到E类型.如下图所示:net-id指网络ID,host-id指主机

Ajax系列之三:UpdatePanel

UpdatePanel控件也是Ajax里用得最多的控件之一,UpdatePanel控件是用来局部更新网页上的内容,网页上要局部更新的内容必须放在UpdatePanel控件里,他必须和上一次说的ScriptManager控件一起使用.现在来看UpdatePanel的属性 UpdatePanel重要的属性如下: 属性 说明 ChildrenAsTriggers 当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新. R

TCP/IP网络编程系列之三(初级)

TCP/IP网络编程系列之三-地址族与数据序列 分配给套接字的IP地址和端口 IP是Internet Protocol (网络协议)的简写,是为首发网络数据而分配给计算机的值.端口号并非赋予计算机值,而是为了区分程序中创建的套接字而分配给套接字的序号. 网络地址 网络地址分为IPV4和IPV6,分别你别为4个字节地址簇和6个字节地址簇.IPV4标准的4个字节的地址分为网络地址和主机地址,且分为A.B.C.D.E 等类型.一般很少用到E类型.如下图所示:net-id指网络ID,host-id指主机