开源中文网

您的位置: 首页 > FreeBSD > 正文

FreeBSD下网络备份Net Backup System的实现

来源:  作者:

安装、使用 Network Backup System 

NBS是什么? 
------------ 
NBS 是 Network Backup System 的缩写 , 这个系统主要是用来备份您的网络主机的资料 , 简单来说 , NBS 是一 个 client/server 架构的系统 , 也就是说您必须提供一台机器来提供备份服务(安装有磁带机或其他备份设备 , 一旦您 的 nbsd (NBS DAEMON) 成功地跑起来 , 您就能提供网路上的每一台网络主机备份的服务 , 并且还能提供恢复的服务 , 一旦主机数据毁损 ,即可利用此功能将数据恢复 . 
NBS 原理 
-------- 
NBS 使用 TCP/IP 为通讯协议 , 并采取 TCP 固定连接 , 数据安全性较高 , NBS采用 PORT 5000 为其通讯端口 , 备份 主机可以同时提供多台网络主机同时备份 , NBS的运作状况如下所示 : 

┌───────┐ <-------- request ---------- ┌───────┐ 

│ Backup │ 2 │ Network │ 

│ Server │ ----------- OK ------------> │ Host │ 

│ │ 3 │ │ 

└───────┘ <--------- data ------------ └───────┘ 

运行 nbsd 提供备份服务 1. 利用 setnbs 设定环境 

nbsd 读取 /etc/backup.servers来 2. 编辑 备份描述档(请参考 

{ How_To_Use). 

1.确认那台主机可以取得服务 3. 跑 nbs 来执行备份或回存 

2.确认可取得服务的主机要将 

数据备份到那个目录. 

3.确认可取得服务的主机的密码. 



一旦权限确认成功 , 即可开始提供服务. 


支持平台 
-------- 
目前该系统仅在 FreeBSD 和 Linux 上测试过 , 其它 Unix 系统如果提供 socket应能正常运行 . 

如何取得 
-------- 
ftp://weekend.3322.org/FreeBSD/NetBackupSystem-1.1.1r.tgz

Server 端的安装 
--------------- 
要安装 Server 端程序 , 解包后,进入 server 目录 , 编辑 Makefile 这个文件里的一个叫 INSTALL_DIR 的变量 , 这个 变量用来设定编译过后的程序该安装在哪个目录下 , 默认目录为 /usr/local/sbin , 改好后只要输入 

make 

即可完成程序的安装 , 如果默认的目录没变 , 在 /usr/local/sbin 下应该会有一个叫 nbsd 的 Daemon 程序 , 运行它 , 然 后 , 输入 

telnet (你的 ip address) 5000 

如果出现如下的信息的话 , 表示 nbsd 已经开始正常运作了 : 

Trying 192.168.1.1... 

Connected to polaris. 

Escape character is '^]'. 

Connection closed by foreign host. 

然后 , 请将下面的脚本写入你的系统初始文件里 , 如 rc.local(FreeBSD下是建立/usr/local/etc/nbsd.sh,方法自己查 FAQ) , 让每次系统一启动就能自动执行此 Daemon : 

echo "Network Backup System Daemon ..." 

/usr/local/sbin/nbsd 

至此 , Server 端已经安装完成 , 请参阅 How_To_Use 取得更详细的使用说明 . 

Client 端的安装 
--------------- 
安装 client 端程序 , 解包后进入 client 这个目录 ,然后编辑 Makefile 里的一个叫作 INSTALL_DIR 的变量 , 这个变量 用来指定 client 端程序该放到那个目录 ,如有需要请将其改成您所要安装的目录 , 默认的目录为 /usr/local/bin , 改好 后请打 

make all 

即可将程序编译安装完成 , 装完后 , 如果没有更改默认目录 , 则你会在 

/usr/local/bin 下看到两个档 nbs 和 setnbs , nbs 是该系统的 client 端程序 ,而 setnbs 则是用来设置环境用的 , 关于 client 端的详细用法 , 请参阅 How_To_Use这个档有关 client 端的说明 .

如何使用 NBS 系统 : 

Server 端 
--------- 
如果您的机器是要做为备份主机的话 , 请按照安装程序 , 将 server 端程序编译完成, 然后您会在 /etc/ 这个目录下发现有一个叫做 backup.servers 的文件, 这个文件是用来设定那一台主机可以将数据备份到您的备份主机上 , 这个档主 要有三个字段 , 分别为: (每个字段都须以“:”隔开) 

主机IP:备份路径:主机口令; 

分述如下: 

1. 主机 IP(or Domain Name) -> 即为要将数据备份到备份主机的 IP 地址或是Domain Name . 

2. 备份路径 -> 即当欲备份的主机将数据传过来时要放置的目录 . 

3. 主机口令 -> 即欲备份主机欲取得备份服务时所需传送过来的密码 . 

每一台欲备份主机都需在此文件内有一行描述 , 每行描述都须以『;』作为结尾 , 下面是一个例子 : 

假设有一台主机 ip 地址为 192.168.1.4 , 其数据将备份至备份主机的 /backup/polaris 

下 , 且其密码被设定为 test , 则此主机的描述行应该同下: 

192.168.1.4:/backup/polaris:test; 

当您将您网络上欲备份的主机的描述都写入此档后 , 这些主机就可以执行client 端的程序 ,开始将数据备份过来 . 至 此 Server 端的设定工作已经完成 , 需要注意的是 ,此描述文件内的『密码字段』并未编码 , 因此管 理 Backup Server 的管理员需特别注意此档案的权限 , 请将其设为只有 root 可以读写 ,即 chmod 0600 /etc/ backup.servers, 否则一旦被一般 user 看见 , 则此 user 如果又在某一台主机拥有账号 , 那么他就能将其数据备份到此 备份主机上 , 所以随时保持此文件只有 root 能读写是很重要的 . 

而密码栏的设定可以包括除了『;』之外的可见字符和空格 , 也就是说您可以设定一长字串当作密码 , 密码的给定需 要在 Server 端设好 , 也就是说 Backup Server 的管理员必须将密码设定好后 , 再告诉欲备份主机的管理员 , 让其 在 client 端作设定 . 

另外 , 密码字段的密码至少需要 4 个字符 , 因为密码是用来当作数据传送时的 KEY ,所以一定要设定 , 且至少需 要 4 个字符 . 

当您的备份系统开始运作后 , 一旦有 client 端一有 request , nbsd 会将 client端的访问记录放在 /var/log/nbsd 这个文件 内 , 备份主机管理员应随时查看这个文件 . 

Client 端 

--------- 

如果您的机器是某台备份主机的 client 端 , 请按照安装程序将 client 程序安装完成, 在安装完成 client 端程序后 , 请 向您的 备份主机 的管理员取得下面的数据 : 

1 . 您的备份密码 . 

2 . 备份主机的 IP Address 或 Domain Name . 

取得您所需的数据后 , 就可以开始设定 client 端了 , 请依照下面的步骤来做 : 

Step 1 : 

首先请打 setnbs , 此时会出现一个有四个选项的 menu , 您可以利用这个 menu来设定您的 nbs , 如果您选择 1 , 就 可以设定您的备份密码 , 这个密码会存于/etc/config.nbs 里 , 此檔只有 root 才能读写 , 如果您选择 2 的话 , 就会设定 您的备份主机的地址 , 此地址可以是 ip 也可以 domain name , 1.0.1r版以前 , 备份主机的地址是利用系统变量去存取 的 , 也因此无法利用 crontab来定时备份 , 因此现在改用 档案去存此变量 , 备份主机的地址也将存在/etc/ config.nbs 里 , 如果你选择 3 , 则可设定两者 . 

Step 2 : 

设定完后 , 再来就是编写『备份描述档』, 这个描述档主要是让您设定那些目录要备份 , 备份后的档名为何 , 主 要的语法描述如下 : 

#comment 

package --> 一定要以 package 开头 , 否则 { } 内的描述就会被忽略 . 



what: /etc; --> 设定那个目录要备份 , 需以 『;』做结尾 . 

filename: etc.tgz; --> 设定备份到备份主机上的文件名 , 也需以『;』做结 . 



# another package 

package 



what: /user; 

filename: user.tgz 





...... 

注意: what: 之后的目录不可以为 symbol link 的目录 , 否则会被略过不予备份. 

ps . client 的目录下有一个叫 example的目录 , 其下有一个参考用的描述档. 

Step 3 : 

写好描述档后 , 您就可以开始备份了 , 只要打 (描述档为 backup) : 

nbs -backup backup 

即可将描述文件内所描述的目录备份到备份主机上 . 

如果您想将描述文件内的数据回存回来 , 您也只需打 : 

nbs -restore backup / 

第三个参数“/”表示数据从根目录下恢复回来 , 如果您想将数据恢复到其它目录只要更改这个参数即可 . 

如果您想让系统自动备份 , 请将您的描述档写好后 , 将备份指令写入 crontab 里 ,如此系统即可自动定时备份了

Tags:Net Backup System
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明