体验AWS云文件系统EFS

体验AWS云文件系统EFS,第1张

Amazon Elastic File System (Amazon EFS) 提供了简单且可扩展的 文件存储 ,可与 AWS 云中的 Amazon EC2 实例配合使用。Amazon EFS 易于使用且界面简单,可让您轻松快捷地创建和配置文件系统。借助 Amazon EFS,存储容量将具有d性,可以根据您增减文件的 *** 作而自动增加或减小容量,从而让您的应用程序在适当的时间获得所需的存储。

挂载到 Amazon EC2 实例后,Amazon EFS 文件系统会提供标准文件系统界面和文件系统访问语义,让您可以将 Amazon EFS 与现有应用程序和工具无缝集成。多个 Amazon EC2 实例可以同时访问 Amazon EFS 文件系统,因而 Amazon EFS 可以为在多个 Amazon EC2 实例上运行的工作负载和应用程序提供相同的数据源。

您可以在使用 AWS Direct Connect 连接 Amazon VPC 时,将 Amazon EFS 文件系统挂载到本地数据中心服务器。您可以将 EFS 文件系统挂载到本地服务器,从而将数据集迁移到 EFS、启用云爆发场景或将本地数据备份到 EFS。

Amazon EFS 不仅设计可实现高可用性和耐久性,还适用于各种使用案例,包括 Web 和内容服务、企业应用程序、媒体处理工作流程、容器存储以及大数据和分析应用程序。

优势:无缝支持NFSv4,无缝实现对文件系统存储容量扩展和缩减,省去了部署和维护工作,多个EC2可以同时访问一个Amazon EFS文件系统,许多用户可以访问和共享共同的数据来源。采用SSD作为存储介质提高了吞吐量、IOPS和低延迟。

使用流程:

1、Configure file system access

指定可访问EFS的EC2所在的VPC,EFS通过创建挂载点的方式对外提供访问,支持多挂载点(在多个地域起了多个实例,支持跨地域能力)

2、Configure optional settings

对EFS打标签以及选择类型,支持通用能力以及高性能盘两种

3、Review and create

检查配置和创建文件系统,创建成功后结果如下(因只在区域ap-southeast-2a有ec2实例,所以只创建了一个挂载点):

文件系统挂载点创建好后,返回一个访问的DNS,DNS命名规则为

创建好挂载点后,EFS支持ec2访问已经打通网络的私有服务器访问

EC2挂载:

私有服务器挂载:

挂载efs的ec2实例必须添加与efs同样安全组才能够挂载访问

使用root登录et2实例后(刚创建的ec2实例用ubuntu登录,登录后sudo passwd root创建root账户),执行挂载命令

在2007年,GlusterFS演变为大型分布式存储方案后,任何配备合适硬件的公司,单位都可以利用个做分布式的流媒体,数据分析。在2011年,Red Hat收购了GlusterFS.

Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。

Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用 Go 语言开发,有web *** 作界面,我们可以用它来搭建兼容S3协议的存储云服务。

Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

官网: https://minio.io

那么,如何自己搭建一个私有的S3存储云服务呢?

官方的话是推荐用Docker来搞,我们先用普通的二进制文件来直接解决了!

######################################################################################

# mkdir /data/aws_s3

# wget   https://dl.minio.io/server/minio/release/linux-amd64/minio

# mv  minio /usr/local/bin/

#  chmod  755  /usr/local/bin/minio 

# minio server  /data/aws_s3

#############################################################

Created minio configuration file successfully at /root/.minio

Endpoint: http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey: /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD 

Region:    us-east-1

SQS ARNs:  

Browser Access:

http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

Command-line Access:  https://docs.minio.io/docs/minio-client-quickstart-guide

################################################################

$ mc config host add myminio  http://10.5.10.89:9000  U3XLU4IMXY3IDKHU268F /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

Object API (Amazon S3 compatible):

Go:  https://docs.minio.io/docs/golang-client-quickstart-guide

Java:  https://docs.minio.io/docs/java-client-quickstart-guide

Python:  https://docs.minio.io/docs/python-client-quickstart-guide

JavaScript:  https://docs.minio.io/docs/javascript-client-quickstart-guide

Drive Capacity: 8.3 GiB Free, 9.1 GiB Total

##############################################################

我们就成功启动了minio的s3服务,默认端口9000,可以通过网页访问:

http://10.5.10.89:9000  

http://127.0.0.1:9000  

http://172.17.0.1:9000

注意 :第一次打开时候需要填写AccessKey和SecretKey才能进入,我们上面启动服务的时候,已经看到屏幕有输出:

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey:6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

把这两个Key填入,就能顺利进入,进入后展开页面如下:

这就是我们的S3云存储的管理页面了,看着是不是和七牛什么的提供云存储的产品页面挺像的,大家都是基于S3协议开发的!

上传个文件试试:

点击右下角的红色小加号按钮,d出的菜单选择”create bucket”则会创建一个桶,输入名字”test”

点击刚才那个红色小加号按钮,这次选择”Upload file”上传文件,给这个桶上传了一个叫login.txt的文本文档

此时页面如下:

至此我们可以看到文件已经上传,要访问这个文件,可以点击文件右侧的三个点的按钮,选择分享就可以得到一个外链,在浏览器中访问这个外链就可以直接访问文件。

那么文件到底被存到哪里去了呢,我们启动命令中其实指定了工作路径/data/aws_s3/,所以到服务器这个目录下看看:

# ls /data/aws_s3/ 

test

# ls /data/aws_s3/test/

login.txt 

桶名称test是一个目录,其下就有上传的login.txt文件。

如果想指定ip和端口,可以这样写:

# minio server /data/aws_s3 --address=0.0.0.0:9000

如果想让服务在后台运行:

# nohup minio server /data/aws_s3   --address=0.0.0.0:443 &

[1] 19882

// nohup: 忽略输入并把输出追加到启动命令的当前目录下的 "nohup.out"文件

minio可以用来搭建分布式存储系统 GlusterFS,这样就成了真正的云存储了,有时间再研究下把它从现在的单机测试,变成一朵存储云!

minio官网: https://minio.io

minio官方文档: https://docs.minio.io/docs/minio-docker-quickstart-guide

minio github主页: https://github.com/minio/minio

众所周知,亚马逊电商已经撤出了中国,具体原因我想大家都心知肚明,但是作为云计算市场的老大,亚马逊在中国依旧运营着它的公有云服务。

由于政策原因,亚马逊不能在中国大陆运营云计算服务,其在中国有三个数据中心分别为北京、宁夏和香港,而这三个数据中心分别由三家公司负责运营,分别是光环新网、西云数据和亚马逊自营,对于要多区域部署的企业来说也是稍微有些分裂。

AWS中国不接受个人用户注册,也就是说你必须是企业才能在亚马逊上运行业务,而且亚马逊不支持预付费,只有按量付费和RI预留实例券,多少与很多中国企业的财务制度有些冲突。另外看AWS中国官网的成功案例大多是欧美企业,中国客户不多,而且很多用AWS中国的也大多是跨国企业在中国的分支或者主营业务在海外的中国公司。

虽然AWS是全球第一,且遥遥领先于老二和老三,但是在中国乃至亚太地区,AWS还是有点水土不服,落后于阿里云。不可否认,阿里一开始就是学的亚马逊,不管是电商还是云计算。从服务模式到产品命名都有浓郁的亚马逊味道。当然今时不同往日,阿里云已经走出了自己的一片天,虽然还是落后很多,但技术创新和增长率却是持续领先。

我们回归主题,如果我们的业务部署在AWS上,现在感觉不爽了怎么办?可以迁移吗?往哪迁?答案是肯定的,哪个厂商也不能绑定我们,我们可以用脚投票,哪里不爽就搬家。当然迁云是要讲策略、有技术、用工具的。云上搬家最主要是应用、数据和存储,下面我们分别讲怎么做。

应用 :最简单粗暴的做法就是将运行应用的服务器连锅端,各家云厂商都提供服务器的搬家服务,以阿里云的服务器迁移中心(SMC)为例,它可以

具体流程如下:

数据库 :数据库迁移要求不停机且能保证数据一致性。阿里云的数据库迁移服务(DTS)可以满足这个需求。

数据库迁移服务(DTS)支持多种数据之间的迁移

文件存储: 亚马逊的S3无疑是众多用户存储海量文件的首选,那么我们就看看如何从S3迁移到阿里云的对标产品OSS。

首先,在AWS侧,先预估需要迁移的文件存储量和个数

然后创建用于迁移的访问密钥。你可以在 AWS 控制台的 IAM 页面创建用户并授予AmazonS3ReadOnlyAccess权限,然后创建访问密钥。

然后,在阿里云侧,登陆OSS的数据在线迁移控制台,按照提示赋予角色权限。

创建源地址,登录阿里云数据在线迁移控制台,选择 在线迁移服务 >数据地址 ,然后单击 创建数据地址 ,具体参数如下

创建目标地址,选择 在线迁移服务 >数据地址 ,然后单击 创建数据地址 。配置相关参数如下:

创建迁移任务,选择 在线迁移服务 >迁移任务 ,然后单击 创建迁移任务 。配置参数如下:

性能调优 页签的 数据预估 区域,填写 迁移存储量 迁移文件个数

性能调优 页签的 流量控制 区域,设置 限流时间段 最大流量 ,然后单击 添加

单击 创建 。等待迁移任务完成。

不知道看过上面的介绍,你是否有尝试一下的想法或者有其他的方法,欢迎大家一起来讨论。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/8052985.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存