安裝、使用 Network Backup System


甚麼是 NBS ---------- NBS 是 Network Backup System 的縮寫 , 這個系統主要是用來備份您的網路主機的資 料 , 簡單來說 , NBS 是一個 client/server 架構的系統 , 也就是說您必須提供一台 機器來提供備份服務 , 一旦您的 nbsd (NBS DAEMON) 成功地跑起來 , 您就能提供網 路上的每一台網路主機備份的服務 , 並且還能提供回存的服務 , 一旦主機資料毀損 , 即可利用此功能將資料回復 . NBS 原理 -------- NBS 採用 TCP/IP 為其通訊協定 , 並採取 TCP 固接式相連 , 資料安全性較高 , NBS 採用 PORT 5000 為其通訊埠 , 備份主機可以同時提供多台網路主機同時備份 , NBS的 運作狀況如下所示 : 1 ┌───────┐ <-------- 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://mis.im.tku.edu.tw/pub/cooly/NBS/nbs-1.1.1r.tgz
或本站 http://www.freebsd.org.hk/files/unixfreeware/nbs/nbs-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 128.1.1.1... Connected to polaris. Escape character is '^]'. Connection closed by foreign host. 然後 , 請將下面的敘述寫入您的系統初始檔裡 , 如 rc.local , 讓每次系統一啟動就 能自動執行此 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 DN) -> 即為要將資料備份到備份主機的 IP 位址或是其 Domain Name . 2. 備份路徑 -> 即當欲備份的主機將資料傳過來時要放置的目錄 . 3. 主機通行密碼 -> 即欲備份主機欲取得備份服務時所需傳送過來的密碼 . 每一臺欲備份主機都需在此檔內有一行描述 , 每行描述都須以『;』作為結尾 , 下面是 一個範例 : 假設有一台主機 ip 位址為 128.1.1.4 , 其資料將備份至備份主機的 /backup/polaris 下 , 且其密碼被設定為 test , 則此主機的描述行應該同下: 128.1.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 裡 , 如此系統即可自動定時備份了 . 作者 ---- 此程式的作者為 : 淡江大學 資訊管理學系 第十屆 C 班 張欽隆 ( Cooly Chang ) E-Mail : cooly@mis.im.tku.edu.tw