遠程啟動系統

遠程啟動系統

遠程啟動系統是通過使用伺服器硬碟上的軟體來代替工作站硬碟引導一台網路上的工作站。工作站的網卡上必須裝有遠程啟動ROM晶片。網卡的遠程啟動ROM晶片以不同的形式向伺服器發出啟動請求信號的廣播,伺服器接收到啟動請求信號後自動建立一個連線來回響它,根據不同的機制,向工作站傳送啟動數據,工作站下載完啟動數據後,系統控制權由Boot ROM轉到記憶體中的某些特定區域,載入啟動檔案並引導預先上傳或安裝在伺服器中的共享作業系統到工作站記憶體中運行,完成一次遠程啟動。

簡介

遠程啟動系統(Remote boot system)是通過使用伺服器硬碟上的軟體來代替工作站硬碟引導一台網路上的工作站。工作站的網卡上必須裝有遠程啟動ROM晶片。每一種ROM晶片都是為一類特定的網卡而製作的,它們之間不能互換。網卡的遠程啟動ROM晶片以不同的形式向伺服器發出啟動請求信號的廣播,伺服器接收到啟動請求信號後自動建立一個連線來回響它,根據不同的機制,向工作站傳送啟動數據,工作站下載完啟動數據後,系統控制權由Boot ROM轉到記憶體中的某些特定區域,載入啟動檔案並引導預先上傳或安裝在伺服器中的共享作業系統到工作站記憶體中運行,完成無盤工作站的遠程啟動。

遠程啟動的分類

常用的遠程啟動方式可分為IPX、RPL、PXE、BOOTP和網路虛擬硬碟等。IPX 方式是早期的遠程啟動方式, 只需在實模式下連線遠程伺服器, 從遠程伺服器下載啟動映像檔案, 由啟動映像檔案直接引導MS DOS 作業系統, 啟動過程簡單並且啟動速度很快。

PXE 和BOOTP 方式是用於Window s98 的遠程啟動方式, 並能兼容Window s2000/XP 遠程啟動, 但啟動過程比較複雜, 工作站開始啟動初期在實模式中下載作業系統引導程式和作業系統核心檔案, 啟動過程的關鍵是在系統核心的控制下由實模式向保護模式的轉換。

網路虛擬硬碟遠程啟動方式適用於Window s2000/ XP的遠程啟動方式。在遠程啟動初期可利用PXE 或BOOPT遠程啟動方式, 在實模式下連線伺服器並下載啟動映像檔案和系統配置檔案, 經系統配置檔案套用iSCSI 技術將部分記憶體結合伺服器的一塊硬碟空間, 為工作站虛擬出本地硬碟, 在網路虛擬硬碟中實現由實模式轉換到保護模式。

IPX遠程啟動

IPX遠程啟動方式採用NovellNe tWare3.12或NovellNet Ware4.xx作伺服器的作業系統,工作站與伺服器之間使用IPX網路協定進行通信,並從伺服器下載啟動映像檔案進行遠程啟動.IPX(InternetworkPacketExchange,網間數據包交換)協定是Novell公司為了適應計算機網路的發展而開發的通信協定。

在無盤工作站啟動時,將向軟碟機發出一個讀申請,網卡上的BootROM晶片截獲這個讀申請,並把它傳送給網路中的伺服器,伺服器使用從遠程啟動映像檔案NET$DOS.SYS中得到的信息連線工作站,並將遠程啟動映像檔案NET$DOS.SYS中包含的MSDOS系統檔案、IPX.COM、NETX.COM和LOGIN.COM等檔案下載到工作站的記憶體中,完成無盤工作站的遠程啟動。

RPL遠程啟動

RPL(RemoteInitialProgramLoad,遠程啟動程式載入)是Microsoft產品,使用DLC和NetBEUI協定.DLC(DataLinkControl,數據連線控制)協定是微軟在WindowsNT4.0Server中為無盤工作站專門開發的協定,該協定與NetBEUI協定一起完成對無盤工作站的遠程引導控制,並在無盤工作站與伺服器之間建立連線後協助其他協定(如TCP/IP、IPX/SPX等)進行工作。RPL遠程啟動服務內置於WindowsNT4.0Server系統.

當一台無盤工作站打開電源時,首先進行系統自檢,接著網卡中的RPLROM廣播一個包含工作站網卡ID(MAC地址)號的FIND幀(即引導請求),與已經運行DLC協定的遠程啟動伺服器進行通訊.遠程啟動伺服器接收到FIND幀並檢查遠程啟動資料庫來查看是否已經存在一個使用此網卡ID號的工作站記錄.如果遠程啟動伺服器已經保存這個網卡ID號的工作站記錄,匹配成功則進行遠程啟動,引導預先安裝在伺服器中的Windows網路版.

如果匹配不成功,則不能進行遠程啟動,遠程啟動伺服器記錄下這個網卡ID號而不引導工作站,系統管理員可以使用遠程啟動管理器來將這個網卡ID號記錄轉換為一台工作站記錄。

RPL採用NETBEUI通信協定,若傳送過程中有錯誤幀,RPL會要求整個數據包重發.在工作站較多的情況下,出錯的機率較高,因此在這種情況下啟動速度稍慢。

PXE遠程啟動

PXE(PrebootExecutionEnvironment,遠程預啟動執行環境)是RPL的升級,Intel公司開發,工作站具有一個帶有IntelPXEBootRom的網卡或集成到主機板BIOS中的IntelPXE代碼.RPL與PXE的不同之處為:一個是靜態路由,一個動態路由.PXE則是根據伺服器端收到的工作站MAC地址(就是網卡ID號),使用DHCP服務給這個MAC地址指定一個IP位址,每次重新啟動可能同一台工作站與上次啟動具有不同的IP,即動態分配地址.

PXE技術是根據SERVER端收到的MAC地址請求分配一個IP位址,然後使用MTFTP(MulticastTrivialFileTransferProtocol,多點檔案傳輸協定)協定從伺服器下載一個啟動軟體包到本機記憶體中並執行,由這個啟動軟體包完成基本軟體設定,從而引導預先上傳到伺服器中的作業系統。

PXE採用基於TCP/IP的MTFTP協定,若在傳送過程中有錯誤幀,PXE並不是將整個數據包重發,只是將某一出錯執行緒的數據重發,這樣使整個網路的啟動的速度加快.MTFTP協定可以看成一個簡化了的FTP,主要的區別是沒有用戶許可權管理的功能,也就是說MTFTP不需要認證客戶端的許可權,這樣遠程啟動的客戶機在啟動一個完整的作業系統之前就可以通過MTFTP下載啟動映象檔案。

PXE兼容性好,因為PXE不僅支持Windows98遠程啟動,各種套用軟體都能得到非常好的套用,增強了多媒體功能,並能兼容和支持WINDOWS2000/XP遠程啟動。

BOOTP遠程啟動

BOOTP遠程啟動是一種產生於早期Unix的遠程啟動方式,在Unix、Linux的網路中是較常用的遠程啟動方式之一,BOOTP全稱是BOOTSTRAPPROTOCOL,我們經常用到的DHCP服務就是從BOOTP服務擴展而來的.工作站開機後,網卡BOOTROM晶片中的BOOTP啟動代碼用廣播形式以IP位址0.0.0.0向網路中發出IP位址查詢的請求(此時客戶機還沒有IP位址),這個請求幀中包含了工作站的網卡MAC地址。

網路中運行BOOTP服務的伺服器接收到這個請求幀,根據這幀中的MAC地址在BOOTPTAB啟動資料庫中查找這個MAC地址記錄,如果沒有此MAC地址記錄則不回響這個請求,如果有就將FOUND幀傳送回工作站.FOUND幀中包含的主要信息有工作站的IP位址、伺服器的IP位址、硬體類型、網關IP位址、工作站MAC地址和啟動映象檔案名稱。

工作站根據FOUND幀中的信息通過TFTP(TrivialFileTransferProtocol,簡單檔案傳輸協定)協定從伺服器下載啟動映象檔案,完成工作站的遠程啟動.隨著Windows2000不支持RPL遠程啟動,並且以TCP/IP作為默認安裝網路協定,逐步表明今後的Windows也將以TCP/IP協定作為主要的發展方向,純TCP/IP的網路將是今後發展的方向。

在WIN95和WIN98無盤工作站網路中,因作業系統核心規模較小,遠程啟動時系統核心可以由實模式(即DOS)直接引導載入作業系統核心.工作站啟動時從遠程啟動伺服器中下載啟動映像檔案,然後由後者載入作業系統引導程式,引導程式依次載入作業系統核心檔案,將系統核心下載到工作站記憶體中,並將控制權切換給系統核心,由實模式轉換進入保護模式,由系統核心繼續載入作業系統的其他檔案,完成作業系統載入過程。

網路虛擬硬碟遠程啟動

在WIN2000/XP無盤工作站網路中,因Windows2000/XP作業系統核心檔案規模較大,工作站啟動時由實模式遠程載入作業系統核心時,不能從伺服器下載所需的全部系統核心檔案到工作站記憶體中,無法完成由實模式到保護模式的轉換,從而導致啟動過程失敗。

目前只有基於網路虛擬硬碟的無盤網路能夠實現多種作業系統(Windows98、Windows2000/XP和Linux)的無盤啟動。網路虛擬硬碟的實現與真實硬碟的實現都是基於存儲設備驅動程式,對於工作站來說,通過網路虛擬出的硬碟與真實硬碟是相同的,可以安裝任何真實硬碟上可以安裝的軟體,因此具有最佳的兼容性。

實現網路虛擬硬碟需要存儲設備驅動程式和網路通訊與傳輸協定的支持,2003年2月經IETF(網際網路工程任務組)通過的iSCSI(網際網路小型計算機系統接口)標準,是一種在IP網路(乙太網)上進行數據塊傳輸的技術標準。

iSCSI標準將SCSI命令、狀態和數據包封裝在TCP/IP包中在乙太網上進行傳輸,iSCSI可以在區域網路(LANs)、廣域網(WANs)或Internet上傳輸數據,而且可以實現遠程存儲管理.

iSCSI標準定義了在TCP/IP網路中傳送、接收數據塊級的存儲數據的規則和方法.當客戶端發出一個數據、檔案或應用程式的請求後,作業系統會根據客戶端請求的內容生成一個SCSI命令和數據請求,並將SCSI命令和數據請求封裝到TCP/IP包中通過網路傳輸到接收端,接收(服務)端收到TCP/IP包之後,將其解包還原為SCSI命令和數據請求,並執行SCSI命令從存儲設備中讀取數據,完成之後將返回的SCSI命令和數據再封裝到TCP/IP包中傳回傳送端,以回響客戶端的iSCSI請求.而整個過程在用戶看來,使用遠程的存儲設備就象訪問本地的SCSI設備一樣。

作業系統遠程啟動

目前,計算機上可以運行的作業系統種類繁多,根據其核心大小和載入過程的不同,我們將作業系統份為兩類:小核心作業系統和大核心作業系統。小核心作業系統是指作業系統核心規模較小,只包括一個檔案(如Linux)或者核心可以壓縮為小於一張軟碟大小的鏡像檔案(如DOS),此外,可以由DOS直接引導載入的作業系統(如Win x系列)也可以被劃分為此類;大核心作業系統是指核心檔案數量超過一個,且檔案總尺寸較大的作業系統(如Win2000/XP等)。

作業系統啟動過程

計算機作業系統啟動過程 計算機作業系統啟動過程

作業系統的通常啟動過程如圖所示。

當計算機加電啟動後,首先執行POST過程,在POST過程的最後一步,計算機將找出存儲在CMOS中的IPL(initialprogramload)設備。並執行IPL設備提供的載入代碼。IPL初始化完畢,將控制權交還給BIOS,然後BIOS訪問計算機的存儲系統的系統保留扇區(MBR、Boot Sector等),然後由後者載入作業系統引導程式,引導程式依次載入作業系統核心檔案,並進入保護模式。計算機進入保護模式後,作業系統的磁碟訪問驅動程式取代BIOS的磁碟訪問中斷功能,作業系統繼續載入OS的其他檔案。直到載入過程結束。

由於小核心作業系統只有一個核心檔案,遠程啟動時,可以通過檔案下載的方式,由客戶機一次性地下載到記憶體中,並將控制權切換給作業系統核心,由核心完成作業系統載入過程。但是,當通過檔案下載機制遠程啟動大核心作業系統時,由於在第一個核心檔案載入完畢後,不會主動從伺服器下載作業系統需要的其他檔案,將導致啟動過程失敗。因此可以看出,基於檔案下載的遠程啟動機制,不適合大核心作業系統。

遠程啟動設計思想

基於網路存儲的作業系統遠程啟動機制 基於網路存儲的作業系統遠程啟動機制

為解決基於檔案下載的作業系統遠程啟動機制在載入大核心作業系統時碰到的問題,在MRBP協定的基礎上,提出了基於網路存儲的遠程啟動機制,引入了磁碟映射機制和網路存儲訪問協定(Network Storage Access Protocol,NSAP)。磁碟映射機制是一種提供服務的機制,它通過將正常的本地磁碟操作透明地映射到網路上,從而使作業系統可以連續地載入它所需要的檔案而無需感知到MRBP協定的存在。基於網路存儲的作業系統遠程啟動機制流程如圖所示。

關鍵技術

1 磁碟映射機制

現代作業系統對存儲設備的管理非常嚴格,本地硬碟、移動硬碟、邏輯驅動器和網路映射驅動器分別具有不同的功能,作業系統核心必須安裝在本地硬碟上,軟體安裝時也必須安裝到本地硬碟上,而客戶機因為沒有本地硬碟,所以要使作業系統在啟動以及正常運行時以為本地有硬碟,則必須通過磁碟映射機制在客戶機創建虛擬硬碟。

磁碟映射機制在作業系統核心層實現存儲連線埠驅動,將存儲驅動棧和網路驅動棧關聯起來,將伺服器端硬碟映射到客戶機本地,在作業系統中註冊幾個虛擬“本地硬碟”。

2 檔案和目錄重定向機制

客戶機的作業系統和程式都保存在伺服器上,由所有客戶端共享。為保持這些共享的檔案的一致性,就不允許用戶在操作過程中對其進行修改,但在客戶端作業系統啟動過程中,需要在硬碟上寫入一些配置資料。這樣就產生了客戶機需要寫入和已分享檔案不允許寫入之間的矛盾。為了解決這個問題,我們對客戶機寫入伺服器的請求進行了重定向,當客戶機有寫請求時,伺服器端將用戶寫入的內容按用戶寫入到隱藏的位置,並在客戶機重新訪問這些檔案時,對隱藏位置進行檢查,以獲取最新的內容。

3 網路存儲訪問協定NSAP

透明計算系統中的客戶機沒有本地存儲設備,客戶機啟動和運行時需要的作業系統、程式和數據保存在伺服器上。NSAP協定使客戶機發現網路中存在的資源存儲伺服器,獲取伺服器硬碟信息及實現客戶機對伺服器硬碟按扇區讀寫操作。

NSAP協定是一種基於C/S結構的網路存儲訪問協定,由兩個相對獨立的模組組成:NSMCP(Network StorageManagement and Control Protocol 和SFTP(Sector Level FileTransport Protoc01),NSMCP用於為用戶管理和存儲資源管理提供底層協定支持,同時支持伺服器端根據當前負載情況對客戶端運行參數進行控制,SFTP用於客戶機和伺服器間的磁碟操作。

相關詞條

熱門詞條

聯絡我們