用树莓派安装的OMV系统备份群晖NAS文件

群晖nas是比较专业的存储服务器,自身有比较完善的数据安全措施,但这种安全仅在于本身,如果多块硬盘损坏或系统错误等,这种保护就没有意义,实际生产中广泛采用异地容灾备份的措施来解决,在大型企业、政府部门或重要场合都是必做的。个人家庭没有企业一样的严格保护要求,但多个备份保存一些有价值的数据也是必要的。

我有一台群晖nas服务器,主要用来保存各种数据,同时也安装了多种服务,但对部分核心数据还是担心服务器故障造成不可挽回的损失,同时我还有一个树莓派,并在其中安装了OMV(OpenMediaVault)开源nas系统,并通过USB挂了一个比较大的硬盘,所以尝试把部分关键数据在树莓派上再做一个备份,这里记录一下实现过程。

一、方案选择

1、手动方式

两个系统都是nas,共享文件服务都是标准配置,可以直接在一个系统中连接另一个系统共享文件夹,然后将要备份的数据拷入其中就可以了,简单方便直观,如果不考虑比较及时的数据更新,这是一种比较好的方式。

2、自动方式

两个系统都是Linux,而且群晖也有专门的套件内置了各种协议的备份方式,所有考虑采用通用的Rsync协议来进行备份。

在群晖中用Hyper Backup套件来做客户端,在其中新建rsync备份任务,在树莓派OMV系统中启用自带的rsync文件服务协议。

采用自动方式后,可以在配置好服务后定期执行自动备份,并且可以保留多个版本,是比较规范的一种保护方式,数据更新周期可以自定义,群晖运行了多种服务,数据更新快,用自动方式能比较好地同步各种数据。

根据以上的方案,对照rsync服务标准,大概就是树莓派做服务器,群晖做客户端,以客户端推的方式进行数据备份。

二、开启OMV的rsync服务

1、开启873端口

ssh终端进入树莓派后台,防火墙放行873端口

sudo ufw allow 873

如果树莓派是与外网群晖连接,则要做好将873端口正确NAT到路由器的外部端口上。

2、建立用于备份数据的共享文件夹

登录OMV,点添加,建立一个共享文件夹,对该文件夹正确编辑好访问权限,主要是以后在群晖中用该帐户密码能读写该文件夹。

3、开启OMV的rsync服务

3.1 开启rsync服务

登录OMV,选服务,Rsync,点启用并保存。

3.2 建立服务模块

在Rsync服务中选模块,点添加,选择要用于保存备份数据的共享文件夹,并按要求填入用户帐户信息。

三、群晖建立rsync备份任务

1、安装Hyper Backup套件

2、在HB套件中建立rsync任务

启动HB套件,点+,数据备份任务,选rsync,下一步,进入服务器连接设置

其中服务器类型选兼容rsync服务器,服务器名称添加树莓派的ip地址,传输加密选择关,端口填873或映射后的端口,帐户密码填第二步模块设置时的帐户。如果设置正确,群晖就能正确连接并自动显示可用的模块,否则提示错误。目录可以自定。

后面的选项根据个人需要填写,一般没有原则性的问题。

四、问题

1、共享文件夹的访问权限设置是关键

由于两边都是nas文件系统,全部是图形化配置界面,相对纯终端界面,各种配置非常简单,不需要自己编制配置文件,但共享文件夹的访问权限设置不对就会导致群晖不能正确登录并写入共享文件夹,具体可以参与OMV系统的共享文件夹设置,网络上有较多的教程。

2、外网访问的IP问题

Rsync是能够远程访问的,但是不支持URL,也就是不能用域名代替ip,而一般情况我们没有固定公网ip,这样就会导致HB配置的备份任务几天后失效。

备份树莓派系统 更换成大容量卡

树莓派是一个学习的好工具,也是一个非常稳定的服务器,如果安装了一些了长期使用的服务,则系统的备份很重要,重新部署会非常痛苦。同时,很可能我们刚开始的时候安装的SD卡比较小,比如8G或16G,很快就没有空间了,更换成更大的卡十分必要。

网络上有各种关于系统备份和扩容的文章,可以提供很好的指导,从仅完成备份和扩容的角度看,其实可以比较简单地完成上述目标,不用很复杂的步骤和多个软件,而且系统可以备份成文件方便保存。

只需要两个步骤:

第一步 备份系统为img文件

1.用SSH工具进入树莓派后台。无论从什么地方,只要能连入系统就可以,没有打开ssh功能的按网络上的教程开启。

2.以sudo fdisk -l 命令查看挂载的磁盘信息, 确认需要复制的卷

在命令反馈比较多的信息时,大家可以对照磁盘的容量来辨认需要复制的SD卡的路径,如上图59.5 GiB, 63864569856 bytes,就表示与系统正在使用的卡信息一致,前面的/dev/mmcblk0 就是以后复制命令中要用到的绝对路径。

3.用dd命令将整个系统盘复制到指定位置,并保存为img文件

dd if=/dev/mmcblk0 of=/mnt/win/raspberrypi.img bs=1MB

以上if后面是树莓派系统文件路径,of后面是需要保存的文件的位置和名称,一般保存在插在USB口的设备中比较方便,U盘或移动硬盘都可以,具体路径可以在系统后台cd到它所在的目录,然后记下来。

第二步 将img文件写入新的SD卡中

1.下载balenaEtcher软件并打开运行,将第一步保存的img文件直接刷写进新卡。

这个软件是绿色是,不需要安装,最重要的是它可以直接刻写数据,无需事先对新盘进行格式化和确定文件系统,它是真正原版复制,在写盘的时候原文件是什么系统,写好的盘就是什么系统,所以不用管拿来的新盘是什么格式或有没有数据,直接刻就行了。

2. 新卡插入树莓派并开机运行,并设置将系统应用到整个SD卡

ssh进入系统后台,运行sudo raspi-config命令

选第7项,然后确认,退出面板,按系统要求reboot重启。

这样原有的系统完全一样地在新卡上运行了,并利用了新卡的整个容量,不再需要任何其它的配置。

说明:

1. 复制系统的命令中的路径,参数要注意,确保准确

2. 如果原系统容量不大,复制速度还是比较快的,大概超过10MB/s,但刻写有可能相对比较慢,刻写过程比较可靠。

3. 复制出来的文件其实是整个SD卡,有人通过调整大幅减少保存镜像文件的大小,我没有试过,不知道是否可行,最重要的应该是保证系统完全一样,避免以后不可预知的错误。