mysql 做为juicefs 的元数据存储

环境准备

  • docker-compose
version: '3'
services:
  db:
    image: mysql:5.6
    environment:
    - MYSQL_ROOT_PASSWORD=dalongdemo
    - MYSQL_DATABASE=juicefs
    - MYSQL_USER=user
    - MYSQL_PASSWORD=password
    ports:
    - "3306:3306"
  s3:
    image: minio/minio
    environment:
      - "MINIO_ACCESS_KEY=minio"
      - "MINIO_SECRET_KEY=minio123"
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"

使用

  • 格式化
juicefs format --storage minio \
    --bucket http://127.0.0.1:9000/jfs \
    --access-key minio \
    --secret-key minio123 \
    "mysql://root:dalongdemo@(127.0.0.1:3306)/juicefs" \
    pics
  • 挂载
sudo juicefs mount -d "mysql://root:dalongdemo@(127.0.0.1:3306)/juicefs"  apps

说明

理论上来说oceanbase 也是可以支持的,但是在测试的时候发现是有些问题的,实际上我们有中间的解决方法,就是在一个mysql数据库中
先初始化好,然后迁移到ob,具体还没操作,理论上是支持的,目前基于mysql 的延迟是比较大的,所以在规模比较大的场景问题就比较明显了
推荐的还是redis

参考资料

https://juicefs.com/docs/zh/community/databases_for_metadata#mysql
https://juicefs.com/docs/zh/community/metadata_engines_benchmark

原文地址:https://www.cnblogs.com/rongfengliang/p/15779655.html