干货 | 玩转云文件存储——利用CFS实现web应用的共享访问
京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并按照实际用量计费。采用NFS协议,支持POSIX文件接口,可为Linux系统下的云主机提供共享访问服务。
演示示意图:
一、创建云主机
打开京东云控制台,依次点击左侧导航弹性计算-云主机,在与云文件服务相同的地域华北-北京创建2台云主机,配置如下:
- 付费类型:按配置
- 地域与可用区:华北-北京/可用区C
- 镜像:官方镜像-CentOS 7.6 64位
- 规格:1核4G(仅作测试)
- 存储:默认
- 网络:选择一个创建好的VPC和子网,如果没有就新建一个
- 带宽:1Mbps
- 名称:web
- 自定义数据:如下
1#!/bin/bash
2yum install nginx -y && rm -rf /usr/share/nginx/html/index.html && wget -P /usr/share/nginx/html/ https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/index.html && cd /etc/nginx/ && mv nginx.conf nginx.conf.bak && wget https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/nginx.conf && systemctl enable nginx && systemctl start nginx && systemctl stop firewalld && systemctl disable firewalld
- 购买量:2
自定义数据说明:
1#!/bin/bash #Linux脚本首行固定内容
2yum install nginx -y #yum安装ningx服务
3rm -rf /usr/share/nginx/html/index.html #删除nginx默认首页
4wget -P /usr/share/nginx/html/ https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/index.html #下载自定义首页
5cd /etc/nginx/ #进入到nginx配置文件所在目录
6mv nginx.conf nginx.conf.bak #备份nginx原配置文件
7wget https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/nginx.conf #下载自定义配置文件
8systemctl enable nginx #设置nginx开机自启
9systemctl start nginx #启动nginx
10systemctl stop firewalld #关闭防火墙
11systemctl disable firewalld #永久关闭防火墙
12&& #这个符号表示前面命令执行成功后才会执行后面的操作
自定义数据内的index.html文件内容如下:
1<!DOCTYPE html>
2<html>
3<head>
4<title>这是一个Nginx调用cfs文件的展示页面</title>
5<style>
6.ss {
7width: 800px;
8height: 280px;
9display: flex;
10align-items: center;
11justify-content: center;
12}
13.ssimg {
14width: 100%;
15height: 100%;
16}
17h2 {
18color: red;
19}
20</style>
21</head>
22<body>
23<h1>下面调用的是cfs内的文件【1.png】</h1>
24<h2>图片路径为/data/img/1.png</h2>
25<divclass="ss">
26<imgsrc="/img/1.png">
27</div>
28</body>
29</html>
云主机新建完成后结果如下:
现在我们分别复制云主机的公网IP到浏览器查看效果如下:
二、创建应用型负载均衡(ALB)
1.创建负载均衡
打开京东云控制台,依次点击左侧导航网络-负载均衡,在应用型中选择华北-北京点击创建按钮
选择应用负载均衡,点击确定
配置如下:
- 地域与可用区:华北-北京-可用区选择可用区A、可用区B、可用区C
- 网络:选择和云主机相同的私有网络(子网随意,也可选择与云主机相同的子网,也可创建一个新的子网,因为同一VPC下的子网默认是互通的),安全组选择默认安全组开放全部端口
- 带宽:1Mbps
名称:cfs_alb
创建完成后如下图:
2.配置负载均衡
2.1 新建虚拟服务器组
点击创建好的负载均衡实例名称,如下图,找到虚拟服务器组后点击新建虚拟服务器组
分组名称填写tg,将我们创建好的两台云主机添加到这个服务器组里,点击确定
2.2 新建后端服务
如图,找到后端服务后点击新建后端服务
配置如下:
- 基本信息:
- 名称:backend
- 后端协议:默认Http
- 端口:80
- 调度算法:默认加权轮询
- 其他保持默认
- 健康检查:
- 健康检查方式:HTTP
- 检查端口:80
- 其他保持默认
- 添加服务器组:
- 选择服务器组:选择我们上面创建好的虚拟服务器组
tg
2.3 新建监听器
如图,找到监听器后点击新建监听器
配置如下:
- 前端监听配置:
- 监听协议[端口]:Http 80
- 其他保持默认
- 后端转发配置:
- 默认后端服务:选择后端服务
- 后端服务名称:选择前面创建好的后端服务
backend
- 其他保持默认
- 健康检查:
- 保持默认
- 添加服务器组:
- 保持默认
2.4 查看效果
复制负载均衡的公网IP到浏览器查看效果
三、创建云文件服务
首先我们需要打开京东云官网:http://www.jdcloud.com,点击右上角控制台登陆后点击左侧导航存储-云文件服务,在华北-北京点击创建文件存储,配置如下:
- 地域:华北-北京
- 名称:cfs_test
- 虚拟私有云:选择和云主机相同的私有网络
- 创建挂载目标:选择和云主机相同的子网
创建结果如下:
四、挂载文件存储
如下操作需要登陆两台云主机分别操作!
3.1 登陆我们创建好的云主机,安装nfs
1yum install –y nfs-utils -y
在Ubuntu系统的终端下,运行如下命令:
sudo apt-get install nfs-common
3.2 创建data目录用于挂载文件存储
1mkdir -p /data/img
3.3 通过挂载目标的IP地址挂载文件存储,挂载目标的IP地址可在“控制台-存储-云文件服务-文件存储”页面,点击该文件存储的ID后查看。
如,挂载目标的目录为10.0.0.19:/cfs,挂载到上一步创建的nfs目录。
注意,因挂载工具默认NFS协议为4.0版本,所以CentOS 7.2及以下版本的挂载命令略有不同: CentOS 6.9至CentOS
7.2版本运行以下命令: mount -t nfs,nfsvers=4.0, -o lookupcache=none 10.0.0.19:/cfs /data CentOS 7.3及以上版本运行以下命令: mount -t nfs -o lookupcache=none 10.0.0.19:/cfs /data Ubuntu系统的终端下,运行如下命令: mount -t
nfs 10.0.0.19:/cfs /data
5.通过运行以下命令,验证是否挂载成功:
1df -h
挂载成功后会出现“Filesystem”为挂载目标IP,“Mounted on”为上一步指定目录的记录。
五、上传测试文件
首先准备一张png格式的图片,重命名为1.png,保存到桌面;
利用类似WinSCP或者FTP等工具将准备好的测试图片上传到云主机web01的/data/img目录下
上传完成后,复制负载均衡公网IP到浏览器查看效果如下:
现在我们将云主机web1在控制台停止并删除,然后再刷新浏览器,发现测试图片仍能够正常显示,原因在于测试图片是直接上传到了京东云云文件服务CFS中,云主机web1、web2共享CFS内的数据,所以删除云主机对上传的图片不会产生影响。
点击“京东云”了解京东云云文件服务产品
干货 | 玩转云文件存储——利用CFS实现web应用的共享访问的更多相关文章
- 阿里云文件存储(NAS)助力业务系统承载双十一尖峰流量
2018天猫双11全球狂欢节,全天成交额再次刷新纪录达到2135亿元,其中总成交额在开场后仅仅用了2分05秒即突破100亿元,峰值的交易量达到惊人的高度,背后离不开阿里云大数据计算和存储能力的支撑.在 ...
- 为数据计算提供强力引擎,阿里云文件存储HDFS v1.0公测发布
在2019年3月的北京云栖峰会上,阿里云正式推出全球首个云原生HDFS存储服务—文件存储HDFS,为数据分析业务在云上提供可线性扩展的吞吐能力和免运维的快速弹性伸缩能力,降低用户TCO.阿里云文件存储 ...
- 阿里云文件存储CPFS正式商业化,提供云上高性能并行文件系统
2018年3月份,阿里云推出文件存储CPFS产品.在经过近一年的上线公测后,CPFS即将迎来商业化,将为更多的客户提供云上高性能的并行文件存储. 坚如磐石的高性能计算存储 文件存储CPFS针对计算密集 ...
- 什么是文件存储NAS
阿里云文件存储(Network Attached Storage,简称 NAS)是面向阿里云 ECS 实例.E-HPC 和容器服务等计算节点的文件存储服务. 定义 阿里云文件存储 NAS 是一个可共享 ...
- 实现基于文件存储的Session类
自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的. 一般基于文件存储Session数据效率不是很高 ...
- 阿里云对象存储OSS与文件存储NAS的区别
一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...
- php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
腾讯云 对象存储V5版本 文档地址:https://github.com/tencentyun/cos-php-sdk-v5 调用简单文件上传方法: 返回数据如下 Array ( [data:prot ...
- Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】
作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS 阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...
- 干货 | 基于Go SDK操作京东云对象存储OSS的入门指南
前言 本文介绍如何使用Go语言对京东云对象存储OSS进行基本的操作,帮助客户快速通过Go SDK接入京东云对象存储,提高应用开发的效率. 在实际操作之前,我们先看一下京东云OSS的API接口支持范围和 ...
随机推荐
- 开源DDD设计模式框架YMNNetCoreFrameWork第二篇-增加swagger,数据库迁移,增加权限模型
1.框架去掉application层,把HOst作为application层 2.增加swagger插件 3.增加Asp.net Identity身份验证 源代码地址:https://github. ...
- django-ckeditor使用
django-ckeditor 1 安装 pip install ckeditor 2 配置 INSTALLED_APPS中添加 'ckeditor', 修改写入字段的格式 主题相关配置(settin ...
- 第二阶段scrum-8
1.整个团队的任务量: 2.任务看板: 会议照片: 产品状态: 消息收发制作中
- C# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系". ...
- SPOJ DQUERY D-query 离线+树状数组
本来是想找个主席树的题目来练一下的,这个题目虽说可以用主席树做,但是用这个方法感觉更加叼炸天 第一次做这种离线方法,所谓离线,就在把所有询问先存贮起来,预处理之后再一个一个操作 像这个题目,每个操作要 ...
- POJ 1426:Find The Multiple
Find The Multiple Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u Su ...
- Day1-T4
原题目 Describe:注意是“两次及以上”而不是“两种及以上”!! code: #include<bits/stdc++.h> using namespace std; int k,m ...
- C++基础--引用的一点补充
这一篇是对引用的一点补充,内容基本上是来自<C++ primer plus>一书第八章的内容. 前面一篇介绍了引用的一点特点,这里补充一个,将引用用于类对象的时候,有一个体现继承的特征,就 ...
- 调用servlet报The requested resource is not available.
调用servlet的时候经常有这种报错,一般来说我直到现在遇到的情况大致有以下几类: 1.参数写错了 在新创建的servlet文件中有这么一行代码,“/LoginCheck”这个一定要和form表单中 ...
- MyBatis 关联查询的实现:一对多
有2个实体:用户.订单,一个用户可以拥有多个订单,同时这多个订单属于一个用户,即一对多. user_tb: order_tb: 在“多”的一方(order)添加“一”的一方(user)的主键(user ...