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

企業(yè)級(jí)Linux 服務(wù)器的自動(dòng)化構(gòu)建

2014-01-03 06:35:54古衛(wèi)濤
電子測(cè)試 2014年7期
關(guān)鍵詞:程序系統(tǒng)企業(yè)

古衛(wèi)濤

(西安郵電大學(xué),西安,710121)

0 引言

在日新月異的當(dāng)代,我們不得不承認(rèn)計(jì)算機(jī)參與企業(yè)日常業(yè)務(wù)管理已成為企業(yè)現(xiàn)代化建設(shè)不可缺少的一個(gè)重要因素。企業(yè)對(duì)于信息處理的手段日益先進(jìn),運(yùn)作的效率也逐漸提高,同時(shí),企業(yè)對(duì)其電子化的信息系統(tǒng)的依賴程度也越來(lái)越高。目前,開源系統(tǒng)Linux 在大中型企業(yè)的應(yīng)用逐漸普及,許多企業(yè)的應(yīng)用服務(wù)都是構(gòu)筑在其之上。Linux 是一套免費(fèi)使用和自由傳播的類Unix 操作系統(tǒng),是一個(gè)基于POSIX 和UNIX 的多用戶、多任務(wù)、支持多線程和多CPU 的操作系統(tǒng)。它能運(yùn)行主要的UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。通過(guò)服務(wù)構(gòu)筑的自動(dòng)化,能夠大幅度減少人工成本,完善公司制度,提高系統(tǒng)的穩(wěn)定性。

1 軟件開發(fā)中的自動(dòng)化

隨著軟件技術(shù)的迅速發(fā)展,傳統(tǒng)的軟件開發(fā)遇到以下瓶頸:第一,軟件開發(fā)中的低效率、低質(zhì)量和高成本等問(wèn)題;第二,軟件運(yùn)行中的維護(hù)和升級(jí)難度隨實(shí)際需求的應(yīng)用的變化越來(lái)越快;第三,異構(gòu)系統(tǒng)之間的集成無(wú)統(tǒng)一標(biāo)準(zhǔn),難以實(shí)現(xiàn)集成。人們對(duì)自動(dòng)化軟件的需求越來(lái)越高,但自動(dòng)化程度高的軟件開發(fā)起來(lái)十分的困難。基于此,可以對(duì)軟件開發(fā)的自動(dòng)化有著這樣的想象:在軟件開發(fā)過(guò)程中盡力減少人力的勞動(dòng),把復(fù)雜的編制程序交給電腦完成,從開發(fā)流程上減少認(rèn)為工作步驟,實(shí)現(xiàn)開發(fā)過(guò)程的半自動(dòng)化。

想像一下,為企業(yè)開發(fā)新的軟件系統(tǒng)的時(shí)候,首先通過(guò)需求分析、功能設(shè)計(jì)、系統(tǒng)設(shè)計(jì)、到編碼的實(shí)現(xiàn)、測(cè)試、實(shí)施等一個(gè)漫長(zhǎng)的過(guò)程,每一個(gè)過(guò)程,都需要調(diào)查、分析、實(shí)現(xiàn)和測(cè)試幾個(gè)階段,軟件開發(fā)的項(xiàng)目周期便得不可預(yù)估。用戶的需求往往是模糊多變的,通過(guò)分析來(lái)確定軟件功能往往需要很長(zhǎng)的時(shí)間。如果再需求分析上花費(fèi)太多的時(shí)間,那么軟件即使開發(fā)出來(lái),也有能已經(jīng)被市場(chǎng)所淘汰。

因此,軟件開發(fā)里敏捷開發(fā)這一概念現(xiàn)在非常流行。簡(jiǎn)單的說(shuō),敏捷開發(fā)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。在敏捷開發(fā)中,軟件項(xiàng)目的構(gòu)建被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都經(jīng)過(guò)測(cè)試,具備集成和可運(yùn)行的特征。換言之,就是把一個(gè)大項(xiàng)目分為多個(gè)相互聯(lián)系,但也可獨(dú)立運(yùn)行的小項(xiàng)目,并分別完成,在此過(guò)程中軟件一直處于可使用狀態(tài)。為了實(shí)現(xiàn)這種短期內(nèi)快遞迭代的開發(fā)方式,自動(dòng)化技術(shù)就很重要。

以Linux 為中心的服務(wù)器技術(shù)發(fā)展速度非常快,因此搭建好的Linux 系統(tǒng)在若干年的使用過(guò)程中,絲毫不變的情況是非常少見的,在軟件開發(fā)里也是同樣。運(yùn)用IT 技術(shù)的各行各業(yè)和各個(gè)企業(yè)對(duì)軟件的要求每天也不一樣。使用的技術(shù)也是日新月異。

CI(Continuous Integration)是敏捷開發(fā)所使用自動(dòng)化工具之一。代表性的開源代碼有Jenkins。

這樣軟件開發(fā)者提交完新功能之后,包含新技能的軟件就被自動(dòng)生成,測(cè)試,并將測(cè)試結(jié)果報(bào)告給開發(fā)者,進(jìn)行及時(shí)的修正。一次提交太多的功能,測(cè)試中會(huì)發(fā)生大量的問(wèn)題,導(dǎo)致軟件非常不穩(wěn)定。開發(fā)者不得不進(jìn)行大量的返工作業(yè)。而通過(guò)敏捷開發(fā)的逐步迭代,可以保證軟件質(zhì)量的穩(wěn)步提高。軟件開發(fā)自動(dòng)化不僅能縮短開發(fā)周期,提高軟件質(zhì)量,而且能大幅度降低軟件在使用中的維護(hù)和升級(jí)難度。

2 服務(wù)器自動(dòng)構(gòu)建的意義

一般的企業(yè)系統(tǒng)開始運(yùn)用時(shí),都是在服務(wù)器上手動(dòng)配置軟件,然后進(jìn)行功能驗(yàn)證。一些復(fù)雜的系統(tǒng)運(yùn)用,從開始準(zhǔn)備到真正到正式運(yùn)行,需要很長(zhǎng)時(shí)間。而且手動(dòng)搭建的系統(tǒng),會(huì)有一些意外的設(shè)定,導(dǎo)致系統(tǒng)不能穩(wěn)定工作。因此,作為系統(tǒng)運(yùn)動(dòng)的第一步:服務(wù)器的構(gòu)筑,如果能夠自動(dòng)化,那么就可可以快遞的搭建一個(gè)穩(wěn)定的服務(wù)器。同樣的構(gòu)建,以自動(dòng)化的方式實(shí)現(xiàn),最短的時(shí)間內(nèi)實(shí)現(xiàn)縮短了周期,并且系統(tǒng)具有更高的穩(wěn)定性和可擴(kuò)展性。

系統(tǒng)全體構(gòu)成圖及自動(dòng)構(gòu)建流程圖

3 虛擬化API 的libvirt

libvirt 提供一種虛擬機(jī)監(jiān)控程序不可知的 API 來(lái)安全管理運(yùn)行于主機(jī)上的來(lái)賓操作系統(tǒng)。libvirt 本身不是一種工具, 它是一種可以建立工具來(lái)管理來(lái)賓操作系統(tǒng)的 API。libvirt 本身構(gòu)建于一種抽象的概念之上。它為受支持的虛擬機(jī)監(jiān)控程序?qū)崿F(xiàn)的常用功能提供通用的 API。libvirt 起初是專門為 Xen 設(shè)計(jì)的一種管理 API,后來(lái)被擴(kuò)展為可支持多個(gè)虛擬機(jī)監(jiān)控程序。libvirt 以一組 API 的形式存在,旨在供管理應(yīng)用程序使用(見圖 1 )。libvirt 通過(guò)一種特定于虛擬機(jī)監(jiān)控程序的機(jī)制與每個(gè)有效虛擬機(jī)監(jiān)控程序進(jìn)行通信,以完成 API 請(qǐng)求。

圖1 libvirt 比較和用例模型

使用 libvirt,我們有兩種不同的控制方式。第一種如 圖1所示,其中管理應(yīng)用程序和域位于同一節(jié)點(diǎn)上。管理應(yīng)用程序通過(guò) libvirt 工作,以控制本地域。當(dāng)管理應(yīng)用程序和域位于不同節(jié)點(diǎn)上時(shí),便產(chǎn)生了另一種控制方式。需要進(jìn)行遠(yuǎn)程通信如圖2。該模式使用一種運(yùn)行于遠(yuǎn)程節(jié)點(diǎn)上、名為 libvirtd 的特殊守護(hù)進(jìn)程。當(dāng)在新節(jié)點(diǎn)上安裝 libvirt 時(shí)該程序會(huì)自動(dòng)啟動(dòng),且可自動(dòng)確定本地虛擬機(jī)監(jiān)控程序并為其安裝驅(qū)動(dòng)程序。該管理應(yīng)用程序通過(guò)一種通用協(xié)議從本地 libvirt 連接到遠(yuǎn)程 libvirtd。對(duì)于QEMU,協(xié)議在 QEMU 監(jiān)視器處結(jié)束。QEMU 包含一個(gè)監(jiān)測(cè)控制臺(tái),它允許檢查運(yùn)行中的來(lái)賓操作系統(tǒng)并控制虛擬機(jī)(VM)各部分。

圖2 使用 libvirtd 控制遠(yuǎn)程虛擬機(jī)監(jiān)控程序

使用系統(tǒng)命令或者API 來(lái)構(gòu)筑Linux KVM 虛擬化系統(tǒng)。具體來(lái)說(shuō),就是virt-install,virsh 等等。這些命令也是通過(guò)調(diào)用libvirt 的API,對(duì)libvirt 進(jìn)程發(fā)命令,來(lái)實(shí)現(xiàn)對(duì)虛擬機(jī),虛擬網(wǎng)絡(luò)以及虛擬磁盤進(jìn)行操作。如果掌握了libvirt 的API 的使用發(fā)話,通過(guò)phython 等編程語(yǔ)言也可以進(jìn)行操作。

4 Linux 服務(wù)器手動(dòng)構(gòu)建和自動(dòng)構(gòu)建比較

4.1 手動(dòng)構(gòu)建

每一個(gè)VM 在生成的時(shí)候都需要對(duì)手動(dòng)對(duì)OS 及APP 進(jìn)行大量的設(shè)定,這些設(shè)定中,大量都是固定且繁瑣的,但非常容易出錯(cuò),一旦設(shè)置錯(cuò)誤,將會(huì)影響后期系統(tǒng)的正常運(yùn)行。而且在軟件敏捷開發(fā)的反復(fù)迭代過(guò)程中,經(jīng)常需要重新構(gòu)建服務(wù)器及對(duì)新功能進(jìn)行測(cè)試,手動(dòng)構(gòu)建的工作量非常龐大。

4.2 自動(dòng)構(gòu)建

根據(jù)系統(tǒng)運(yùn)行的需要,提前配置好各種設(shè)定文件,在生成虛擬機(jī)的過(guò)程中自動(dòng)配置OS 和APP 設(shè)定文件。這樣可以保證每次配置好的服務(wù)器是穩(wěn)定而一致的。而且在敏捷開發(fā)的迭代過(guò)程中,可以反復(fù)使用,節(jié)省大量人力。

構(gòu)建虛擬機(jī)

例:

#virt -install --name vm01

vcpus 2 --ram 1024

--disk path=/var/lib/libvirt/images/vm01.img,size=16,sparse=false

--network network:defrault

--graphics vnc

--os-variant rhel6

--location http://192.168.122.1/iso/rhel64

?

--osvariant 可以設(shè)定為[rhel6]或者[win7],來(lái)安裝不同的Guest OS。指定后,可以通過(guò)Guest OS 的種類自動(dòng)適配最優(yōu)的虛擬機(jī)構(gòu)成。

可以設(shè)定的種類可以通過(guò)下面這個(gè)命令查看。

# virt-install -os-variant list

-location 可以指定Guest OS 的安裝媒體位置。上面這個(gè)例子中安裝的是Web 服務(wù)器里的RHEL6.4.如果使用安裝光盤的話,可以通過(guò)—cdrom 來(lái)指定。

在Host Linux 的桌面,執(zhí)行上面這個(gè)例子,就可以開始安裝RHEL6.4 了。

用腳本來(lái)實(shí)現(xiàn)虛擬機(jī)的自動(dòng)操作

通過(guò)virsh 命令可以實(shí)現(xiàn)虛擬機(jī)的啟動(dòng)/停止等操作。

?

例如,如果要將Host Linux 關(guān)機(jī)的時(shí)候,那就要先將運(yùn)行中的各個(gè)虛擬機(jī)置成休止?fàn)顟B(tài),之后,Host Linux 再啟動(dòng)的時(shí)候,再次啟動(dòng)虛擬機(jī),并復(fù)原虛擬機(jī)的運(yùn)行狀態(tài)。

如果虛擬機(jī)很多的時(shí)候,就需要自動(dòng)化了。

實(shí)際運(yùn)用中,可以寫一個(gè)下面的腳本。

# mkdir /root/bin

# vi /root/bin/vmctl.sh

# chmod u+x /root/bin/vmctl.sh

Vmctl.sh 內(nèi)容詳見附錄。

5 總結(jié)

本文從軟件開發(fā)自動(dòng)化的角度,介紹了服務(wù)器自動(dòng)化構(gòu)筑。其中,服務(wù)器構(gòu)筑自動(dòng)化可以說(shuō)是各種自動(dòng)化研究的第一步,通過(guò)服務(wù)構(gòu)筑的自動(dòng)化,可以大幅減少人工成本,提高系統(tǒng)的穩(wěn)定性,縮短系統(tǒng)構(gòu)筑時(shí)間。今后還將在軟件開發(fā)自動(dòng)化方面進(jìn)行深入的研究工作。

[1] 余洪春 ,構(gòu)建高可用Linux 服務(wù)器(第2 版),機(jī)械工業(yè)出版社,2012

[2] 華豫民 ,電信企業(yè)資源配置的范疇與層次[J].通信企業(yè)管理,2008

[3] 杜明智,構(gòu)建基于linux服務(wù)器的小型網(wǎng)絡(luò).[J].科技傳播,2010

猜你喜歡
程序系統(tǒng)企業(yè)
Smartflower POP 一體式光伏系統(tǒng)
企業(yè)
企業(yè)
企業(yè)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
敢為人先的企業(yè)——超惠投不動(dòng)產(chǎn)
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 亚洲色无码专线精品观看| 久久久成年黄色视频| 国产一区在线视频观看| 欧美激情第一欧美在线| 日韩精品久久无码中文字幕色欲| 日韩欧美国产三级| 欧美在线观看不卡| 欧美激情二区三区| 国产爽爽视频| 成人福利视频网| 丁香婷婷在线视频| 麻豆国产精品视频| 国产97色在线| 国产精品视频导航| 在线视频精品一区| 欧美一级片在线| 亚洲欧美另类日本| 欧美中日韩在线| 亚洲精品在线91| 精品欧美一区二区三区久久久| 91年精品国产福利线观看久久| 欧美.成人.综合在线| 91久久国产综合精品女同我| 亚洲第一综合天堂另类专| 午夜免费视频网站| 日韩欧美国产中文| 91 九色视频丝袜| 伊人无码视屏| 毛片视频网址| 国产精品xxx| 久久精品最新免费国产成人| 亚洲丝袜第一页| 成人日韩精品| 日韩国产高清无码| 久久综合伊人77777| 日韩欧美色综合| jizz国产在线| 三上悠亚在线精品二区| 亚洲欧美日韩视频一区| 九九九国产| 国产在线自揄拍揄视频网站| 青草视频网站在线观看| 亚洲无码精品在线播放 | 一区二区自拍| 伊人激情综合网| 朝桐光一区二区| 国产91色在线| 少妇精品在线| 日韩黄色大片免费看| 国产成人高清精品免费软件| 国产一区二区精品福利| 97青青青国产在线播放| 国产熟女一级毛片| 免费国产高清视频| 婷婷六月天激情| 九色91在线视频| 国产成人精品无码一区二| 欧洲av毛片| 2021国产在线视频| AV不卡国产在线观看| 亚洲综合第一区| 国产精品30p| 婷婷综合在线观看丁香| 国产丝袜丝视频在线观看| 国产91久久久久久| 欧美日韩一区二区三区四区在线观看| 高清免费毛片| 97影院午夜在线观看视频| Aⅴ无码专区在线观看| 日韩视频精品在线| 亚洲欧洲日韩久久狠狠爱| 永久免费精品视频| 在线国产综合一区二区三区 | 中文字幕佐山爱一区二区免费| 国产精品嫩草影院视频| 国产91全国探花系列在线播放| 夜夜高潮夜夜爽国产伦精品| 欧美精品成人一区二区视频一| 国产一二视频| 一本视频精品中文字幕| 色妞www精品视频一级下载| 精品国产女同疯狂摩擦2|