配置个人网盘

基于存储产品快速搭建网盘”课程,本课程是阿里云云存储系列认证中第一阶段的课程,主要介绍阿里云块存储(EBS)、文件存储(NAS)、对象存储服务(OSS)等云存储产品的基础概念与产品特性,同时,我们将基于存储产品搭建网盘,教会大家使用存储产品的基本操作,陪伴您开启云上存储服务的第一站。

 

课程目标

学习完本课程后,您将能够:

  1. 了解本地存储和云存储区别
  2. 了解阿里云云存储的优势
  3. 具备根据实际业务需求选择合适的阿里云存储服务的能力
  4. 掌握阿里云云存储产品的基础概念和产品特性
  5. 掌握基于阿里云存储产品快速搭建网盘

    课程场景

    (提示:本课程为场景化教程,旨在帮助学员理解真实的应用场景,该场景讲述如何利用阿里云存储产品搭建网盘。)

    小浩为一家能源公司存储团队的成员,随着公司业务的发展,数据量呈现爆发式增长,存储扩容的成本不断增加,同时业务反馈近期出现了系统响应较慢的情况,公司希望小浩能够提出有效的解决方案。

    小浩通过调研分析,考虑采用云存储,未来计划逐步将数据从线下迁移到线上。这个方案是否有效呢?接下来,让我们一起参与小浩的调研过程,并学习如何利用阿里云存储产品搭建存储服务。

 
 本实验使用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}

 

 
 
2.6 创建OSS Bucket

登陆OSS控制台

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

 

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

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

 

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

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

 

创建OSS Bucket

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

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

 

2.7 安装Cloudreve

登陆ECS实例

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

 

安装运行Cloudreve

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

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

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

  

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

 

 

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

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

1
tar -zxvf cloudreve_3.3.1_linux_amd64.tar.gz

  

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

 

 

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

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

1
chmod +x ./cloudreve

  

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

  

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

 

 

验证Cloudreve

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

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

 

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

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

 

  1. 登录成功界面如下。
  2.  

 

停止Cloudreve

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

 

2.9 安装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文件

1
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源的更换。

 

 

执行如下命令,安装ossfs。
说明:使用yum命令安装ossfs时,yum install xx.rpm表示为安装xx.rpm软件包,-y参数表示安装过程中自动选择yes
1
yum install -y ./ossfs_1.80.6_centos8.0_x86_64.rpm

  

返回结果显示Complete!,如下图所示,表示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请注意使用英文格式字符。

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

  

  1. 执行如下命令,给passwd-ossfs文件授予权限。

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

chmod 640 /etc/passwd-ossfs
2.11 挂载OSS Bucket

创建挂载点

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

手动挂载OSS Bucket

  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--字样,即表明已经进入编辑模式
  2.  

 

  1. 复制下列示例脚本内容,右键粘贴,会跳出粘贴对话框,此时您需要将命令最后一行中的BucketName、mountfolder和Endpoint替换成您创建的Bucket名称、创建的ossfs挂载点文件夹路径和OSS的内网Endpoint
  • BucketName:您在对象存储OSS控制台中创建的Bucket名称,可在对象存储OSS控制台>Bucket列表中查看。
  • ossfs挂载点/root/oss。
  • Endpoint:OSS的ECS的经典网络访问(内网)的Endpoint,可在Bucket列表>>Bucket概览>>访问端口中查看。
1
2
3
4
5
6
7
8
#! /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--字样消失
  2.  

 

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

 

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

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

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

 

 

 
 
 
2.13 配置个人网盘

运行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设置对话框中,单击更改
  2.  

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

配置用户组

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

 

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

 

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

 

 

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

 

上传文件到个人网盘

  1.  

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

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

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

 

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

 

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

 

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

 

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

 

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

 

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @   aiplus  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
悬浮按钮示例
点击右上角即可分享
微信分享提示