999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于開源平臺的網(wǎng)絡(luò)鏡像部署方案

2012-02-05 06:37:30王晶施亮
微型電腦應(yīng)用 2012年4期

王晶,施亮

0 引言

隨著信息科技的發(fā)展以及計(jì)算機(jī)硬件的普及,現(xiàn)今社會中計(jì)算機(jī)已成為不可或缺的設(shè)備之一。作為管理計(jì)算機(jī)軟硬件資源的程序,操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中起著基石的作用,其安裝與維護(hù)等方面的研究與優(yōu)化,具有相當(dāng)重要的意義。

傳統(tǒng)的計(jì)算機(jī)操作系統(tǒng)安裝,需要使用安裝光盤將系統(tǒng)安裝文件拷貝到內(nèi)存中,然后展開部署到指定的安裝卷中,并運(yùn)行各個配置文件,將系統(tǒng)安裝成功。在機(jī)器數(shù)量龐大的場合中,采用這種方式進(jìn)行操作系統(tǒng)批量安裝,將耗費(fèi)大量的時間(如OEM廠商在機(jī)器出廠時為機(jī)器預(yù)裝操作系統(tǒng))。

為了提高操作系統(tǒng)批量安裝的效率,本文設(shè)計(jì)了一種基于開源平臺的網(wǎng)絡(luò)鏡像部署方案。該方案充分利用了UDPcast、Partclone以及tftpd32等優(yōu)秀的已有開源項(xiàng)目,基于 c語言和QT編寫了高效的調(diào)度子程序和友好的用戶控制界面。使用該方案的網(wǎng)絡(luò)鏡像備份、網(wǎng)絡(luò)鏡像還原功能,可使得操作系統(tǒng)的批量部署易行、快速、高效。

1 系統(tǒng)組成的概述

網(wǎng)絡(luò)鏡像部署方案采用了C/S結(jié)構(gòu),本方案的架構(gòu)示意圖,如圖1所示:

圖1 網(wǎng)絡(luò)鏡像部署方案的架構(gòu)示意圖

其中服務(wù)端運(yùn)行在Windows系統(tǒng)上,分為PXE Server和Image Supervisor兩大部分。PXE Server的作用是將保存的 Linux鏡像安裝到選擇了通過網(wǎng)絡(luò)引導(dǎo)方式啟動的 PXE客戶機(jī);Image Supervisor則提供基于QT的用戶界面以及相關(guān)的管理子程序,在界面上選擇相應(yīng)的功能即可對已通過網(wǎng)絡(luò)引導(dǎo)方式啟動的客戶機(jī)進(jìn)行鏡像備份或還原。

如上所述,客戶端的運(yùn)行操作系統(tǒng)為通過網(wǎng)絡(luò)引導(dǎo)方式啟動的Linux系統(tǒng)上。經(jīng)由這種方式,客戶端就獲得了操作系統(tǒng)以及存在于操作系統(tǒng)的根文件系統(tǒng)中進(jìn)行網(wǎng)絡(luò)鏡像備份/還原所需要的各種小工具。由此可見,本方案僅需要在服務(wù)器端進(jìn)行相關(guān)軟件的手動安裝。

2 模塊組成及配置說明

2.1 UDPcast

UDPcast是一個開源文件傳輸工具,其功能是在局域網(wǎng)中將數(shù)據(jù)同時傳輸?shù)蕉鄠€指定目的地。由于使用了UDP協(xié)議的多播(Multicast)能力,UDPcast可以在一次發(fā)送中就完成單播(Unicast)多次發(fā)送才能完成的傳輸工作,又避免了廣播(Broadcast)方式將數(shù)據(jù)發(fā)送給非指定目的地的弊端。

UDPcast基于C/S架構(gòu),分成udp-sender(服務(wù)器端)和udp-receiver(客戶端)兩部分。通過參數(shù)設(shè)置,UDPcast可提供半雙工/全雙工、異步/同步、流模式、管道程序連接、前向糾錯等模式和功能的選擇。該軟件的設(shè)計(jì)中,已考慮了跨平臺的需要,可通過相應(yīng)的編譯方式得到Windows/Linux版本,本方案中,在服務(wù)器端使用 Windows版本的udp-sender來完成鏡像多播發(fā)送,在客戶端使用Linux版本的udp-receiver來完成鏡像數(shù)據(jù)的接收。

2.2 Partclone

Partclone軟件是一個GPL 協(xié)議下的開源軟件,該軟件通過獲得用戶輸入的命令行,從而執(zhí)行分區(qū)備份與還原的功能。可在三種模式下工作:

Clone 模式:在clone模式下,Partclone可以將其所支持的文件系統(tǒng)下的磁盤分區(qū)備份成鏡像,達(dá)到壓縮的目的;

Restore模式:在此模式下,鏡像格式Image可以被還原到磁盤分區(qū)上;

DD模式:此模式下,程序可將源分區(qū)中的數(shù)據(jù)復(fù)制到目標(biāo)分區(qū)中。

本方案中,用到Partclone的Clone模式與Restore模式來實(shí)現(xiàn)操作系統(tǒng)鏡像的備份與還原。

2.3 PXElinux

2.3.1 linux的啟動過程

分析linux的啟動過程可知,由開機(jī)上電直至系統(tǒng)核心完整載入共歷經(jīng)下面幾個步驟:

1)加載BIOS,獲取第一個啟動設(shè)備的代號;

2)讀取并運(yùn)行第一個啟動設(shè)備中的bootloader;

3)在bootloader的管理下讀取系統(tǒng)內(nèi)核;

4)掛載initrd(initial RAM disk),即虛擬根文件系統(tǒng)。

2.3.2 PXElinux的組成及配置

在 PXE啟動方式下,客戶機(jī)啟動時的 bootloader為PXElinux。PXElinux由兩個文件構(gòu)成:pxelinux.0和位于文件夾pxelinux.cfg中的配置文件(通常使用名為default的文件)。其中pxelinux.0為可運(yùn)行的匯編程序,而default文件存放pxelinux.0的配置信息。

本方案中的default文件如下所示:

客戶機(jī)上運(yùn)行上述pxelinux.0的作用是,請求PXE服務(wù)器發(fā)送內(nèi)核鏡像bzImage和根文件系統(tǒng)鏡像initrd.gz。

2.4 linux鏡像的生成

由 2.3節(jié)可知,客戶機(jī) linux系統(tǒng)的啟動需要在pxelinux.0的管理下請求并加載內(nèi)核鏡像和虛擬根文件系統(tǒng)鏡像。因此需要在服務(wù)器端提供這兩個文件。

關(guān)于Linux鏡像的生成,互聯(lián)網(wǎng)上已有很完備的資料,在此不作贅述。需要說明得是,由于本方案中,客戶端所運(yùn)行的linux中需要用到諸如udp-receiver、Partclone、IPCClient等自寫或第三方程序,故需要在制作根文件系統(tǒng)鏡像時將這些程序集成進(jìn)去。

2.5 DHCP和TFTP的集成實(shí)現(xiàn)

2.5.1 DHCP協(xié)議

DHCP(Dynamic Host Configuration Protocol,動態(tài)主機(jī)設(shè)置協(xié)議)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:1)給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址給用戶;2)給內(nèi)部網(wǎng)絡(luò)管理員作為對所有計(jì)算機(jī)作中央管理的手段。在本方案中,DHCP用于服務(wù)器對各個客戶機(jī)進(jìn)行IP地址的動態(tài)分配。

2.5.2 TFTP協(xié)議

TFTP是一個基于UDP協(xié)議的傳輸文件簡單協(xié)議,適合對小文件進(jìn)行傳輸。在本方案中,TFTP用于傳輸PXE啟動鏡像。

2.5.3 PXE工作原理

PXE工作原理示意圖,如圖2所示:

圖2 PXE工作原理示意圖

從中可以看出PXE客戶端啟動過程中各個進(jìn)程之間的交互過程及運(yùn)行時序如下:

1)客戶機(jī)的BIOS設(shè)置從網(wǎng)絡(luò)啟動時,啟動后網(wǎng)卡先做自我測試,然后發(fā)送一個動態(tài)獲得IP地址的廣播包到網(wǎng)絡(luò)上,服務(wù)器收到該廣播包后,就會送回包含分配給客戶機(jī)的 IP地址和bootloader(即 pxelinux.0)所在位置信息的DHCP回應(yīng)包;

2)客戶機(jī)收到 DHCP回應(yīng)之后,請求發(fā)送bootloader文件(即pxelinux.0),服務(wù)器通過tftp發(fā)送該文件。

3)pxelinux.0的運(yùn)行需要配置信息,故客戶機(jī)請求發(fā)送該文件,服務(wù)器響應(yīng)該請求。

4)客戶機(jī)按照pxelinux.cfg中配置文件里的信息,繼續(xù)請求發(fā)送內(nèi)核鏡像和根文件系統(tǒng)鏡像,服務(wù)器予以響應(yīng),接收完成則PXE啟動完成。

2.5.4 Tftpd32

本方案使用了開源軟件Tftpd32來提供DHCP和TFTP支持。Tftpd32是一個集成了DHCP、TFTP、SNTP和Syslog等多種服務(wù)的袖珍網(wǎng)絡(luò)服務(wù)器包,同時提供TFTP客戶端應(yīng)用,支持tsize,blocksize 和timeout等等。

為方便系統(tǒng)的集成,具體選擇中選用了 Tftpd32的service版本,該實(shí)現(xiàn)具有圖形化的配置界面,集成進(jìn)網(wǎng)絡(luò)鏡像部署系統(tǒng)后以Windows服務(wù)的形式運(yùn)行于服務(wù)器上。

2.6 IPC

IPC為使用c語言編寫的進(jìn)程間通信模塊,基于C/S架構(gòu),分為運(yùn)行在服務(wù)器端的 IPCServer和運(yùn)行在客戶端的IPCClient。

IPCServer的功能有:1)接收QT界面程序傳來的控制指令,據(jù)此向IPCClient廣播控制指令;2)執(zhí)行網(wǎng)絡(luò)鏡像還原時啟動udp-sender。

IPCClient的功能為:1)與IPCServer通過網(wǎng)絡(luò)套接口進(jìn)行通信,接收IPCServer的控制指令,向IPCServer報(bào)告客戶機(jī)的運(yùn)行狀態(tài);2)執(zhí)行網(wǎng)絡(luò)鏡像還原時啟動udp-receiver和Partclone子進(jìn)程,并為其建立管道連接;3)執(zhí)行網(wǎng)絡(luò)鏡像備份時,啟動 Partclone子進(jìn)程并為其建立到服務(wù)器上存放鏡像位置的網(wǎng)絡(luò)共享。

本方案的備份/還原原理示意圖,如圖3所示:

圖3 網(wǎng)絡(luò)鏡像部署系統(tǒng)備份/還原原理示意圖

備份工作僅發(fā)生在單臺客戶機(jī)與服務(wù)器之間,而還原工作可能涉及多臺客戶機(jī)(亦可稱之為操作系統(tǒng)批量部署)。還原時,每個客戶機(jī)上均運(yùn)行各自的IPCClient、Partclone、udp-receiver副本,而 IPCServer與 IPCClient、udp-sender與udp-receiver之間為單對多關(guān)系。

2.7 GUI模塊(QT)

一般情況下,GUI 模塊無法單獨(dú)作為一個程序存在,但是我們通過將Qt 提供的API 進(jìn)行一定的包裝,使得GUI模塊能夠作為一個獨(dú)立的程序來運(yùn)行。

在本方案中,QT界面程序完成如下功能:1)讀取用戶操作;2)根據(jù)用戶操作,啟動 IPCServer并使其進(jìn)入備份或還原模式;3)啟動或暫停tftpd32 Windows服務(wù);4)回顯IPCServer送回的客戶端運(yùn)行狀態(tài)信息。

QT界面涉及的進(jìn)程間通信為接收IPCServer回送的狀態(tài)信息,此通信采用共享內(nèi)存方式來實(shí)現(xiàn)。

2.8 客戶端支持模塊簡介

2.8.1 CIFS

CIFS(Common Internet File System)即通用Internet文件系統(tǒng),是一個新提出的協(xié)議,它使程序可以訪問遠(yuǎn)程Internet計(jì)算機(jī)上的文件并要求此計(jì)算機(jī)的服務(wù)。

本方案中需要在客戶端Linux系統(tǒng)中添加CIFS支持,以便使得備份操作時產(chǎn)生鏡像文件可以直接存放到服務(wù)器上用于存放鏡像的網(wǎng)絡(luò)共享文件夾里。該支持的實(shí)現(xiàn)可在制作 linux內(nèi)核鏡像時通過設(shè)置相應(yīng)配置文件而很方便地實(shí)現(xiàn)。

2.8.2 ncurses

ncurses提供字符終端處理庫,包括面板和菜單。本方案里,在linux內(nèi)核中添加了該庫,以便在linux客戶端中構(gòu)建相對友好的操作界面。

2.8.3 Busybox

BusyBox 是一個集成了一百多個最常用 linux命令和工具的軟件。BusyBox包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更復(fù)雜的工具,例如grep、find、mount以及 telnet。

3 系統(tǒng)性能測試

3.1 測試場景簡介

測試場景的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖4所示:

圖4 測試場景網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

其中有2個24口交換機(jī)和1個48口交換機(jī)。24口交換機(jī)通過千兆上行端口與48口交換機(jī)進(jìn)行連接。

測試中所用設(shè)備的規(guī)格,如表1所示:

表1 測試所用設(shè)備一覽表

3.2 測試結(jié)果

在上述測試環(huán)境下,對本方案的網(wǎng)絡(luò)鏡像備份/還原功能速度的測試結(jié)果如表2、表3所示:

表2 備份測試結(jié)果

表3 還原測試結(jié)果

可看到,備份操作的平均速度可達(dá) 550MB/min,還原操作的平均速度可達(dá) 750MB/min。這樣的速度在實(shí)際系統(tǒng)批量部署中已比較優(yōu)秀,展示出了很好的實(shí)用價值。

4 結(jié)語

本文介紹了一種基于開源平臺的網(wǎng)絡(luò)鏡像部署方案,對方案中所涉及的各個模塊以及模塊間如何關(guān)聯(lián)做了比較詳實(shí)的介紹,為操作系統(tǒng)的批量部署展示了一種完善的思路。實(shí)際測試表明該方案已有可靠的實(shí)用價值。下一步的工作,將對所用開源模塊做進(jìn)一步研究和改寫,以便在下面兩個方向得到進(jìn)展:1)進(jìn)一步提升系統(tǒng)的執(zhí)行效率;2)在更大規(guī)??蛻魴C(jī)群應(yīng)用中保持執(zhí)行效率。

[1]Intel Corporation.Preboot Execution environment (PXE)Specification [S/OL].Version2.1,1999-09.http://www.pix.net/software/pxeboot/archive/pxespec.pdf.

[2]董明峰.Linux系統(tǒng)引導(dǎo)概述[J].微機(jī)發(fā)展,2003,13(8):69-71.

[3]譚曉東 陳振慶.基于 PXE網(wǎng)絡(luò)克隆技術(shù)的探討與實(shí)現(xiàn)[J].電腦知識與技術(shù),2009,5(21): 5691-5692.

[4]杜曉軍 耿凱 吳秋紅.基于PXE協(xié)議的Linux自動安裝原理分析與應(yīng)用[J].通信技術(shù),2008,41(8):50-73.

主站蜘蛛池模板: 精品国产电影久久九九| 欧美成一级| 色综合天天视频在线观看| 日本亚洲最大的色成网站www| 日韩A级毛片一区二区三区| 69视频国产| 欧美狠狠干| 亚洲中文在线视频| 无码中文AⅤ在线观看| 亚洲视频一区| 伊人色天堂| 亚洲成人在线免费观看| 国产在线欧美| 77777亚洲午夜久久多人| 9丨情侣偷在线精品国产| 91区国产福利在线观看午夜| 亚洲精品无码成人片在线观看| 黄色污网站在线观看| 亚洲精品高清视频| 免费看美女自慰的网站| 欧美自拍另类欧美综合图区| 日日噜噜夜夜狠狠视频| 亚洲香蕉在线| 国产在线视频福利资源站| 中文字幕日韩视频欧美一区| 亚洲日本精品一区二区| 亚洲国产日韩在线成人蜜芽| 国产精品蜜臀| 国产欧美视频一区二区三区| 中文字幕丝袜一区二区| 国产小视频在线高清播放| 成人午夜网址| 国产精品丝袜在线| 婷婷色中文网| 91成人试看福利体验区| 亚洲精品在线影院| 国产高清国内精品福利| 色偷偷综合网| 国产高清国内精品福利| 精品国产美女福到在线不卡f| 国产精品视屏| 看国产一级毛片| 午夜欧美在线| 亚洲国产理论片在线播放| 国产精品香蕉| 1769国产精品视频免费观看| 精品伊人久久大香线蕉网站| 亚洲国产成人自拍| 色精品视频| 2021国产精品自拍| 久久精品欧美一区二区| 日韩视频福利| 午夜性刺激在线观看免费| 毛片基地视频| 婷婷开心中文字幕| 精品久久综合1区2区3区激情| 老司机久久精品视频| 91在线精品免费免费播放| 亚洲人成日本在线观看| 久久亚洲国产最新网站| 国产精品无码翘臀在线看纯欲| 日韩欧美高清视频| 久久国产精品影院| 这里只有精品国产| 婷婷午夜影院| 国产一区二区免费播放| 九色视频一区| 国产精品99久久久| 亚洲综合色婷婷中文字幕| 欧美国产日本高清不卡| 在线观看视频一区二区| 欧洲免费精品视频在线| 久久精品中文字幕少妇| 免费观看成人久久网免费观看| 日韩精品免费一线在线观看| 国产无码高清视频不卡| 亚洲69视频| 欧美国产日韩在线观看| 日韩精品资源| 亚洲Aⅴ无码专区在线观看q| 又爽又黄又无遮挡网站| 亚洲天堂视频在线免费观看|