JuiceFS 搭建与挂载

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
对象存储 OSS,20GB 3个月
简介: 本文介绍 JuiceFS 文件系统的创建与挂载方法,希望对你有所帮助。

JuiceFS 搭建与挂载

JuiceFS 简介

JuiceFS 是一个为云服务而生的高性能高可靠性共享文件系统,可将 OSS 对象存储接入本地,像本地磁盘一样使用,也可以同时在不同主机上挂载并进行读写操作。

JuiceFS 将数据与元数据的存储分离开,从而实现分布式文件系统。JuiceFS 存储数据的时候,数据本身会存储于 OSS 对象存储中,元数据存储在 Redis、SQLite 等数据库中。

目前,JuiceFS有两个版本:一个是 2021 年刚刚开源的版本,也就是GitHub上的版本,需要自己在服务器上搭建;另一个是软件即服务版本,由其开发公司直接提供服务。两种版本有不同的客户端,不能混用。在本文档中,我们采用开源版本,在一台阿里云服务器上自己搭建(所用的服务器与 OSS 对象存储服务皆来自阿里云)。

搭建与挂载步骤

安装 FUSE

要运行 JuiceFS,必须先安装 FUSE

当下的 linux 发行版一般都默认自带 FUSE,不需要自行安装,若在 /dev 路径下没找到 FUSE,则需要手动安装,具体安装教程可以查看 libfuse 的 github 仓库,含有具体的安装方式介绍
如果是 windows,需要先安装 winFsp

安装 JuiceFS 客户端

JuiceFS 的安装需要到其官网下载客户端,具体可上官网查询

准备 Redis 数据库

首先需要一台阿里云服务器,可以在阿里云的官网上申请云服务器

然后使用命令 sudo apt update 命令,确保软件包索引是最新的

然后使用命令 sudo apt install build-essential tcl 命令安装所需要的工具

然后使用命令 sudo apt-get install redis-server 安装 Redis 数据库

使用命令 which redis-server 可以查看是否安装成功,出现对应路径则说明安装成功了

在命令行使用 redis-server 命令即可运行 redis 数据库,使用命令 ps -ef | grep redis 可以查看 redis 是否在运行

使用命令 redis-cli 可以使用客户端连接上数据库,输入 ping,得到 PONG,则说明连接成功

Redis 默认只能通过 localhost 访问,需要修改对应配置文件 /etc/redis/redis.conf 才可被外部通过公网 ip 访问,具体修改为:

  1. 把所有 bind 注释掉
  2. requirepass 可以设置个密码(非必须)
  3. protected-mode 设置为 no

然后配置本机防火墙,sudo ufw status 可以查看防火墙状态,我们输入 sudo ufw disable 将其关闭

然后需要在阿里云官网的控制台的安全组将 Redis 对应端口 6379 开启,这样就可以了

准备对象存储 OSS

使用阿里云提供的 OSS 对象存储服务,获取方法可以在官网搜索 OSS 跟着文档一步步来,这里不再赘述

创建文件系统

使用命令:

juicefs format --storage oss --bucket <阿里云对应 bucket 链接> --access-key <access key id> --secret-key <access key secret> redis://:<redis 数据库密码>@<redis 服务器公网 ip>:6379 <文件系统名字>

通过上述命令,便可创建 JuiceFS 文件系统,可同时被多台 PC 挂载并读写

挂载文件系统

  • linux

使用命令 juicefs mount redis://:@ mnt -v --writeback

-v 表示显示调试信息,--writeback 开启针对小文件上传的写回优化

Ctrl + C 结束程序即可自动卸载, 原挂载文件夹可以删除

  • windows

由于 Windows 不自带 FUSE,需要先手动安装 winfsp

使用命令 juicefs mount redis://:@ Z: -v --writeback

Z: 表示挂载到 Z 盘,Windows 下必须挂载到某个空闲的盘符,不能指定任意文件夹

在 cmd 中按下 Ctrl + C 结束程序,即可自动卸载

至此,JuiceFS 已创建完毕并能实现挂载

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
关系型数据库 MySQL Docker
Docker - 数据卷挂载与目录挂载的区别
Docker中数据卷挂载与目录挂载的区别,包括它们的定义、使用场景和命令差异。
462 0
|
文件存储
将阿里云盘挂载到本地
用CloudDrive将阿里云盘挂载到本地
14195 0
将阿里云盘挂载到本地
|
存储 文件存储
挂载共享存储到云主机
挂载共享存储到云主机
167 0
|
弹性计算 Linux 开发工具
阿里云 ECS 挂载数据盘 以及 重启后挂载的盘还原成了未挂载
如果需要将数据盘挂载到 /home/mysqldata 目录下,之前是在 /home/mysqldata 目录下的,先执行 umount /dev/vdb1 目录卸载挂载的数据盘,然后执行 mount /dev/vdb1 /home/mysqldata 命令,重新将数据盘挂载到 /home/mysqldata 目录下。
1218 1
阿里云 ECS 挂载数据盘 以及 重启后挂载的盘还原成了未挂载
|
Linux Windows
Linux挂载 本地挂载与远程挂载
Linux挂载 本地挂载与远程挂载
219 0
Linux挂载 本地挂载与远程挂载
|
应用服务中间件 Shell Linux
容器的目录挂载|学习笔记
快速学习容器的目录挂载
容器的目录挂载|学习笔记
|
网络协议 安全
NFS系统挂载配置解析
NFS系统挂载配置解析
209 0
阿里云新服务器(没有任何数据)在安装宝塔前挂载数据磁盘教程
本文中的磁盘/dev/vdb为笔者测试服务器上的命名,在您的服务器中可能是/dev/xdb、/dev/sdb、/dev/xvdb等等
601 0
阿里云新服务器(没有任何数据)在安装宝塔前挂载数据磁盘教程
|
存储 Ubuntu Linux
阿里云服务器Linux系统挂载数据盘教程
Linux系统挂载U盘或硬盘教程(查看、分区、格式化、挂载)
2112 0