-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change docker db driver #5
Conversation
|
现在是 myjfs 的容器的文件没做持久化, 但 meta-server(postgres)做了数据持久化了。 不知道容器不断启动,是否导致 meta-server 数据混乱,还在测试中。 理想的方案是 myjfs meta-server 都做持久化。 或者 myjfs meta-server 都不做持久化 ,每次都是从新开始。 @TechQuery |
JuiceFS 的持久化不就只有元数据和文件本身吗?还有哪些要做持久化? |
现在 myjfs 没做容器内挂载文件的持久化, 重新启停后, 就没文件了。 |
juicedata/juicefs-csi-driver#934 |
我现在越来越倾向用 minio 或者 BlobFuse 替换 juiceFS 。 @TechQuery |
这个不能通用于所有对象存储平台,我们不但是自己用,还要通过 PR 给上游提供通用解决方案。 |
minio 的运维压力有点大, 考虑 rclone |
|
https://rclone.org/docker/ 它有完整的介绍文档, 在尝试中 |
现在的方案 需要在 Linux 安装 fuse 解决办法 要解决 docker 退出后, 一些清理工作。 @TechQuery 查看文档可以通过 |
Docker 退出前能否执行 shell 脚本?如果能执行我们自定义的清理逻辑,那下一次启动也就不会报错,也就不会再产生非正常退出了。
|
用 Docker volume 挂载到 rclone 容器内,发现 api-service 是无法写入到 volume 里。 即如下配置 volumes:
- ./config/rclone:/config/rclone # Mount the local rclone config directory to the container
- polyfill-cache:/polyfill-cache:shared # Mount the local directory for the rclone mount 后来改成通过本地目录共享的方式解决。有个副作用, volumes:
- ./config/rclone:/config/rclone # Mount the local rclone config directory to the container
- ./polyfill-cache:/polyfill-cache:shared # Mount the local directory for the rclone mount 和 volumes:
- ./polyfill-cache:/tmp/@wessberg/polyfiller |
接着测试 |
Closed #2
先用 redis 作为 meta-server 进行测试, redis 停止服务时, metadata就会消失,避免自己再次format 。 不过经过测试 还时报
<FATAL>: Storage wasb://polyfill4web/myjfs/ is not empty; please clean it up or pick another volume name [format.go:485]
的报错。 十分不了解 juicefs 的逻辑。同时为了 juicefs 可以正常获取释放 fuse, 已经给了 juicefs privileged 权限, 这是一个高危操作, 十分不理解他们的设计。
是否可以更换其他的 S3 类中间件, 挂载网络存储到本地磁盘上?