以 Rdist 達成「分散管理,中央控制」機制

$Revision: 1.1 $
目錄
  1. 欲補充之內容
  2. 簡介
  3. 說明
  4. 實際範例說明
  5. 安全問題
  6. 其他問題
  7. 結論
  8. 作者與版權宣告

欲補充之內容

  1. 增加 rdist 設定檔案語法說明
  2. 評估使用效率
  3. 增列參考資料
  4. 充實 rsync 的介紹

簡介

rdist 為各大 Unix 平台上常見之一個工具程式,其用途為保持同一個檔案在多部不同 機器上的內容同步。可協助雙主機備援與遠端管理等工作。

本文將就在一個使用者眾多的區域或是廣域網路上如何以 FreeBSD 達成「分散管理,集 中控制」的目標作一探討。並以 rdist 這個工具的使用作為實例。

FreeBSD 為一功能強大且免費之 Unix 相容作業系統,可以將個人電腦有限的資源轉而 為整個區域網路提供各項服務,例如 WWW, DHCP, DNS, E-Mail, BBS, Gopher, Anonymous FTP, 以及 Samba 等等。更可以擔負 Internet Server 的重責大任 (如 Apache Org., Yahoo!, Walnut Creek CD-ROM, Internet Movie Database 等等知名公司所採用)。


說明

以下將分別簡單說明 rdistrsync 兩者的功能。

rdist

rdist,有 "remote distribution" 的意思。就是讓你能夠在多台機器上散播同一個 檔案。而它會在可能的情況下保留檔案的擁有者、群組以及更改時間。它也可以更新正在 執行中的指令。因此你可以用一台機器來管理多台機器的設定,可參考後面的範例。

rdist 的運作方式是透過 rcmd(3) 這個函數 (rsh 及 rlogin 等 "r" 字輩的指令都會 用到的函數) 來執行遠端機器上的指令,以達到安裝或是更新遠端檔案的目的。而使用者 可以寫一個設定檔,將所要執行的動作預先寫好,再將 rdist 指令置於 cron table 中, 以達到定時自動更新的功能。

事實上,在 FreeBSD 2.2.5 版本中,如果你將 rdist 的設定檔寫在 /etc/Distfile 這個檔案裡面,那麼 FreeBSD 會在每天執行的系統工作中 (/etc/daily 這個 script), 自動幫你執行 rdist ,並且將 Distfile 作備份。


rsync

rsync 與 rdist 相似的地方在於兩者都是使用 rcmd 的函數來跑。主要的不同點在於 rsync 並不用 Distfile 或任何設定檔,它直接以命令列的形式放在 cron table 裡面定 時執行,以備份你的檔案,保持遠端機器的檔案同步。


實際範例說明

以下就將舉一個實際的例子說明如何達到「分散管理,集中控制」的目的。

環境說明:
假設在一間公司,共有五個子網路 (Na, Nb, Nc, Nd, Ne),透過五個 router (Ra, Rb, Rc, Rd, Re) 與總公司連接。每個子網路各有一台 FreeBSD server 作為其區域 網路的管理主機 (Fa, Fb, Fc, Fd, Fe) 。現在要以總公司的 FreeBSD server (F0) 作為 中央控制的主機,分配 DHCP 與 DNS 的資料,並且將各種畫面設定統一 (例如 anonymous FTP 及 Telnet 的登入畫面)。
實作與設定檔案內容:

安全問題

目前常在 "r" 字輩的指令身上發現安全漏洞。對於 rdist 和 rsync 來說,目前的解 決方法大概就是使用 ssh (Secure SHell) 來取代 rsh 吧。rdist 本身也曾出現在 CERT 的安全 通報上面 (CA-96.14),因此使用起來自是需要格外的小心。其他關於此方面的問題, 也歡迎大家的指教。


其他問題

所用的 shell
在實作中,有碰到因為兩端用的 tcsh 版本不同(其實是因為 compile 時的參數 不同) 而導致 rdist 無法與另一台機器溝通。因此要注意兩端所用的 shell 版本是否 是造成你的問題之主因。可以參照上面的討論一律採用 ssh。

結論

雙主機備援
rdist 及 rsync 這兩樣工具除了可以應用在分散管理,中央控制的機制外,也可以當 作雙主機備援中用以使檔案同步的工具。若左以 ping 等網路工具,即可以提供不中斷的 服務 (適用於金融業)。
rdist 與 mirror 的比較
rdist 與常見的 ftp mirror 程式 "mirror" (以 Perl 寫成)相較之一大缺點在於無法 分段更新 (mirror 可以在一個設定檔案裡寫很多個站的設定,再用命令列決定要作哪一項 工作。),否則相信能夠更方便的使用。
管理上的優勢
本文在於介紹 rdist 這項工具,配合 FreeBSD 強大的功能,讓管理者能夠以最少的預 算,提供最佳的 Internet/Intranet 解決方案。更可以在大型的網路環境下,達到分散管 理與中央控制的目標,除增進使用效率,並且可以減少管理人力成本。
rdist 的一般性
須注意的是, rdist 並非只有 FreeBSD 才有,而是所有 Unix 系統上都可以存在的工 具,因此,本文內所討論的機器種類事實上是不限於 FreeBSD 的。你可以將它應用在充滿 各種不同 Unix 機器的環境下,相信依然可以發揮很大的效果。

作者與版權宣告

作者:陳彥銘

chenym@ms1.hinet.net
http://www.math.ncu.edu.tw/~chenym/

版權為原作者所有,歡迎無涉及金錢之任意轉載。


最後更動時間: $Date: 1998/01/02 02:51:11 $