Next Previous Contents

3. 簡介

這裡所描述的架構是從 1996 夏季開始在 日內瓦大學, CUI 所發展的. 這個資訊系有許多的伺服器, 及一些個人電腦, 可依用途分為兩類:

以下是我們發展這種架構的目標: 這些限制條件, 使得我們把所有的組態都以 BootPROM 工具程式為基礎. 我們先是針對來自 Bootix GmbHTCP/IP BootPROM 發展. 而現在更加入對 preboot execution environments 標準的支援. 我們讓這些工具程式也可以與任何 PXE 相容的 BootPROM 一起使用. PXE BootPROM, 也稱為 LanDesk Service Agent, 已跟隨著大部份內建網路卡的主機板一起散布. 其他關於 PXE 及 Intel Wired for Management 的標準, 可透過 http://developer.intel.com/ial/wfm/tools/index.htm 取得.

3.1 BootPROM 及 硬碟機

BootPROM 已出現很長一段時間, 在此之前我們把它單獨用於無磁碟機的電腦(採用網路為基礎的磁碟模擬或者下載一份 ramdisk). 從 1996 年起, 這份 How-to 提出使用 BootPROM 在自身具有硬碟機的電腦下使用, 將更有趣. 由於這樣將可得到雙重得優點:

至今, 我們相當高興見到所有的電腦製造商已朝向同樣的目標. 並把 BootPROM 列為新電腦標準的一部份.

你仍然可以照 的方式, 使用下列所敘述的工具程式. 這些工具程式對無磁碟機的電腦而言, 其實就是一個小的 Kernel/ramdisk 載入器. 但我們不鼓勵如此使用.

3.2 網路

日內瓦大學 擁有 B 級網域, 分割成許多子網路. CUI 共使用了四個子網路, 其中之一供學生使用.

原本,我們的個人電腦使用兩種網路通訊協定: IPX 與 IP. IPX 這一類, 我們由一台 Novell Netware 3 的伺服器共用 DOS 與 Windows的軟體. IP 這一類, 我們由一台 SUN 伺服器靠 NFS 共用 Linux 軟體及個人的分割區.

在我們最新的架構中, 已不再使用 IPX 通訊協定. 改由一台 Unix 伺服器 (可以是 Linux 或 SUN) 來擔任, Linux 用戶端可透過 NFS, 而 DOS 與 Windows 則由 SMB (NetBIOS) over TCP/IP 共用軟體及使用者的檔案. 因此, 我們對所有的作業系統都使用單一個 home 目錄.

3.3 它是如何工作

  1. 用戶端個人電腦開機後, 在 TCP/IP BootPROM 或 PXE Boot ROM 獲得控制權之前先做自我測試.
  2. BootPROM 發出 BOOTP/DHCP 要求, 以取得 IP 組態參數.
  3. 如果伺服器收到個人電腦所送出的要求, 就會送回 BOOTP/DHCP 回應, 內容包括用戶端的 IP 位址, 預設通訊閘道, 及開機映像檔. 否則, 伺服器會忽略這個要求.
  4. 而在 PXE Boot ROM 的環境下, 將有更多的訊息在用戶端與伺服器之間作應答, 用以決定安裝參數.
  5. BootPROM 由 TFTP 通訊協定從伺服器下載開機映像檔, 這個映像檔其實就是一個名為 BpBatch 的小程式, 也就是我們的開機時期批次檔案的解譯器.
  6. 啟動批次檔解譯器之後. 幾乎是只有它單獨存在記憶體中. 除了 preboot execution environment (由 Boot ROM 提供)外, 這時作業系統尚未載入.
  7. 這個批次檔解譯器會檢查 BOOTP/DHCP 給命令列的所有選項, 特別是 BpBatch 要處理的. BpBatch 以 DHCP 選項 155 取得命令列參數. 如果選項 155 是空的, 它會改由 DHCP 選項 135 取得參數 (PXE 2.0 BootPROM 只能收到 128-135 的選項).
  8. 透過批次作業檔, 我們可以做一些事如:
    1. 載入多國語系鍵盤對應.
    2. 透過遠端伺服器 (Unix, Radius 或 Windows NT) 做使用者身份認證.
    3. 讓使用者決定使用, 哪種可用的作業系統.
    4. 決定作業系統後, 自動重新分割硬碟並快速格式化部份分割區.
    5. 檢查其硬碟內的資料是否與其選定的作業系統的最新設定一制, 如果不是, 它會透過 TFTP 通訊協定下載最新映像檔.
    6. 解壓縮所選定的作業系統的映像檔到主分割區.
    7. 如果選擇 Linux, 載入 Kernel 並啟動它.
    8. 如果選擇 DOS 或 Windows, 就更新硬碟資料並啟動電腦.
    DOS and Windows 3.1, 我們使用免費的 Microsoft LanManager for DOS (搜尋網路上與你最近的映射站台; 應該是有四個名為 disk1disk4 的檔案) 為 SMB 用戶端. Microsoft LanManager 可以透過 DHCP 動態設定組態. 在登入後, 使用者面對的是 DOS, 且只要打 win 指令就可啟動 Windows 3.1 了. 有一點, 在這要特別注意 DOS 及 Windows 3.1 看起來像是安裝在用戶端的自身電腦. 對 Windows 9598 及 Windows NT/, 我們也使用 Microsoft SMB 用戶端 (稱為 Client for the Microsoft Network), 它也支援透過 DHCP 動態設定組態. 為了降低網路負載我們採用了 Shared LAN Cache, 這是一個強而有力的網路到硬碟之間的快取程式.
學生所使用的電腦可以很暴力的直接關掉電源而不會有任何問題, 因為硬碟的資料在每次開機時都會重新建立.

對於比較 "安全的" 電腦 (如 助教的電腦), 如果電腦已用上述系統開機過一次, 則開機腳本只會改由本機硬碟開機, 而不再清理硬碟. 這樣可以允許使用者保留資料在硬碟中. 而當整個架構爛掉了, 使用者只需從開機選單挑選所要的系統, 則又能得到一個全新的安裝.

3.4 相關的非商業文件

這種組態已經成功的移殖到世界上的許多地方. 少數人已經開始篆寫一些技巧與提示來完成這份 How-To. 如果您也曾做過, 但在本文中未被引用歡迎送一份 e-mail 給 mvuilleu@bpbatch.org. 如果您在重建這種組態中遇到問題, 請再詳細看一次文件 !

你也可以寄給我你的 BpBatch 腳本程序檔, 如果你想讓它放在 範例腳本程序精選中.


Next Previous Contents