OSS Bucket 网盘

 
2. 个人网盘场景说明

个人网盘架构

本实验使用ECS安装Cloudreve提供网盘服务,OSS提供存储服务。当用户使用个人网盘时,访问部署Cloudreve ECS的公网IP地址即可完成文件上传、下载、删除、分享等服务。

 

 

什么是Cloudreve

 

Cloudreve可帮助您即刻构建出兼备自用或公用的网盘服务,通过多种存储策略的支持、虚拟文件系统等特性实现灵活的文件管理体验。

什么是ossfs

ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。

 

 

个人网盘场景需要收集的信息

在实验过程中,需要收集以下信息,方便后续实验步骤配置时使用。其中cloudreve初始管理员密码是随机值,需要记录。

请注意:输入网址和命令符时,输入法需要切换为英文模式,否则会无法执行。

信息类型

作用

备注

BucketName

配置ossfs、挂载OSS、配置cloudreve存储策略时使用。

通过OSS控制台>>Bucket列表获取

AccessKeyId

配置ossfs时使用

通过实验左侧导航栏,点击云产品资源获取,AK ID即AccessKey ID

AccessKeySecret

配置ossfs时使用

通过实验左侧导航栏,点击云产品资源获取,AK Secret即AccessKey Secret

Endpoint

配置ossfs、挂载OSS时使用

通过OSS控制台>>Bucket列表>>Bucket概览>>访问端口获取

ECS公网地址

cloudreve登陆时使用

通过实验左侧导航栏,点击云产品资源获取,ECS云服务器-弹性IP

OSS挂载点

挂载OSS时使用

固定值:/root/oss

cloudreve端口

cloudreve登陆时使用

固定值:5212

cloudreve初始管理员账号

cloudreve登陆时使用

固定值:admin@cloudreve.org

cloudreve初始管理员密码

cloudreve登陆时使用

随机值:需要记录

cloudreve存储目录

cloudreve配置存储策略时使用

固定值:/root/oss/uploads/{uid}/{path}

 
3. 创建OSS Bucket

登陆OSS控制台

  1. 在实验室页面右侧功能栏中,单击图标,切换至无影安全浏览器。

 

  1. RAM用户登录页面,单击下一步,在用户密码框中输入子用户密码,单击登录

说明:您可以在实验室左侧获取子用户名称和子用户密码。

 

  1. 在控制台右上角,单击图标,搜索框输入"OSS",单击搜索结果中的对象存储OSS,进入OSS管理控制台

 

返回如下页面,表示您已经进入对象存储OSS管理控制台。

创建OSS Bucket

 

您可以通过OSS管理控制台,进行Bucket的创建。

  1. 在左侧导航栏中,单击Bucket列表

  1. Bucket列表页面,单击创建Bucket

  1. 创建Bucket面板,输入Bucket名称,选择正确的地域,其它参数使用默认值,单击完成创建

说明:

  • Bucket名称:具有全局唯一性,填入Bucket时如遇“该Bucket已存在,或被其他用户占用”请更换Bucket名称。
  • 地域:个人网盘场景中需要和ECS实例处于同一个地域。您可以通过实验室左侧导航栏,单击云产品资源,获取ECS地域信息。
  • 其它参数:使用默认值。

 

   

 

 
4. 安装Cloudreve

登陆ECS实例

  1. 在实验室页面右侧功能栏中,单击图标,切换至Web Terminal

 

 

安装运行Cloudreve

  1. 执行如下命令,下载cloudreve安装包。

说明wget是Linux系统用于从Web下载文件的命令行工具。wget加上需要下载文件的链接,即可完成文件的下载。

wget https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/OSS/cloudreve_3.3.1_linux_amd64.tar.gz

返回结果如下所示,即完成cloudreve安装包的下载。

 

 

 

 

  1. 下载完毕后,执行如下命令,解压cloudreve安装包。

说明tar是Linux系统用于解压与压缩命令,解压参数中z表示配合解压.gz类型的压缩包,x表示解压缩,v表示显示解压缩详细信息,f表示被处理文件。

tar -zxvf cloudreve_3.3.1_linux_amd64.tar.gz

返回结果如下所示,即完成cloudreve安装包的解压。

 

  1. 执行如下命令,给cloudreve授予权限。

说明chmod用于改变文件或目录的访问权限,+x表示赋予可执行权限,下一步需要运行cloudreve程序,您必须赋予cloudreve可执行权限。

chmod +x ./cloudreve
  1. 执行如下命令,运行cloudreve。
./cloudreve

返回结果如下所示,您可以看到初始管理员账号初始管理员密码监听端口。初始密码是随机生成的,您可以记录初始管理员密码,或后续使用时返回此处查询。

 

 V3.3.1 Commit #a1252c8 Pro=false ================================================ [Info] 2025-04-09 14:00:45 初始化数据库连接 [Info] 2025-04-09 14:00:45 开始进行数据库初始化... [Info] 2025-04-09 14:00:45 初始管理员账号:admin@cloudreve.org [Info] 2025-04-09 14:00:45 初始管理员密码:RpMS0r7F [Info] 2025-04-09 14:00:46 数据库初始化结束 [Info] 2025-04-09 14:00:46 初始化任务队列,WorkerNum = 10 [Info] 2025-04-09 14:00:46 初始化定时任务... [Info] 2025-04-09 14:00:46 当前运行模式:Master [Info] 2025-04-09 14:00:46 开始监听 :5212 [Info] 2025-04-09 14:00:46 有新的版本 [3.8.3] 可用,下载:https://github.com/cloudreve/Cloudreve/releases/tag/3.8.3

 

   V3.3.1  Commit #a1252c8  Pro=false
================================================

[Info]    2025-04-09 14:00:45 初始化数据库连接
[Info]    2025-04-09 14:00:45 开始进行数据库初始化...
[Info]    2025-04-09 14:00:45 初始管理员账号:admin@cloudreve.org
[Info]    2025-04-09 14:00:45 初始管理员密码:RpMS0r7F
[Info]    2025-04-09 14:00:46 数据库初始化结束
[Info]    2025-04-09 14:00:46 初始化任务队列,WorkerNum = 10
[Info]    2025-04-09 14:00:46 初始化定时任务...
[Info]    2025-04-09 14:00:46 当前运行模式:Master
[Info]    2025-04-09 14:00:46 开始监听 :5212
[Info]    2025-04-09 14:00:46 有新的版本 [3.8.3] 可用,下载:https://github.com/cloudreve/Cloudreve/releases/tag/3.8.3

  

[Info]    2025-04-09 14:00:45 初始化数据库连接
[Info]    2025-04-09 14:00:45 开始进行数据库初始化...
[Info]    2025-04-09 14:00:45 初始管理员账号:admin@cloudreve.org
[Info]    2025-04-09 14:00:45 初始管理员密码:RpMS0r7F
[Info]    2025-04-09 14:00:46 数据库初始化结束
[Info]    2025-04-09 14:00:46 初始化任务队列,WorkerNum = 10
[Info]    2025-04-09 14:00:46 初始化定时任务...
[Info]    2025-04-09 14:00:46 当前运行模式:Master
[Info]    2025-04-09 14:00:46 开始监听 :5212
[Info]    2025-04-09 14:00:46 有新的版本 [3.8.3] 可用,下载:https://github.com/cloudreve/Cloudreve/releases/tag/3.8.3

 

验证Cloudreve

  1. 网盘访问时,需要使用到公网IP,您需要获取ECS实例的公网地址。

说明:您可以在左侧云产品资源列表中,获取ECS云服务器弹性IP

 

 http://8.133.241.244:5212/login

  1. 在您的本机浏览器中,打开新页签,访问http://<ECS公网地址>:<cloudreve监听端口>,依次输入初始化管理员账号初始化管理员密码,单击登录注意冒号为英文格式字符。

说明:假设ECS弹性IP地址为192.168.1.1,cloudreve监听端口为固定值5212,那么cloudreve的访问地址则为:http://192.168.1.1:5212 。请获取实验页面提供的ECS实例的公网IP地址进行替换。

  1. 登录成功界面如下。

 

 

 

停止Cloudreve

  1. 在实验页面右侧,如果当前不处于图标页面,需要单击图标切换至Web Terminal。在终端中按下Ctrl+C键,停止cloudreve运行。

 

 

   
5. 安装ossfs

安装ossfs

ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。在本实验场景中通过ossfs挂载OSS Bucket到ECS实例中,作为个人网盘的存储使用。

  1. 执行如下命令,下载ossfs安装包。
wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos8.0_x86_64.rpm

说明wget 是Linux系统用于从Web下载文件的命令行工具。wget加上需要下载文件的链接,即可完成文件的下载。

ls

返回结果如下所示,即完成ossfs安装包的下载。

 

 

  1. 安装ossfs。

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。在本场景中我们需要安装ossfs软件,在安装ossfs过程中通过yum可以自动下载和安装ossfs软件的依赖软件包。

  1. 行如下命令,更换yum源。

说明:实验环境ECS系统为Centos 8,由于Centos8 yum官方源下线,需要更换为阿里云yum源。

step1:先删除系统内过期的.repo文件

rm -f /etc/yum.repos.d/*

step2:下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

step3:运行 yum makecache 生成缓存

yum clean all && yum makecache

返回结果如下所示,即完成yum源的更换。

 

  1. 执行如下命令,安装ossfs。

说明使用yum命令安装ossfs时,yum install xx.rpm表示为安装xx.rpm软件包,-y参数表示安装过程中自动选择yes

yum install -y ./ossfs_1.80.6_centos8.0_x86_64.rpm

返回结果显示Complete!,如下图所示,表示ossfs安装成功。

 

LTAI5tLwqnK3YqjwJZrhV58S

iRfYeGtNVPSYIKsS7wkRenSfo9zaT6

 

echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs

 

echo bk-oss-test:LTAI5tLwqnK3YqjwJZrhV58S:iRfYeGtNVPSYIKsS7wkRenSfo9zaT6 > /etc/passwd-ossfs

 

 

配置ossfs

  1. 获取到OSS Bucket和AccessKey ID和AccessKey Secret信息。
  • BucketName:您在对象存储OSS控制台中创建的Bucket名称,可在对象存储OSS控制台>Bucket列表中查看。
  • AccessKey IDAccessKey Secret信息:通过实验室页面左侧云产品资源列表获取AK IDAccessKey ID,AK Secret即AccessKey Secret。

 

  1. 执行如下命令,配置账号访问信息,将Bucket名称以及具有此Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。

说明:您需要将命令中的BucketName、yourAccessKeyId和yourAccessKeySecret替换成您创建的Bucket名称、主账号的AccessKey ID和主账号的AccessKey Secret请注意使用英文格式字符。

echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs
  1. 执行如下命令,给passwd-ossfs文件授予权限。

说明:后续挂载OSS Bucket阶段,需要使用passwd-ossfs中的AccessKeyId和AccessKeySecret去验证是否具有passwd-ossfs文件中Bucket的权限。

chmod 640 /etc/passwd-ossfs
   
   
6. 挂载OSS Bucket

创建挂载点

  1. 在ECS命令行界面,执行如下命令,创建一个名为oss文件夹。
mkdir oss

手动挂载OSS Bucket

echo bk-oss-test:LTAI5tLwqnK3YqjwJZrhV58S:iRfYeGtNVPSYIKsS7wkRenSfo9zaT6 > /etc/passwd-ossfs

 

 

ossfs BucketName mountfolder -o url=Endpoint

 

ossfs bk-oss-test /root/oss -o url=oss-cn-shanghai-internal.aliyuncs.com

 

 

CS 的经典网络访问(内网)
支持
oss-cn-shanghai-internal.aliyuncs.com
bk-oss-test.oss-cn-shanghai-internal.aliyuncs.com

 

 

  1. 执行如下命令,将Bucket挂载到指定目录/root/oss,您需要将命令中的BucketName、mountfolder和Endpoint替换成实验室提供的bucket名称、创建的oss文件夹和OSS的内网Endpoint。
ossfs BucketName mountfolder -o url=Endpoint

说明:

  • BucketName您在对象存储OSS控制台中创建的bucket名称,可在对象存储OSS控制台>Bucket列表中查看
  • mountfolder上一步创建的挂载文件夹(本实验为/root/oss
  • Endpoint:OSS的ECS的经典网络访问(内网)的Endpoint,可在Bucket列表>>您的Bucket>>概览>>访问端口中查看。

 

 

2. 查看是否挂载成功。

df -h

返回结果如下,表示挂载成功。

 

设置开机自动挂载OSS Bucket

  1. 执行如下命令,在/etc/init.d/目录下建立文件ossfs,设置ECS开机自动启动脚本进行OSS Bucket自动挂载
  1. 进入Vim编辑器。
vim /etc/init.d/ossfs
  1. 按下i键进入编辑模式,vim编辑器左下方看到--INSERT--字样,即表明已经进入编辑模式

 

 

#! /bin/bash
#
# ossfs Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs bk-oss-test /root/oss -o url=oss-cn-shanghai-internal.aliyuncs.com -oallow_other

 

ossfs bk-oss-test /root/oss -o url=oss-cn-shanghai-internal.aliyuncs.com

ossfs BucketName mountfolder -o url=Endpoint -oallow_other

 

  1. 复制下列示例脚本内容,右键粘贴,会跳出粘贴对话框,此时您需要将命令最后一行中的BucketName、mountfolder和Endpoint替换成您创建的Bucket名称、创建的ossfs挂载点文件夹路径和OSS的内网Endpoint
  • BucketName:您在对象存储OSS控制台中创建的Bucket名称,可在对象存储OSS控制台>Bucket列表中查看。
  • ossfs挂载点/root/oss。
  • Endpoint:OSS的ECS的经典网络访问(内网)的Endpoint,可在Bucket列表>>Bucket概览>>访问端口中查看。
#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs BucketName mountfolder -o url=Endpoint -oallow_other

 

显示如下图所示,表示完成粘贴。

  1. 按下Esc键退出vim编辑模式,即vim编辑器左下方--INSERT--字样消失

  1. 保存文件,输入:wq,vim编辑器左下方看到:wq字样,按下Enter键,保存并退出Vim编辑器

  1. 执行如下命令,为新建立的ossfs脚本赋予可执行权限。

说明chmod是添加更改权限的命令,a是指所有的用户组,+x是指添加执行权限。

chmod a+x /etc/init.d/ossfs
  1. 执行如下命令,把ossfs启动脚本作为其他服务,开机自动启动。
chkconfig ossfs on

 

   
7. 配置个人网盘

运行Cloudreve

  1. 执行如下命令,运行cloudreve。
./cloudreve

 

配置Cloudreve

配置cloudreve主要是对存储策略进行配置,并将存储策略与用户组进行绑定。存储策略定义了文件的存储平台、上传和功能限制。用户组与存储策略绑定,此用户组下的用户将共享同一个存储策略。

  1. 登陆cloudreve。打开浏览器,访问http://<ECS弹性IP地址>:<cloudreve监听端口>,依次输入管理员账号和密码,单击登录请注意冒号使用英文格式字符。

说明:您可以通过云产品资源列表查看ECS弹性IP地址,假设ECS弹性IP地址为192.168.1.1,cloudreve监听端口为固定值5212,cloudreve的访问地址为:http://192.168.1.1:5212 。

  1. 在cloudreve主界面右上角,单击管理面板

 

 

  1. 确定站点URL设置对话框中,单击更改

 

 

  1. 在左侧导航栏中,单击存储策略

  1. 存储策略页面,单击添加存储策略

  1. 选择存储方式对话框中,选择本机存储

 

  1. 添加本机存储策略上传路径页面中,将存储目录修改为/root/oss/uploads/{uid}/{path},单击下一步

 

说明:/root/oss为oss Bucket的挂载点。

  1. 添加本机存储策略直链设置页面中,单击下一步

  1. 添加本机存储策略上传限制页面中,单击下一步

 

  1. 添加本机存储策略完成页面中,输入存储策略名OSS,单击完成

 

配置用户组

  1. 在左侧导航栏中,单击用户组

  1. 在用户组页面中,单击管理员操作中的编辑图标。

  1. 编辑管理员页面的存储策略中,选择oss,然后单击保存

 

 

  1. 在用户组的右上角,单击返回主页

上传文件到个人网盘

  1. 个人网盘页面,拖拽任意文件到网页中,待文件上传完毕,关闭上传队列。

OSS Bucket验证个人网盘上传结果

  1. 在实验室页面右侧的功能栏中,单击图标,切换至无影安全浏览器。

 

  1. 复制下方地址,在无影安全浏览器中打开新页签,粘贴并访问OSS管理控制台。
https://oss.console.aliyun.com/
  1. 在左侧导航栏中,单击Bucket列表

  1. Bucket列表页面,找到创建的Bucket,单击Bucket名称

  1. 文件列表页面,单击文件名为uploads的文件夹。

 

 

  1. uploads文件目录中,单击文件名为1的文件夹。

  1. 1文件目录中,您可以看到在个人网盘上传的文件。

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @ 2025-04-09 14:22  aiplus  阅读(45)  评论(0)    收藏  举报
悬浮按钮示例