Press "Enter" to skip to content

使用群晖 active backup for business备份 mikrotik 存储

背景

因为我使用mikrotik的容器功能,在我的CHR的ROS上运行了一些容器。

难免的这些容器会使用mikrotik上面的存储来进行一些数据和配置的持久化。那么就需要考虑如何来给这些数据进行备份。

开始我考虑用mikrotik自带的SMB功能,然后群晖的备份软件也支持使用SMB协议来备份。

试用的时候发现ROS的SMB功能有个奇怪的问题,他的安全配置里面的接口我必须要选择ALL,不然他就会阻止我内网的访问,然后我就能看到很多广域网来扫描我们SMB的请求。也在网上看到 ROS关于SMB的一些漏洞问题,就很恶心。

SMB好像还有一个问题,就是增量备份的问题。尽管我选择了增量备份,但是他还是每次都会进行完整备份,好像增量备份必须要用RSYNC? 没去研究。

方案

我最后使用的方案是在我的ros上面的container服务里跑一个 rsync的容器服务,然后用他挂在我ROS上的存储,然后再用群晖的备份软件来连这个容器进行文件备份。

我使用的容器是 axiom/rsync-server

https://hub.docker.com/r/axiom/rsync-server

整个容器创建和备份挂载方案都很简单,我这里说下我遇到的坑。

坑1, 这个容器他有个IP白名单机制:

开始我正常创建容器,然后群晖尝试去挂在这个容器,怎么尝试都会报错说权限不对,因为我对这个ros上面跑的容器感觉不太靠谱(之前的实践也证明,很多配置后面新增或者中途改了都不生效)。所以我的怀疑方向都是在容器这边。

我进入到容器排查rsync配置,发现用户名、密码、存储卷都正常注入进来了,当我看到rsync的配置的时候,我发现他有个IP白名单机制。。。默认允许 172 192的网段,没有10的, 而我用的内网正好是10网段的。。心里一万个草利马。

又回头看容器的文档,确实有个配置白名单环境变量。

坑2,mikrotik的容器环境变量后续新增不生效问题:

接坑1,我新增了IP白名单之后发现还是不行,进到容器里面发现IP配置没有注入进来。

我怀疑这个应该是ros容器的问题(前面改密码的时候实践了,已经有的环境变量,你就修改他是可以的),新增的环境变量估计不能生效。

将容器删除,重新创建,配置生效。

最后我成功实现了使用群晖的备份软件来备份ROS上面存储的方案,现在我可以帮前面的恶心的SMB共享关掉了!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注