千家信息网

干货 | 玩转云文件存储——利用CFS实现web应用的共享访问

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并
千家信息网最后更新 2024年11月23日干货 | 玩转云文件存储——利用CFS实现web应用的共享访问

京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并按照实际用量计费。采用NFS协议,支持POSIX文件接口,可为Linux系统下的云主机提供共享访问服务。

演示示意图:

一、创建云主机

打开京东云控制台,依次点击左侧导航 弹性计算 - 云主机 ,在与云文件服务相同的地域 华北-北京 创建2台云主机,配置如下:

  • 付费类型:按配置

  • 地域与可用区:华北-北京/可用区C

  • 镜像:官方镜像-CentOS 7.6 64位

  • 规格:1核4G(仅作测试)

  • 存储:默认

  • 网络:选择一个创建好的VPC和子网,如果没有就新建一个

  • 带宽:1Mbps

  • 名称:

1#!/bin/bash2yum 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 2 3 4这是一个Nginx调用cfs文件的展示页面 5212223

下面调用的是cfs内的文件【1.png】

24

图片路径为/data/img/1.png

252627
2829

云主机新建完成后结果如下:


现在我们分别复制云主机的公网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内的数据,所以删除云主机对上传的图片不会产生影响。

点击" 京东云 "了解京东云云文件服务产品

欢迎点击" 京东云 "了解更多精彩内容



0