JuiceFS 搭建与挂载

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 本文介绍 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 已创建完毕并能实现挂载

相关文章
|
Kubernetes Ubuntu 应用服务中间件
在Ubuntu22.04 LTS上搭建Kubernetes集群
在Ubuntu22.04.4上安装Kubernetes v1.28.7,步骤超详细
6085 3
在Ubuntu22.04 LTS上搭建Kubernetes集群
|
存储 NoSQL Linux
JuiceFS-开源分布式文件系统入门(一篇就够了)(下)
JuiceFS-开源分布式文件系统入门(一篇就够了)(下)
663 0
|
存储 分布式计算 Java
JuiceFS分布式文件系统源码分析(Java层)
讲解了hadoop-common java api层面JuiceFS的实现流程
555 0
JuiceFS分布式文件系统源码分析(Java层)
|
机器学习/深度学习 自然语言处理 分布式计算
大规模语言模型与生成模型:技术原理、架构与应用
本文深入探讨了大规模语言模型(LLMs)和生成模型的技术原理、经典架构及应用。介绍了LLMs的关键特点,如海量数据训练、深层架构和自监督学习,以及常见模型如GPT、BERT和T5。同时,文章详细解析了生成模型的工作原理,包括自回归模型、自编码器和GANs,并讨论了这些模型在自然语言生成、机器翻译、对话系统和数据增强等领域的应用。最后,文章展望了未来的发展趋势,如模型压缩、跨模态生成和多语言多任务学习。
1682 3
|
存储 分布式计算 Kubernetes
JuiceFS-开源分布式文件系统入门(一篇就够了)
讲解JuiceFS的一些概念、架构以及实操的案例
7914 0
JuiceFS-开源分布式文件系统入门(一篇就够了)
|
存储 自然语言处理 数据库
ClickHouse中的倒排索引能解决你什么问题?
ClickHouse中的倒排索引能解决你什么问题?
38498 3
ClickHouse中的倒排索引能解决你什么问题?
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
3618 2
|
开发工具
Vim如何清空文件
这样,你就清空了你的文件。
852 1
|
消息中间件 Cloud Native Kafka
一文搞懂 Kafka consumer 与 broker 交互机制与原理
AutoMQ致力于打造下一代云原生Kafka系统,解决Kafka痛点。本文深入解析Kafka Consumer与Broker的交互机制,涉及消费者角色、核心组件及常用接口。消费者以group形式工作,包括leader和follower。交互流程涵盖FindCoordinator、JoinGroup、SyncGroup、拉取消息和退出过程。文章还探讨了broker的consumer group状态管理和rebalance原理。AutoMQ团队分享Kafka技术,感兴趣的话可以关注他们。
1250 3
一文搞懂 Kafka consumer 与 broker 交互机制与原理
|
监控 Linux 数据处理
Linux中的nsenter命令:深入容器内部,实现无缝交互
`nsenter`是Linux工具,用于进入容器的命名空间,实现与容器内环境的交互。它基于Linux内核的命名空间功能,支持网络、PID等多类型隔离。`nsenter`允许在不停止容器的情况下调试和操作,如 `-t` 指定PID进入命名空间,`-n` 进入网络命名空间。示例包括使用`nsenter`查看容器进程或网络配置。使用时注意目标进程状态,理解命名空间类型,并谨慎操作。