openmediavault简称OMV,是一款非常好用的开源NAS,今天来做一下双机热备。此处说双机热备不准确,我采用的是在备用服务器上进行增量备份(出于安全性考虑,万一主服务器上的文件被删了呢)。也可以选择实时同步(rsync+inotify),做实时同步的话主服务器上删了,备用服务器上也会同步删,不符合我的需求。
该方式只能实现NAS上的文件备份,备份不了用户账号和用户组及系统设置,这个需求可通过U盘对OMV系统进行备份,官网有介绍。我是esxi虚拟机部署,直接导出虚拟机到另一台服务器上导入并创建服务器。
一、首先是在主服务器上进行操作,开启Rsync服务及相关配置。

在OMV的服务中开启Rsync。

添加模块。

添加模块:共享目录、共享名称(后面命令行中要用)、用户(后面命令行中要用),取消chroot,右下角保存。
至此服务端已完成!!!就这么简单!
二、然后是在备用服务器上进行操作。
SSH登录备用服务器

rsync -av shen.yang@10.180.5.11::01_公共区 /srv/dev-disk-by-uuid-cca2680e-3a12-4b67-8a3d-a7eccba9d433/01_公共区
绿色字为增量同步命令

此处解释下,"-av":a是归档模式,表示以递归方式传输文件,并保持所有属性,v表示打印一些信息,比如文件列表、文件数量等。shen.yang为前面在OMV后台设置的用户。10.180.5.11是主服务器。双冒号后面的01_公共区也是前面在OMV后台设置的参数,即共享名称。/srv/dev-disk-by-uuid...........这是备用服务器上OMV共享文件的真实路径,如看不懂可翻我前一贴。
那么接下来就是考虑如何自动执行命令了,总不至于每次手动在命令行执行这条命令吧
怎么做?写个shell小脚本咯

cd / ----切换到根目录
touch backup.sh -----创建backup.sh文件,即shell脚本。
ls ----查看文件已创建成功
root@openmediavault:/# vim backup.sh ----通过vim工具打开sh文件,打开后输入i进入插入模式
往backup.sh中插入命令

#!/bin/sh ----固定格式

root@openmediavault:/# chmod +x backup.sh ----给脚本执行权限
![]()
root@openmediavault:/# vim /etc/crontab ----编辑crontab文件,类似Windows上的自动任务

在该文件最后面加入红框内容,表示每天凌晨2点30,以root身份执行backup.sh这个脚本。
文中只做了01_公共区的增量备份,实际上有多少个共享文件夹就在脚本中写多少条rsync命令即可。
至此就能实现OMV备用服务器在每天凌晨2:30自动执行增量备份,具体备份频率可按需求更改。也可通过inotify工具实现两台机器实时同步,这样一是会占用服务器带宽,二是用户删了主服务器上的文件,备用服务器也会被删不安全,增量备份则没有这个问题。
本文介绍了如何在OpenMediaVault (OMV) 中设置Rsync服务进行NAS双机热备。主要步骤包括在主服务器上开启Rsync服务,配置共享目录和用户,然后在备用服务器上通过SSH登录并使用rsync命令进行增量备份。此外,还讲解了如何编写shell脚本结合crontab实现自动备份,确保每天凌晨2:30自动执行增量备份。这种方法仅备份文件,不包括用户账号和系统设置,对于完整系统备份建议使用U盘或虚拟机导出。
1051

被折叠的 条评论
为什么被折叠?



