一、介绍
JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。
JuiceFS 采用「数据」与「元数据」分离存储的架构,从而实现文件系统的分布式设计。文件数据本身会被切分保存在对象存储(例如 Amazon S3),而元数据则可以保存在 Redis、MySQL、TiKV、SQLite 等多种数据库中,你可以根据场景与性能要求进行选择。
JuiceFS 提供了丰富的 API,适用于各种形式数据的管理、分析、归档、备份,可以在不修改代码的前提下无缝对接大数据、机器学习、人工智能等应用平台,为其提供海量、弹性、低价的高性能存储。运维人员不用再为可用性、灾难恢复、监控、扩容等工作烦恼,专注于业务开发,提升研发效率。同时运维细节的简化,对 DevOps 极其友好。
二、架构
二、安装 JuiceFS
2.1 安装
curl -sSL https://d.juicefs.com/install | sh -
2.2 查看版本
#juicefs --version
juicefs version 1.1.2+2024-02-04.8dbd89a
三、接入阿里云 OSS
3.1 创建阿里云 OSS Bucket 和 OSS RAM 访问控制权限
- Bucket 名:juicefs01
- RAM 权限:AliyunOSSFullAccess
3.1 初始化
juicefs format --storage oss \
--bucket juicefs01.oss-cn-hangzhou-internal.aliyuncs.com \
--access-key ... \
--secret-key ... \
sqlite3://myjfs.db myjfs
Xss2PzwdiJ0yaX7 sqlite3://juicefs01.db myjfs
2024/02/06 16:17:49.407609 juicefs[9890] <INFO>: Meta address: sqlite3://juicefs01.db [interface.go:497]
2024/02/06 16:17:49.408756 juicefs[9890] <INFO>: Data use oss://juicefs01/myjfs/ [format.go:471]
2024/02/06 16:17:49.843507 juicefs[9890] <INFO>: Volume is formatted as {
"Name": "myjfs",
"UUID": "5ffcd295-11c6-413b-ab7a-4f0c335cf209",
"Storage": "oss",
"Bucket": "juicefs01.oss-cn-hangzhou-internal.aliyuncs.com",
"AccessKey": "...",
"SecretKey": "removed",
"BlockSize": 4096,
"Compression": "none",
"EncryptAlgo": "aes256gcm-rsa",
"KeyEncrypted": true,
"TrashDays": 1,
"MetaVersion": 1,
"MinClientVersion": "1.1.0-A",
"DirStats": true
} [format.go:508]
3.2 启动
juicefs mount sqlite3://myjfs.db ./jfs -d
四、验证
4.1 写入数据
在 ./jfs 中写入数据,再去 OSS Bucket juicefs01 中查看数据。