恩山无线论坛

标题: 甜糖多个容器共享缓存教程(基于Overlay文件系统的方案) [打印本页]

作者: w_anghe    时间: 2021-4-2 22:48
标题: 甜糖多个容器共享缓存教程(基于Overlay文件系统的方案)
本帖最后由 w_anghe 于 2021-5-21 22:17 编辑

2021-5-21更新
不少坛友反映运行一段时间后,可能底层有不少文件应该删除,上层又有不少文件写入,为了充分利用磁盘空间,我给大家写一段合并脚本
运行脚本前请注意:
一定先卸载overlay目录
一定先卸载overlay目录
一定先卸载overlay目录
卸载命令
docker stop ttnode1
umount /mnt/usbdisk/ttnode1/mnts
有几个容器就重复上面的命令几次,目录根据自己情况修改
然后把我下面的代码存成一个shell脚本执行,其中脚本开头lower和upper目录根据自己情况修改,有几个目录就执行几次
注意做好数据备份工作,万一造成意料之外的结果本人概不负责
  1. #!/bin/bash

  2. lower="/mnt/usbdisk/static_cache/.yfnode/cache"
  3. upper="/mnt/usbdisk/ttnode/upper/.yfnode/cache"
  4. filelist="/tmp/cfile.txt"

  5. cd $upper
  6. find ./ -maxdepth 1 -type c > $filelist

  7. cd $lower
  8. xargs -I{} rm -rf {}<$filelist

  9. cd $upper
  10. xargs -I{} rm -rf {}<$filelist

  11. rsync -av $upper/* $lower

  12. rm -rf $upper
复制代码




目前甜糖多个容器共享缓存的方案大多数是把主机同一个目录映射到不同容器的 /mnts/.yfnode/cache 目录上
这种方案虽然基本可用,但是楼主觉得并不完美,主要问题是可能造成不同容器同时对一个缓存目录进行写操作(.task文件),
这样可能发生一些意想不到的结果,楼主近日突发奇想,利用Overlay文件系统的的特性做了一个自认为比较合理的方案,
做个调查,如果有比较多的人有需求,我就写个详细教程
其实只要明白什么是Overlay文件系统,我相信你已经知道怎么做了。

教程正式开始

我觉得这个教程真正的意义是带大家了解一下Overlay文件系统,大家如果还想更深入的了解,也可以自己再找一下相关资料,
我这里只是带大家先入个门
至于甜糖说不定哪天就消失了
但是这些知识点你可以用在其它地方
希望这个帖子的生命周期比甜糖长
也希望我不要一语成谶


简单介绍一下Overlay文件系统
OverlayFS是一种联合文件系统(UnionFS),分为上下两个层,我们可以理解成有2个目录lower和upper,
但是经过Overlay文件系统挂载后,展现给用户的是一个叫做merged的目录,
在这个目录用户看到的内容就是lower和upper两个目录文件的合集,
如果用户把文件写入merged目录,实际文件是写入了upper目录,lower目录是一个只读层,
文件不会做任何修改。

[attach]463896[/attach]



大家可以参考一下上面这个图,Lower目录就是只读层,用户对Overlay的任何修改都写入了Upper层,
当然还会涉及到文件删除的情况,这里不展开说。这种联合文件系统有很多应用,
比如在docker中,每个容器的底层就是它对应的镜像,也就是无论你创建多少个镜像的容器,
底层的文件是只有一份,不会浪费多余的磁盘空间。
当然具体的实现还有很多特别的处理,但是基本思路就是我说的这样。

用Overlay文件系统实现甜糖缓存共享思路

可能聪明的你们已经想到了,我们是不是可以用类似docker处理镜像和容器的方法共享缓存文件文件呢?
假设我们有2个甜糖的镜像,我给每个甜糖镜像分配一个缓存目录
假设分别为
dir1
dir2
我们分别把2个Overlay文件系统挂载到这2个目录,这两个目录的底层(lower)都是同一份缓存目录,这样就达到共享缓存的目的,而且这两个目录互不影响,对文件的更改都会写入对应的upper层。


具体的实现方法

1.先准备一份缓存
假设这个缓存的目录是 /mnt/usbdisk/static_cache,这个缓存目录的结构如下
static_cache/
└── .yfnode
    └── cache
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.chr
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.mem
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.task
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.tn
           ├── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.torrent
           └── 00318F7338ACA0DDB4205ACA2B2C5A9CE11990F0.vdata_0.!mv
    └── config
注意一定要删除static_cache/.yfnode/config目录,一定要删除,一定要删除,只留static_cache/.yfnode/cache目录
/mnt/usbdisk/static_cache这个目录就是我们的lower层,是所有甜糖容器缓存目录的底层

2.在/mnt/usbdisk目录下新建ttnode1目录,并新建3个子目录mnts upper work
结构如下
/mnt/usbdisk/ttnode1
├── mnts
├── upper
└── work

下面我们开始 挂 载 缓存目录,我先用命令的方法,之后我会介绍如何修改fstab文件,做到启动的时候自动挂载
  1. cd /mnt/usbdisk/ttnode1
  2. mount -t overlay overlay -o lowerdir=/mnt/usbdisk/static_cache,upperdir=./upper,workdir=./work,index=off,nfs_export=off  ./mnts
复制代码
如果执行完以上两条语句,没有任何错误提示,那么恭喜你,我们的缓存目录已经挂载成功了
/mnt/usbdisk/ttnode1/mnts这个目录现在就被挂载到了一个Overlay文件系统,
这个文件系统的底层(lowerdir)/mnt/usbdisk/static_cache
上层upperdir)/mnt/usbdisk/ttnode1/upper
工作目录(workdir)/mnt/usbdisk/ttnode1/work
我们如果查看/mnt/usbdisk/ttnode1/mnts这个目录,里面会有/mnt/usbdisk/static_cache目录中的所有文件
我们以后对/mnt/usbdisk/ttnode1/mnts这个目录所做的全部修改都将被写入/mnt/usbdisk/ttnode1/upper
而/mnt/usbdisk/static_cache做为只读层(lowerdir)是不会被修改的

下面我们创建容器的时候把缓存目录指定为/mnt/usbdisk/ttnode1/mnts就可以了,
例如这样
  1. docker run -itd \
  2.   -v /mnt/usbdisk/ttnode1/mnts:/mnts \
  3.   --name ttnode \
  4.   --hostname ttnode1 \
  5.   --net=macnet --ip=192.168.2.2 --dns=114.114.114.114 --mac-address C2:F2:9C:C5:B2:94 \
  6.   --privileged=true \
  7.   --restart=always \
  8.   ericwang2006/ttnode
复制代码
当然这里用到了macvlan,如果不清楚可以看我的教程

用同样的方法我们可以继续创建/mnt/usbdisk/ttnode2, /mnt/usbdisk/ttnode3 你想开多少实例就开多少

3.如何开机自动挂载overlay文件系统
其实很简单,修改/etc/fstab文件, 增加一行
[hide=d30]overlay /mnt/usbdisk/ttnode1/mnts overlay defaults,lowerdir=/mnt/usbdisk/static_cache,upperdir=/mnt/usbdisk/ttnode1/upper,workdir=/mnt/usbdisk/ttnode1/work,index=off,nfs_export=off 0 0[/hide]
修改完这个文件,重启之前,请仔细核对,不要写错任何目录,否则可能造成系统不能启动

4.优点总结
这种方法做到了共享一份缓存,但是每个目录彼此独立,写入的操作不受任何影响。
5.补充一下


更多内容大家可以参考一下这里
https://www.cnblogs.com/liujunjun/p/12119513.html
https://www.cnblogs.com/liujunjun/p/12119673.html










作者: 297118122    时间: 2021-4-3 00:50
文件不是实时索引,假如一个容器恰好读取到,被别的容器删除了的缓存上是不是会假死

作者: 小魂2    时间: 2021-4-3 11:41
不太懂多开,按照论坛的openwrt多开甜糖失败

作者: lucktu    时间: 2021-4-5 13:17
我非常赞成优化这方面的操作,之前我也是用过楼主说的别人的方法,但是那个方法有一些不好的地方,以至于我现在都不用它了,直接每一个tt使用一个缓存,但这样比较浪费空间。

以前的有这样的问题:
1、容易出现“存储异常”,以致于降低本tt的“节点评级”;
2、各个甜糖产生的新缓存不能被彼此识别,需要手动restart。

所以强烈建议优化,也许楼主的不一定是最终方法,但一切改进的方法,都是值得尝试的。
作者: rambo9676    时间: 2021-4-9 03:09
太棒了...
作者: xinziwenqing    时间: 2021-4-9 08:20
学习受教了,谢谢
作者: lucktu    时间: 2021-4-9 09:52
本帖最后由 lucktu 于 2021-4-9 10:09 编辑

没想到楼主这么快就出教程了,好东西就是要分享,多谢!!

是的,甜糖是个玩具,从中能让我们理解和学到很多东西,获得很多快乐。

给大家两个建议:

1、不要用 /etc/fstab 的方式挂载,这方法对老鸟适合,新手容易把机器搞崩,建议用 mount 加入开机启动里,大不了起不来,机器不会瘫痪。
2、建议定期检查顶层文件,但有新文件时,自动合并到底层来,并删除顶层文件,提高文件利用率,增大缓存空间(杀掉docker-->移动文件-->重启docker)。
作者: w_anghe    时间: 2021-4-9 12:09
lucktu 发表于 2021-4-9 09:52
没想到楼主这么快就出教程了,好东西就是要分享,多谢!!

是的,甜糖是个玩具,从中能让我们理解和学到 ...

感谢关注!
关于在开机启动中挂载Overlay要注意一下,开机启动服务和docker服务启动有先后顺序
不同的系统处理方法会有所不同,要确保在docker启动前挂载好Overlay文件系统

作者: lucktu    时间: 2021-4-9 12:16
感谢楼主的经验,我已经用上了!

另外,上面的建议补充一下,如果顶层都删除,那么底层在下一次重启甜糖时,也是需要删除的,不能只是添加。官方说过,两个月以上的缓存可以删除。
作者: w_anghe    时间: 2021-4-9 12:29
lucktu 发表于 2021-4-9 12:16
感谢楼主的经验,我已经用上了!

另外,上面的建议补充一下,如果顶层都删除,那么底层在下一次重启甜糖 ...

可以每两个月折腾一次,用最新的缓存替换底层,我有空再写一个说明吧,怕说不清楚小白折腾乱了
作者: long1983    时间: 2021-4-9 20:49
学习新的知识
作者: lucktu    时间: 2021-4-9 21:34
本帖最后由 lucktu 于 2021-4-9 22:13 编辑

奇怪,都一个多两个小时过去了,为什么共享的是 682 个任务,其中一个甜糖 upper 目录新增了70个目录(任务?),而他的统计上却显示只有 683 个任务呢?(另外一个甜糖 upper 目录新增了35个目录,它那里显示 682 个任务。都是用低版本的服务器 app 看到的)

貌似对新增加的目录(任务?)识别有问题?增加又猛,以前也没有这样观察到过,对 Overlay 还很陌生,。。。继续观察中

感觉 upper 目录里面增加的不是真正的任务,而仅仅是一些目录,是虚的东西,最终以本 docker 下的合并目录(mnts)为准,。。。


作者: long1983    时间: 2021-4-9 21:50
mount: /mnt/sdc1/tt/1/mnts: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error.               报错    apt-get install nfs-common apt-get install cifs-utils   未解决
作者: lucktu    时间: 2021-4-9 22:11
long1983 发表于 2021-4-9 21:50
mount: /mnt/sdc1/tt/1/mnts: wrong fs type, bad option, bad superblock on overlay, missing codepage o ...

你没有完全按照楼主的目录进行测试,自己改了没有改对造成的,我也遇到过,仔细的把楼主的目录列个图表,自己对应修改吧,没有问题,也不需要你去安装那些所谓的缺失插件,一般不缺的。
作者: long1983    时间: 2021-4-9 22:14
lucktu 发表于 2021-4-9 22:11
你没有完全按照楼主的目录进行测试,自己改了没有改对造成的,我也遇到过,仔细的把楼主的目录列个图表, ...

  谢谢鼓励
作者: long1983    时间: 2021-4-9 22:40
lucktu 发表于 2021-4-9 22:11
你没有完全按照楼主的目录进行测试,自己改了没有改对造成的,我也遇到过,仔细的把楼主的目录列个图表, ...

   测试的 目录结构一样  也是一样的错误   应该是我的Ubuntu是精简版的原因吧
作者: cowcow    时间: 2021-4-9 23:53
很厉害的样子!
作者: 七哥来了    时间: 2021-4-10 05:12
感谢感谢
作者: long1983    时间: 2021-4-10 15:19
lucktu 发表于 2021-4-9 22:11
你没有完全按照楼主的目录进行测试,自己改了没有改对造成的,我也遇到过,仔细的把楼主的目录列个图表, ...

就是精简版的问题,现在安装了一个官方的原版是可以用的,没问题,
作者: lucktu    时间: 2021-4-10 16:24
lucktu 发表于 2021-4-9 21:34
奇怪,都一个多两个小时过去了,为什么共享的是 682 个任务,其中一个甜糖 upper 目录新增了70个目录(任务 ...

现在看来不简单啊,对于某些任务,他会有修改,修改的部分保存在 upper 目录里,所以 upper 目录里有的目录与底层的是一样的(但比它少),只是它的修改版,所以 upper 目录会增加很多目录而任务增加很少就是这个道理。
作者: virus0328    时间: 2021-4-11 08:17
感谢分享教程,让我们小白学到了更多知识
作者: chinapengwei    时间: 2021-4-11 15:29
学习了。。。。。
作者: wxrgh    时间: 2021-4-13 02:05
不懂,还是学习一下
作者: ngwk1984    时间: 2021-4-13 02:21
不太懂多开,按照论坛的openwrt多开甜糖失败
作者: w_anghe    时间: 2021-4-13 09:06
ngwk1984 发表于 2021-4-13 02:21
不太懂多开,按照论坛的openwrt多开甜糖失败

如果openwrt是主路由(或者单臂路由), 不能使用macvlan模式, 只能使用桥接网络, 再配合端口转发(upnp不能用)
作者: ledong    时间: 2021-4-13 15:07
学习一下。。。。。。
作者: wxrgh    时间: 2021-4-13 15:40
这只是解决了挂载问题,怎么再开一个甜糖的进程求指导
作者: w_anghe    时间: 2021-4-13 20:03
wxrgh 发表于 2021-4-13 15:40
这只是解决了挂载问题,怎么再开一个甜糖的进程求指导

https://github.com/ericwang2006/docker_ttnode
你参考一下我的教程吧,我这个不算是保姆级教程,但是我觉得关键点都说到了,如果还是不清楚,我建议你搜索一下论坛,有很多讲得非常详细的帖子。

作者: 海豚V靓仔    时间: 2021-4-14 00:09
看看怎么开机启动
作者: suychao    时间: 2021-4-14 18:37
非常感谢分享
作者: dcggcd    时间: 2021-4-15 11:19
看看,学习学习。。。。
作者: 109753786    时间: 2021-4-15 14:51
中间有一句我没弄明白,
(用同样的方法我们可以继续创建/mnt/usbdisk/ttnode2, /mnt/usbdisk/ttnode3 你想开多少实例就开多少)
是不是要用同样的方法在 ttnode2或ttnode3下面同样创建3个目录,并用命令挂载它们。而底层只读层路径保持不变呢?
作者: w_anghe    时间: 2021-4-15 16:53
109753786 发表于 2021-4-15 14:51
中间有一句我没弄明白,
(用同样的方法我们可以继续创建/mnt/usbdisk/ttnode2, /mnt/usbdisk/ttnode3 你 ...

是的,没错

作者: 小凹凸曼    时间: 2021-4-15 20:29
谢谢大佬的分享试试看
作者: heimu360    时间: 2021-4-16 16:04
学习学习,准备起飞。
作者: 1375317829    时间: 2021-4-16 17:31
本帖最后由 1375317829 于 2021-4-16 17:32 编辑

主要是没地方找最新的缓存文件啊,毕竟需要一直更新
作者: gouye    时间: 2021-4-17 02:14
太棒了...

作者: hyxdz    时间: 2021-4-17 16:52
学习一下!
作者: Flyingcats    时间: 2021-4-20 16:49
谢谢分享,十分有用,早就想合并了
作者: dpll1317    时间: 2021-4-22 23:41
在同一文件系统下,而lower不是必须的
如果没有特殊需要,我建议这几个目录都用ext4文件格式
作者: 周卫国    时间: 2021-4-23 18:44
甜糖多个容器共
作者: 周卫国    时间: 2021-4-23 21:48
还想请教一下,防火墙添加iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE之后是不是不能使用macvlan模式了
作者: w_anghe    时间: 2021-4-24 10:24
周卫国 发表于 2021-4-23 21:48
还想请教一下,防火墙添加iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE之后是不是不能使用macvla ...

可以用macvlan模式,没有影响
作者: lucktu    时间: 2021-4-24 13:33
从楼主发布以来,一直用到现在,已经彻底驯服了,很好用!
作者: mytt    时间: 2021-4-27 07:11
试试怎么使用
作者: Vimi    时间: 2021-4-27 15:35
感谢楼主分享,学习到了,马上开车
作者: 154510241    时间: 2021-4-27 15:44
有需求,希望做个详细教程
作者: rumomo    时间: 2021-4-28 06:04
感谢大神,看看
作者: guohegong    时间: 2021-4-30 09:44
谢谢楼主啊共享
作者: hux1974    时间: 2021-4-30 21:38
仔细的把楼主的目录列个图表
作者: lfy0425    时间: 2021-5-16 17:56
不错,值得学习一下啊
作者: ruyinmicc    时间: 2021-5-21 10:09
本帖最后由 ruyinmicc 于 2021-5-21 10:11 编辑

楼主的方法虽然共享了lowdir,但是不是没办法共享upper新写入的文件,而且过期的cache在lowdir也没办法自动替换吧
我想吧lowdir用目录连的形式直接共享所有的upper可行吗
overlay /mnt/usbdisk/ttnode1/mnts/.yfnode/cache overlay defaults,lowerdir=/mnt/usbdisk/ttnode1/upper:/mnt/usbdisk/ttnode2/upper:/mnt/usbdisk/ttnode3/upper,upperdir=/mnt/usbdisk/ttnode1/upper,workdir=/mnt/usbdisk/ttnode1/work,index=off,nfs_export=off 0 0
作者: w_anghe    时间: 2021-5-21 10:58
ruyinmicc 发表于 2021-5-21 10:09
楼主的方法虽然共享了lowdir,但是不是没办法共享upper新写入的文件,而且过期的cache在lowdir也没办法自动 ...

每隔一段时间重新整理一个新的lower层,不要尝试目录链接,我有空写个整理的脚本

作者: ruyinmicc    时间: 2021-5-21 16:53
w_anghe 发表于 2021-5-21 10:58
每隔一段时间重新整理一个新的lower层,不要尝试目录链接,我有空写个整理的脚本

是否是因为可能出现写入同名cache而产生冲突
作者: w_anghe    时间: 2021-5-21 20:55
ruyinmicc 发表于 2021-5-21 16:53
是否是因为可能出现写入同名cache而产生冲突

主要是.task扩展名的文件可能被不同的容器一起写

作者: 1027049779    时间: 2021-6-11 11:55
你好,我想问一下,我是在N1上跑的,内置emmc空间不够,是挂载硬盘的,怎么把挂载的硬盘弄成overlay
作者: xinziwenqing    时间: 2021-6-22 17:25
w_anghe 发表于 2021-5-21 20:55
主要是.task扩展名的文件可能被不同的容器一起写

想问下,想双开,比如按你教程配好目录挂载好,然后从新创建两个不同名不同MAC不同IP的容器,还需要用2021-5-21更新的那个脚本吗?
作者: w_anghe    时间: 2021-6-22 19:30
xinziwenqing 发表于 2021-6-22 17:25
想问下,想双开,比如按你教程配好目录挂载好,然后从新创建两个不同名不同MAC不同IP的容器,还需要用202 ...

那个脚本是你运行一段时间后,可能底层有些文件需要删除,上层可能有些文件新写入,用于合并的脚本。

作者: ghostvarg    时间: 2021-7-8 21:28
本帖最后由 ghostvarg 于 2021-7-9 09:09 编辑

shell 脚本这个用来删除lower过期文件,以及合并upper 的吧?
作者: bwsnb    时间: 2021-7-13 14:27
你的shell脚本的第11行和第14行,分别删了lower和upper层里面的重复文件,不应该只删掉底层重复的文件,然后将upper同步到lower层吗? 你这里没有同步,直接将两边的重复文件都删了。一份也没保留,最后只同步了所有不重名的文件,是不是不太合适呢?
作者: w_anghe    时间: 2021-7-14 01:20
bwsnb 发表于 2021-7-13 14:27
你的shell脚本的第11行和第14行,分别删了lower和upper层里面的重复文件,不应该只删掉底层重复的文件,然 ...

没问题,那些就是应该被删除的文件,如果你认为有问题,可能是你还没完全理解overlay文件系统的运行机制。

作者: 炫蓝    时间: 2021-7-19 18:49
这个法子简直了,绝!
作者: Zy143L    时间: 2021-7-29 00:24
楼主测试过挂载over文件系统后 甜糖还会报磁盘原因的评级吗?
作者: skill7899    时间: 2021-8-14 14:15
rsync -av  $upper/* $lower
若是同盘,改成 mv $upper/* $lower 更好
作者: lucktu    时间: 2021-8-22 11:37
本帖最后由 lucktu 于 2021-8-22 12:17 编辑

昨天官方出了一个可以多实例共享缓存的 docker 版本(在QQ群里),发现还不错
但是发现他们的针对我们ubuntu用户要“开启swap限制”,降低服务器性能10%,感觉这点不够好。
感觉楼主的程序小,占用内存小,性能强,有收星提现的功能。

楼主能不能参考改进一下?感觉这种共享缓存的方式,有时启动时不大稳定,不能正确识别缓存,没有官方的好,多个实例共用一个目录。
作者: w_anghe    时间: 2021-8-22 15:37
lucktu 发表于 2021-8-22 11:37
昨天官方出了一个可以多实例共享缓存的 docker 版本(在QQ群里),发现还不错
但是发现他们的针对我们ubun ...

是的,官方出了docker,我的那个估计已经完成历史使命了,谢谢大家支持

作者: shikkoku    时间: 2021-8-25 21:01
w_anghe 发表于 2021-8-22 15:37
是的,官方出了docker,我的那个估计已经完成历史使命了,谢谢大家支持

官方那个还是很多问题的,重启容器又要重新绑定一个新id。
作者: lucktu    时间: 2021-8-25 21:57
w_anghe 发表于 2021-8-22 15:37
是的,官方出了docker,我的那个估计已经完成历史使命了,谢谢大家支持

遗憾,我还是觉得你的好用一些,收入高,收星、提醒方便!
作者: w_anghe    时间: 2021-8-25 22:01
lucktu 发表于 2021-8-25 21:57
遗憾,我还是觉得你的好用一些,收入高,收星、提醒方便!

等我有空把收收星星提现功能独立成一个docker镜像

作者: lucktu    时间: 2021-8-29 17:52
本帖最后由 lucktu 于 2021-8-29 19:20 编辑

我又回来啦!

官方的很容易发生读写错误,造成报告“存储异常”,稳定工作不到 2 天就又来了,降级没收成。

这里的容易发生overlay违禁词语,请勿再发载不好,但中途比较稳定,比官方的好处理多了。当然还有一个问题就是缓存更新的问题需要自己处理(我已经写了点小代码处理掉了)。
作者: lucktu    时间: 2021-8-29 19:30
lucktu 发表于 2021-8-29 17:52
我又回来啦!

官方的很容易发生读写错误,造成报告“存储异常”,稳定工作不到 2 天就又来了,降级没收 ...

怎么老是出现“违禁词语”?修改不过来了?

楼主,请问如果一直用你的程序,而你不再更新,里面的主程序会不会自动更新?如果能,就没什么不好了吧?
作者: shikkoku    时间: 2021-8-31 21:40
lucktu 发表于 2021-8-29 19:30
怎么老是出现“违禁词语”?修改不过来了?

楼主,请问如果一直用你的程序,而你不再更新,里面的主程 ...

会自动更新。我安装的时候是208,会自动更新到233
作者: lyjhyjyes    时间: 2021-8-31 23:30
我的r2s openwrt里tf其余磁盘空间全分配给/dev/sdb,分区为/mnt/sdb,作为根目录挂载,并没有作为外部overlay挂载。本来打算如果挂了,换张TF卡或者重新刷机。目前能否直接设置docker目录为/mnt/sdb使用呢。
作者: w_anghe    时间: 2021-8-31 23:45
lyjhyjyes 发表于 2021-8-31 23:30
我的r2s openwrt里tf其余磁盘空间全分配给/dev/sdb,分区为/mnt/sdb,作为根目录挂载,并没有作为外部overl ...

修改/etc/docker/daemon.json这个配置文件可以修改存储路径,具体你搜索一下

作者: shikkoku    时间: 2021-9-2 10:34
本帖最后由 shikkoku 于 2021-9-2 10:45 编辑

威联通系统报错
  1. [653706.508196] overlayfs: unrecognized mount option "nfs_export=off" or missing value
复制代码
此选项需要Linux内核版本 > 4.16, 内核开启选项OVERLAY_FS_NFS_EXPORT


删掉参数后提示
  1. [654280.236289] overlayfs: upperdir is in-use by another mount, accessing files from both mounts will result in undefined behavior.
  2. [654280.248331] overlayfs: workdir is in-use by another mount, accessing files from both mounts will result in undefined behavior.
复制代码
不过甜糖app显示两个容器的缓存容量识别正常,应该可以忽略这条提示。
作者: shikkoku    时间: 2021-9-2 11:00
@w_anghe 合并脚本是否需要放在指定目录运行?还是随便找个目录放在定期运行就可以了?
作者: w_anghe    时间: 2021-9-2 13:38
shikkoku 发表于 2021-9-2 11:00
@w_anghe 合并脚本是否需要放在指定目录运行?还是随便找个目录放在定期运行就可以了?

随便找个目录就可以, 我脚本中用的都是绝对路径
作者: lucktu    时间: 2021-9-4 10:22
w_anghe 发表于 2021-8-25 22:01
等我有空把收收星星提现功能独立成一个docker镜像

现在的方糖好像不支持微信提醒,要他们的客户端,深觉不便;而电报又要跨栏运动,也不方便。

能不能搞一个其他的,例如:短信(不知有没有)、邮件通知?
作者: shikkoku    时间: 2021-9-4 11:16
lucktu 发表于 2021-9-4 10:22
现在的方糖好像不支持微信提醒,要他们的客户端,深觉不便;而电报又要跨栏运动,也不方便。

能不能搞 ...

有每日收益提醒,你要绑定官方微信公众号
作者: shikkoku    时间: 2021-9-4 11:21
呃,运行2天后,今天发现APP提示磁盘性能评级,节点变成低了。用的是3.5寸硬盘,非外接硬盘盒。
作者: w_anghe    时间: 2021-9-4 13:39
lucktu 发表于 2021-9-4 10:22
现在的方糖好像不支持微信提醒,要他们的客户端,深觉不便;而电报又要跨栏运动,也不方便。

能不能搞 ...

tg可以用,不过需要魔法上网。现在微信限制太多,做通知服务的都很难受。

作者: lucktu    时间: 2021-9-5 09:37
shikkoku 发表于 2021-9-4 11:21
呃,运行2天后,今天发现APP提示磁盘性能评级,节点变成低了。用的是3.5寸硬盘,非外接硬盘盒。

前一贴的提醒,谢谢!
此贴:查看一下,将降级的甜糖重启一下即可。我的SSD也会报告储存异常,我都怀疑是不是出问题了。
作者: shikkoku    时间: 2021-9-5 19:45
lucktu 发表于 2021-9-5 09:37
前一贴的提醒,谢谢!
此贴:查看一下,将降级的甜糖重启一下即可。我的SSD也会报告储存异常,我都怀疑 ...

重启后跑了7个小时又变成低评级了。还是评级原因还是磁盘性能……
作者: lucktu    时间: 2021-9-13 19:18
shikkoku 发表于 2021-9-5 19:45
重启后跑了7个小时又变成低评级了。还是评级原因还是磁盘性能……

我的两个实例同时运行时,剩余空间直接变成0了,我直接将那两个实例中没有的缓存全部删除了,剩余80g,现在跑好几天了,都是大大的优质网络
作者: shikkoku    时间: 2021-9-14 09:26
lucktu 发表于 2021-9-13 19:18
我的两个实例同时运行时,剩余空间直接变成0了,我直接将那两个实例中没有的缓存全部删除了,剩余80g,现 ...

那你这样和分开独立运行没什么区别。可能我用机械盘隔一段时间就会降低评级,因为我用官方镜像一样会这样。(官方镜像可以直接用同一个缓存文件夹,也不用错开config文件夹)
作者: lucktu    时间: 2021-9-14 13:44
shikkoku 发表于 2021-9-14 09:26
那你这样和分开独立运行没什么区别。可能我用机械盘隔一段时间就会降低评级,因为我用官方镜像一样会这样 ...

你的官方docker也像我的一样,容易降级吗?一两天就磁盘异常,被降级?

我这样也不是独立运行,有共享部分,等它满了清理一下,又会关好久。这清理可以程序自己处理。
作者: shikkoku    时间: 2021-9-15 10:22
lucktu 发表于 2021-9-14 13:44
你的官方docker也像我的一样,容易降级吗?一两天就磁盘异常,被降级?

我这样也不是独立运行,有共享 ...

是的,很容易磁盘降级。
作者: lucktu    时间: 2021-9-19 18:38
shikkoku 发表于 2021-9-15 10:22
是的,很容易磁盘降级。

看来官方的Docker,也没有解决这个磁盘异常的问题。你看我5天过去了,我的评级还是1,非常不错吧。

原来剩余空间60g,现在21g,还能坚持许多天。等他满了剩余空间变成0了,此时它会删除许多任务,这个时候暂时暂停,再合并他们的缓存共享、同时删除原来共享部分,那时剩余空间又会非常多,又可以管一段时间了、这也是没有办法的办法。
作者: 栈桥之茶韵    时间: 2021-12-6 17:17
为什么这期没做个视频呢?
作者: nxzasl    时间: 2022-2-18 23:46
请问,如果没有缓存目录
static_cache/
└── .yfnode
    └── cache
是否可以直接新建目录结构的空白文件夹来解决?
作者: jerry828    时间: 2022-4-10 10:36
感谢分享,有空尝试




欢迎光临 恩山无线论坛 (https://www.right.com.cn/forum/) Powered by Discuz! X3.5