




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./廣東商學(xué)院2012-JX16-本科畢業(yè)論文〔設(shè)計(jì)基于云計(jì)算平臺(tái)的Openstack系統(tǒng)集成與實(shí)現(xiàn)院〔系信息學(xué)院專業(yè)軟件工程學(xué)號(hào)08251104155學(xué)生姓名HSIN指導(dǎo)教師陳章提交日期2012年05月15日XX交通大學(xué)2009屆本科畢業(yè)設(shè)計(jì)〔論文.誠(chéng)信聲明本人鄭重聲明:所呈交的畢業(yè)論文<設(shè)計(jì)>是我個(gè)人在導(dǎo)師指導(dǎo)下,由我本人獨(dú)立完成.有關(guān)觀點(diǎn)、方法、數(shù)據(jù)和文獻(xiàn)等的引用已在文中特別指出,并與參考文獻(xiàn)相對(duì)應(yīng).據(jù)我查證,除了文中特別加以標(biāo)注外,論文中不包括其他已經(jīng)發(fā)表和撰寫的研究成果,也不包括為獲得其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料.我承諾,論文中的所有內(nèi)容均真實(shí)、可信.如在文中涉及到抄襲或剽竊行為,本人愿承擔(dān)由此而造成的一切后果及責(zé)任.畢業(yè)論文〔設(shè)計(jì)作者簽名:年月日畢業(yè)論文<設(shè)計(jì)>成績(jī)?cè)u(píng)定表畢業(yè)論文〔設(shè)計(jì)指導(dǎo)教師評(píng)語(yǔ)及成績(jī)成績(jī)指導(dǎo)教師簽名年月日畢業(yè)論文〔設(shè)計(jì)復(fù)評(píng)教師評(píng)語(yǔ)及成績(jī)成績(jī)復(fù)評(píng)教師簽名年月日畢業(yè)論文〔設(shè)計(jì)答辯評(píng)語(yǔ)及成績(jī)成績(jī)答辯委員會(huì)主席簽名年月日畢業(yè)論文〔設(shè)計(jì)總成績(jī)〔五級(jí)記分制院〔系負(fù)責(zé)人簽名年月日TITLE:TheOpenstacksystemintegrationBasedoncloudcomputingplatformMAJOR:SoftwareEngineeringAPPLICANT:ZhixinZhaoSUPERVISOR:ZhangChen摘要云計(jì)算是一種商業(yè)模型,被稱為繼個(gè)人電腦、互聯(lián)網(wǎng)之后的第三次信息化革命.云計(jì)算正顛覆著傳統(tǒng)的it模式,通過(guò)對(duì)云的應(yīng)用和管理,企業(yè)可以降低信息化建設(shè)成本和各部門重復(fù)投資的硬件與管理成本,云計(jì)算的核心思想是將大量用網(wǎng)絡(luò)連接的計(jì)算資源統(tǒng)一管理和調(diào)度,從而形成一個(gè)計(jì)算資源池向用戶按需供給的服務(wù).云計(jì)算已成為現(xiàn)代IT行業(yè)的一種趨勢(shì),對(duì)云計(jì)算的探討是很有必要和價(jià)值的.從整體上來(lái)說(shuō),云計(jì)算的應(yīng)用是基于大規(guī)模分布式的基礎(chǔ)架構(gòu)及平臺(tái)之上的云計(jì)算應(yīng)用兩個(gè)方面的,其中,基礎(chǔ)架構(gòu)建設(shè)是整個(gè)云計(jì)算平臺(tái)的基礎(chǔ),一種基于IaaS層資源管理的系統(tǒng)是必不可少的.Openstack是一款完全免費(fèi)的開(kāi)源的云操作管理工具,旨在為公共及私有云的建設(shè)與管理提供軟件,目前由OpenStack基金會(huì)管理,以其開(kāi)放性,獲得了眾多廠商和開(kāi)發(fā)者的支持,它提供了一種基礎(chǔ)設(shè)施即服務(wù)〔IaaS的云計(jì)算解決方案.Openstack通過(guò)創(chuàng)建、啟動(dòng)和部署虛擬機(jī)的方式將資源引入云中.另外Openstack還可以通過(guò)虛擬機(jī)的方式將物理設(shè)備上分散的資源有效地集中起來(lái),快速便捷地引入云中,提高資源的利用率.本文通過(guò)全方位的展示開(kāi)源云計(jì)算IaaS平臺(tái)OpenStack的技術(shù),展示目前這個(gè)平臺(tái)的發(fā)展現(xiàn)狀,以及這個(gè)平臺(tái)部署過(guò)程中會(huì)遇到的問(wèn)題,分享基于這個(gè)平臺(tái)的部署和開(kāi)發(fā)過(guò)程中的實(shí)戰(zhàn)經(jīng)驗(yàn),來(lái)加深人們對(duì)云計(jì)算平臺(tái)的認(rèn)識(shí)和理解,讓人們深入了解openstack的架構(gòu)和原理,以及在基礎(chǔ)設(shè)施層的部署實(shí)現(xiàn)和集成.技術(shù)分析,講解OpenStack部署應(yīng)用以及在此過(guò)程中遇到的問(wèn)題,OpenStack的常用模塊及功能;實(shí)戰(zhàn)集成部署演示,也是本文重要的一個(gè)環(huán)節(jié).最后對(duì)所有過(guò)程進(jìn)行了總結(jié),并討論進(jìn)一步工作展望.關(guān)鍵字:云計(jì)算Openstack系統(tǒng)配置管理虛擬機(jī).AbstractCloudcomputingisabusinessmodeldesign,calledtheThirdinformationrevolutionafterthePCandtheInterne.CloudcomputingischangingtheIT’straditionalmodel,whichcanhelpcompaniesreducetheirconstructioncostsandtheduplicationtechnologyinvestmentinhardwareandmanagementcosts.Cloudcomputing’scoreideaisthatpeoplewanttotogetheralargenumberofnetworkresourcestomanageandschedule,toformaresourcespoolofthecomputingandaffordon-demandservicesforusers.
CloudcomputinghasbecomethetrendofthemodernITindustry,soitisisnecessaryandvalueabletodiscussthecloudcomputing.
Asawhole,theapplicationofcloudcomputingisbasedontwoaspects,thatisthelarge-scaledistributedinfrastructureandplatformcloudcomputingapplications.Intheaspects,theIaaSisthebasicframeworkfortheconstructionoftheentirecloudcomputingplatform.AIaas‘slayer
managementsystemisveryessential.
Openstackisacompletelyfreeopen-sourcecloudmanagementtool,designedtoprovidesoftwareforthemanagementofpublicandprivateclouds.OpenStackismanagedbyOpenStackFoundationmanagement,whichissupportedbymanyvendorsanddevelopersbecauseitsopenness.Itprovidesancloudcomputingsolutionforinfrastructureasaservice<IaaS>.
Openstackcanlaunchanddeployvirtualmachinestoputresourcesintothecloud.
Inaddition,Openstackcanalsoconcentrateeffectivelytheresourseswhicharescatteredonphysicalequipmentstodistributeresourcesbydeployingvirtualmachines.ThisarticlewilldemonstrateafullrangeofopensourcecloudcomputingIaaSplatformaboutOpenStacktechnology,showthecurrentdevelopmentofthisplatform,aswellastheproblemsencounteredwhendeployingintheprocess.Sharingthehands-onexperiencebasedonthisplatformtodeepenpeople'sawarenessandunderstandingaboutcloudcomputingplatform,letpeopleinsightintothestructureandprinciplesoftheopenstack,aswellasimplementationandintegrationoninfrastructuredeployment.
Technicalanalysis,toexplainOpenStack’sapplicationsaboutdeploymentandtheproblemsencounteredinthedeploymentprocess,tounstandcommonlyusedmodulesandfunctionsaboutOpenstack;Integrationofactualcombatdeploymentdemonstration,alsoisimportantlinkinthisarticle.Finally,allprocesseswillbesummarizedanddiscussed,andoutlooktothefurtherwork.Keywords:CloudComputingOpenstackCloudoperatingsystemvirtualmachine目錄引言51.項(xiàng)目定義52.編寫目的53.項(xiàng)目背景5第一章云計(jì)算61.1什么是云計(jì)算61.2云計(jì)算的特點(diǎn)及發(fā)展71.3云計(jì)算之于世界91.4云計(jì)算在之于中國(guó)9第二章Openstack與云計(jì)算102.1什么是Openstack102.2Openstack架構(gòu)112.3.1云服務(wù)提供商的概念架構(gòu)112.3.2OpenStackCompute架構(gòu)122.3為什么選擇Openstack22第三章Openstack安裝配置243.1分布式安裝243.2安裝環(huán)境準(zhǔn)備243.3Server1安裝配置253.3.1安裝Server1253.3.2配置Networking353.3.3配置NTP353.3.4DNS安裝與配置363.3.5配置Glance373.3.6配置Mysql數(shù)據(jù)庫(kù)383.3.7配置NovaComponents383.3.8修改ubuntuopenstackbug403.3.9配置nova-volume服務(wù)403.3.10修改配置文件權(quán)限403.3.11重啟相關(guān)服務(wù)403.3.12初始化數(shù)據(jù)413.3.12下載證書(shū)413.3.13測(cè)試服務(wù)423.4Server2安裝配置423.4.1安裝配置Server2系統(tǒng)423.4.2配置Networking423.4.3配置NTP433.4.4配置NovaComponents43第四章Openstack管理客戶端454.1euca2ools454.2hybridfox46第五章Openstack系統(tǒng)管理485.1創(chuàng)建用戶和項(xiàng)目485.2上傳鏡像495.3設(shè)置安全區(qū)505.4啟動(dòng)虛擬機(jī)515.5指派IP525.6訪問(wèn)虛擬機(jī)535.7分配volume535.8終止虛擬機(jī)55第六章OpenstackDashbord安裝與配置576.1keystone576.1.1安裝keystone576.1.2配置keystone576.1.3初始化keystone數(shù)據(jù)606.1.4測(cè)試616.1.5修改nova的驗(yàn)證機(jī)制626.1.6修改glance的驗(yàn)證機(jī)制676.2dashboard746.2.1安裝配置openstack-dashboard746.2.2dashboard的配置756.2.3配置apache服務(wù)器786.2.4修改logo796.2.5驗(yàn)證安裝80第七章Openstack上虛擬機(jī)的監(jiān)控817.1nagios配置文件說(shuō)明817.2配置文件的使用82結(jié)論86謝辭87參考文獻(xiàn)88.引言項(xiàng)目定義當(dāng)今社會(huì)是信息的社會(huì),信息就是王道,隨著社會(huì)和it技術(shù)的發(fā)展,各大企事業(yè)單位的信息中心都會(huì)面臨越來(lái)越多的服務(wù)器和越來(lái)越多的部門需要自己的服務(wù)器.如按照原來(lái)的方式,每個(gè)單位里就得按照部門給分配服務(wù)器,這樣表面上看起來(lái)不錯(cuò),每個(gè)部門有自己的服務(wù)器.但其實(shí)資源浪費(fèi)很大,因?yàn)椴⒉皇敲總€(gè)部門都可以把服務(wù)器資源使用到滿負(fù)荷,并且這些服務(wù)器硬件還得有專門的人來(lái)維護(hù),這無(wú)形之中增加了企業(yè)的成本和負(fù)擔(dān).為了經(jīng)濟(jì)和高效,虛擬化技術(shù)的發(fā)展正在逐步的解決這些問(wèn)題,但是對(duì)于多服務(wù)器的資源整合和動(dòng)態(tài)分配,資源的統(tǒng)一管理等方面虛擬化并不理想.迫切需要一種解決方案,基于資源整合的云平臺(tái)操作系統(tǒng)Openstack正是這樣的一個(gè)完美的解決方案.所以對(duì)Openstack的理解,研究和實(shí)戰(zhàn)部署對(duì)一個(gè)想在云端發(fā)展的企業(yè)來(lái)說(shuō)是很有必要的.2.編寫目的希望通過(guò)本文,能幫助大家更為具體的了解云計(jì)算和OpenStack,以及如何用Openestack配置搭建企業(yè)自己的云開(kāi)發(fā)環(huán)境,并通過(guò)前端來(lái)設(shè)置及管理自己的公共云或私有云.本文目的在于嘗試在企業(yè)的信息中心搭建企業(yè)內(nèi)部的私有云.以便企業(yè)能將閑置的服務(wù)器資源組成企業(yè)的私有云平臺(tái)來(lái)為各個(gè)部門服務(wù).3.項(xiàng)目背景人類社會(huì)從蒸汽機(jī)進(jìn)入了工業(yè)時(shí)代,從電進(jìn)入了現(xiàn)代文明,從計(jì)算機(jī)互聯(lián)網(wǎng)進(jìn)入了地球村的時(shí)代.那么云時(shí)代的到來(lái),將會(huì)是怎樣的一番景象呢?云計(jì)算被認(rèn)為是繼個(gè)人電腦、互聯(lián)網(wǎng)之后電子信息技術(shù)領(lǐng)域又一次重大變革,其實(shí)質(zhì)是一種基于互聯(lián)網(wǎng)的計(jì)算模式,在這樣模式下,計(jì)算資源〔計(jì)算能力、存儲(chǔ)能力、交互能力是動(dòng)態(tài)、可伸縮且虛擬化的,以服務(wù)的方式提供.這種新型的計(jì)算資源組織、分配和使用模式,有利于合理配置計(jì)算資源并提高其利用率,降低成本,促進(jìn)節(jié)能減排,實(shí)現(xiàn)綠色計(jì)算.OpenStack作為一個(gè)開(kāi)源的云操作系統(tǒng),吸引了越來(lái)越多的廠商加入,據(jù)統(tǒng)計(jì)有超過(guò)130家企業(yè)及1350位開(kāi)發(fā)者加入這一系統(tǒng)項(xiàng)目,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)〔簡(jiǎn)稱IaaS資源的通用前端,最近新浪云計(jì)算宣布正式加入全球開(kāi)源云計(jì)算項(xiàng)目Openstack,將選擇OpenStack作為IaaS平臺(tái)解決方案.作為OpenStack中國(guó)的積極推動(dòng)者,這在很大程度上將推動(dòng)OpenStack云開(kāi)源代碼項(xiàng)目的發(fā)展.云計(jì)算在當(dāng)今世界,科學(xué)技術(shù)日新月異,技術(shù)的發(fā)展正推動(dòng)這個(gè)世界飛速的發(fā)展,稍不留神,你就會(huì)發(fā)現(xiàn)你已被這個(gè)時(shí)代落在了后面.云計(jì)算正是在這樣的背景下應(yīng)運(yùn)而生的,當(dāng)今世界,幾乎所有的廠商都在談云計(jì)算,真可謂是"無(wú)所不云",可是話又說(shuō)回來(lái),究竟什么才是云呢?與其說(shuō)云計(jì)算是一種新型的技術(shù)創(chuàng)新,不如說(shuō)是一種新的思維方式的轉(zhuǎn)變.舉個(gè)簡(jiǎn)單的例子吧,云計(jì)算的發(fā)展就跟我們大家熟悉的電的發(fā)展差不多.大家都知道,以前的電都是用單個(gè)的發(fā)電機(jī)發(fā)電供電的,這樣的電一般是比較昂貴的,但這在當(dāng)時(shí)的環(huán)境下誰(shuí)也沒(méi)有異議,可是后來(lái)有人提出電廠的概念,直到電廠發(fā)電成為現(xiàn)實(shí),電的使用變得便宜和方便,人們用電就跟呼吸空氣一樣自然了.我們熟知的it信息資源的發(fā)展也正經(jīng)歷著類似的變化.云的目的就是要將it資源的使用變得和電,甚至和空氣一樣.下面我將重點(diǎn)介紹究竟什么云計(jì)算.1.1什么是云計(jì)算云計(jì)算的概率概念是由Google率先提出的,狹義云計(jì)算是指IT基礎(chǔ)設(shè)施的交付和使用模式,指通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的資源;廣義云計(jì)算是指服務(wù)的交付和使用模式,指通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的服務(wù).云計(jì)算是網(wǎng)格計(jì)算、分布式計(jì)算、并行計(jì)算、效用計(jì)算、云計(jì)算網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物.它旨在通過(guò)網(wǎng)絡(luò)把多個(gè)成本相對(duì)較低的計(jì)算實(shí)體整合成一個(gè)具有強(qiáng)大計(jì)算能力的完美系統(tǒng),并借助SaaS、PaaS、IaaS、MSP等先進(jìn)的商業(yè)模式把這強(qiáng)大的計(jì)算能力分布到終端用戶手中.CloudComputing的一個(gè)核心理念就是通過(guò)不斷提高"云"的處理能力,進(jìn)而減少用戶終端的處理負(fù)擔(dān),最終使用戶終端簡(jiǎn)化成一個(gè)單純的輸入輸出設(shè)備,并能按需享受"云"的強(qiáng)大計(jì)算處理能力!云計(jì)算的關(guān)鍵技術(shù)包括:快速部署,資源調(diào)度,多租戶,海量數(shù)據(jù)處理,大規(guī)模消息通信,大規(guī)模分布式存儲(chǔ),許可證管理和計(jì)費(fèi).快速部署技術(shù)分并行部署技術(shù)和協(xié)同部署技術(shù),前者將傳統(tǒng)的順序部署方式改為并行執(zhí)行,同時(shí)執(zhí)行多個(gè)部署任務(wù),將虛擬機(jī)同時(shí)部署到多個(gè)物理機(jī)上,后者將虛擬機(jī)鏡像在多個(gè)目標(biāo)物理機(jī)之間的網(wǎng)絡(luò)中傳輸,提高部署速度.資源調(diào)度,在特定的資源環(huán)境下,根據(jù)一定的資源使用規(guī)則,在不同的資源使用者之間進(jìn)行資源調(diào)整的過(guò)程.多租戶技術(shù),即大量用戶共享同一堆棧的軟、硬件資源,每個(gè)用戶按需使用資源,能夠?qū)浖?wù)進(jìn)行客戶化配置而不影響其他用戶的使用,采用多租戶技術(shù)的SaaS應(yīng)用特征.海量數(shù)據(jù)處理,即對(duì)大規(guī)模數(shù)據(jù)的計(jì)算和分析,通常數(shù)據(jù)的規(guī)模可達(dá)TB甚至PB級(jí)別,典型例子如搜索引擎等.大規(guī)模的消息通信包括,同步消息通信,和異步消息通信,在云計(jì)算中要求足夠穩(wěn)定,可擴(kuò)展,安全高效.大規(guī)模分布式存儲(chǔ)技術(shù)又分為分布式文件系統(tǒng)〔如Franqupani,GoogleFileSystem和云存儲(chǔ)服務(wù)〔如AmazonSimpleStorageService,GoogleBigTable.許可證管理與計(jì)費(fèi),包括it基礎(chǔ)設(shè)施的許可證管理與計(jì)費(fèi)模式,分是按需收費(fèi)還是按使用收費(fèi).較成熟的是Amazon提供的EC2和S3的按量計(jì)費(fèi)模式.云計(jì)算架構(gòu)層次圖云構(gòu)架的服務(wù)層次:基礎(chǔ)設(shè)施即服務(wù)〔IaaS,提供虛擬化的計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源,典型案例如AmazonEC2;平臺(tái)即服務(wù)〔PaaS,使軟件開(kāi)發(fā)人員充分利用開(kāi)放的資源來(lái)開(kāi)發(fā)定制化的應(yīng)用,如GoogleAppEngine;軟件即服務(wù)<SaaS>,軟件或應(yīng)用通過(guò)租用的形式提供給用戶使用,如S和GoogleGmail、Docs.基礎(chǔ)設(shè)施層的基本功能有:資源抽象,資源監(jiān)控,復(fù)雜管理,數(shù)據(jù)管理,資源部署,安全管理,計(jì)費(fèi)管理等.平臺(tái)層的基本功能有:開(kāi)發(fā)平臺(tái),包括應(yīng)用模型、Api代碼和開(kāi)發(fā)測(cè)試環(huán)境;運(yùn)行時(shí)環(huán)境,包括驗(yàn)證、配置、部署和激活;運(yùn)營(yíng)環(huán)境,包括升級(jí)、監(jiān)控、淘汰和計(jì)費(fèi).應(yīng)用層分為標(biāo)準(zhǔn)應(yīng)用,客服應(yīng)用和多元應(yīng)用.標(biāo)準(zhǔn)應(yīng)用如如文檔處理、電子郵件、日程管理等,提供商往往是實(shí)力雄厚的IT業(yè)巨頭.客戶應(yīng)用如客戶管理系統(tǒng)CRM、企業(yè)資源計(jì)劃系統(tǒng)ERP,提供商是規(guī)模較小的專業(yè)公司.多元應(yīng)用如地鐵時(shí)刻表服務(wù)Mutiny、期權(quán)交易方案提供TheOptionLab提供商多是規(guī)模較小的開(kāi)發(fā)團(tuán)隊(duì).當(dāng)然我們也可以根據(jù)服務(wù)對(duì)象的不同,將云分為私有云,公有云和混合云.私有云——為"一個(gè)"客戶單獨(dú)使用而構(gòu)建的,因而提供對(duì)數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制;該公司擁有基礎(chǔ)設(shè)施,并可以控制在此基礎(chǔ)設(shè)施上部署應(yīng)用程序的方式;私有云可部署在企業(yè)數(shù)據(jù)中心的防火墻內(nèi),也可以將它們部署在一個(gè)安全的主機(jī)托管場(chǎng)所;私有云可由云提供商進(jìn)行構(gòu)建,通過(guò)托管模式,構(gòu)筑一個(gè)公司企業(yè)數(shù)據(jù)中心內(nèi)的專用云.而公有云——?jiǎng)t是針對(duì)外部客戶,通過(guò)網(wǎng)絡(luò)方式提供可擴(kuò)展的彈性服務(wù).顧名思義,混合云位于公有云和私有云之間.1.2云計(jì)算的特點(diǎn)及發(fā)展1.2.1數(shù)據(jù)是安全可靠的由于云計(jì)算廠商提供了最可靠、最安全的數(shù)據(jù)存儲(chǔ)中心,所以用戶不用再擔(dān)心數(shù)據(jù)丟失、病毒入侵等麻煩.也許很多人覺(jué)得數(shù)據(jù)只有保存在自己看得見(jiàn)、摸得著的電腦里才最安全,其實(shí)不然.你的電腦可能會(huì)因?yàn)樽约翰恍⌒亩粨p壞,或者被病毒攻擊,導(dǎo)致硬盤上的數(shù)據(jù)無(wú)法恢復(fù),而有機(jī)會(huì)接觸你的電腦的不法之徒則可能利用各種機(jī)會(huì)竊取你的數(shù)據(jù).反之,當(dāng)你的文檔保存在類似GoogleDocs的網(wǎng)絡(luò)服務(wù)上,當(dāng)你把自己的照片上傳到類似GooglePicasaWeb的網(wǎng)絡(luò)相冊(cè)里,你就再也不用擔(dān)心數(shù)據(jù)的丟失或損壞.因?yàn)樵?云"的另一端,有全世界最專業(yè)的團(tuán)隊(duì)來(lái)幫你管理信息,有全世界最先進(jìn)的數(shù)據(jù)中心來(lái)幫你保存數(shù)據(jù).同時(shí),嚴(yán)格的權(quán)限管理策略可以幫助你放心地與你指定的人共享數(shù)據(jù).這樣,你不用花錢就可以享受到最好、最安全的服務(wù),甚至比在銀行里存錢還方便.1.2.2.對(duì)客戶要求低其次,云計(jì)算對(duì)用戶端的設(shè)備要求最低,使用起來(lái)也最方便.大家都有過(guò)維護(hù)個(gè)人電腦上種類繁多的應(yīng)用軟件的經(jīng)歷.為了使用某個(gè)最新的操作系統(tǒng),或使用某個(gè)軟件的最新版本,我們必須不斷升級(jí)自己的電腦硬件.為了打開(kāi)朋友發(fā)來(lái)的某種格式的文檔,我們不得不瘋狂尋找并下載某個(gè)應(yīng)用軟件.為了防止在下載時(shí)引入病毒,我們不得不反復(fù)安裝殺毒和防火墻軟件.所有這些麻煩事加在一起,對(duì)于一個(gè)剛剛接觸計(jì)算機(jī),剛剛接觸網(wǎng)絡(luò)的新手來(lái)說(shuō)不啻一場(chǎng)噩夢(mèng)!如果你再也無(wú)法忍受這樣的電腦使用體驗(yàn),云計(jì)算也許是你的最好選擇.你只要有一臺(tái)可以上網(wǎng)的電腦,有一個(gè)你喜歡的瀏覽器,你要做的就是在瀏覽器中鍵入U(xiǎn)RL,然后盡情享受云計(jì)算帶給你的無(wú)限樂(lè)趣.你可以在瀏覽器中直接編輯存儲(chǔ)在"云"的另一端的文檔,你可以隨時(shí)與朋友分享信息,再也不用擔(dān)心你的軟件是否是最新版本,再也不用為軟件或文檔染上病毒而發(fā)愁.因?yàn)樵?云"的另一端,有專業(yè)的IT人員幫你維護(hù)硬件,幫你安裝和升級(jí)軟件,幫你防范病毒和各類網(wǎng)絡(luò)攻擊,幫你做你以前在個(gè)人電腦上所做的一切.1.2.3.數(shù)據(jù)共享方便此外,云計(jì)算可以輕松實(shí)現(xiàn)不同設(shè)備間的數(shù)據(jù)與應(yīng)用共享.大家不妨回想一下,你自己的聯(lián)系人信息是如何保存的.一個(gè)最常見(jiàn)的情形是,你的手機(jī)里存儲(chǔ)了幾百個(gè)聯(lián)系人的電話號(hào)碼,你的個(gè)人電腦或筆記本電腦里則存儲(chǔ)了幾百個(gè)電子郵件地址.為了方便在出差時(shí)發(fā)郵件,你不得不在個(gè)人電腦和筆記本電腦之間定期同步聯(lián)系人信息.買了新的手機(jī)后,你不得不在舊手機(jī)和新手機(jī)之間同步電話號(hào)碼.對(duì)了,還有你的PDA以及你辦公室里的電腦.考慮到不同設(shè)備的數(shù)據(jù)同步方法種類繁多,操作復(fù)雜,要在這許多不同的設(shè)備之間保存和維護(hù)最新的一份聯(lián)系人信息,你必須為此付出難以計(jì)數(shù)的時(shí)間和精力.這時(shí),你需要用云計(jì)算來(lái)讓一切都變得更簡(jiǎn)單.在云計(jì)算的網(wǎng)絡(luò)應(yīng)用模式中,數(shù)據(jù)只有一份,保存在"云"的另一端,你的所有電子設(shè)備只需要連接互聯(lián)網(wǎng),就可以同時(shí)訪問(wèn)和使用同一份數(shù)據(jù).仍然以聯(lián)系人信息的管理為例,當(dāng)你使用網(wǎng)絡(luò)服務(wù)來(lái)管理所有聯(lián)系人的信息后,你可以在任何地方用任何一臺(tái)電腦找到某個(gè)朋友的電子郵件地址,可以在任何一部手機(jī)上直接撥通朋友的電話號(hào)碼,也可以把某個(gè)聯(lián)系人的電子名片快速分享給好幾個(gè)朋友.當(dāng)然,這一切都是在嚴(yán)格的安全管理機(jī)制下進(jìn)行的,只有對(duì)數(shù)據(jù)擁有訪問(wèn)權(quán)限的人,才可以使用或與他人分享這份數(shù)據(jù).1.2.4.可擴(kuò)展性強(qiáng)最后,云計(jì)算為我們使用網(wǎng)絡(luò)提供了幾乎無(wú)限多的可能,為存儲(chǔ)和管理數(shù)據(jù)提供了幾乎無(wú)限多的空間,也為我們完成各類應(yīng)用提供了幾乎無(wú)限強(qiáng)大的計(jì)算能力.想像一下,當(dāng)你駕車出游的時(shí)候,只要用手機(jī)連入網(wǎng)絡(luò),就可以直接看到自己所在地區(qū)的衛(wèi)星地圖和實(shí)時(shí)的交通狀況,可以快速查詢自己預(yù)設(shè)的行車路線,可以請(qǐng)網(wǎng)絡(luò)上的好友推薦附近最好的景區(qū)和餐館,可以快速預(yù)訂目的地的賓館,還可以把自己剛剛拍攝的照片或視頻剪輯分享給遠(yuǎn)方的親友…離開(kāi)了云計(jì)算,單單使用個(gè)人電腦或手機(jī)上的客戶端應(yīng)用,我們是無(wú)法享受這些便捷的.個(gè)人電腦或其他電子設(shè)備不可能提供無(wú)限量的存儲(chǔ)空間和計(jì)算能力,但在"云"的另一端,由數(shù)千臺(tái)、數(shù)萬(wàn)臺(tái)甚至更多服務(wù)器組成的龐大的集群卻可以輕易地做到這一點(diǎn).個(gè)人和單個(gè)設(shè)備的能力是有限的,但云計(jì)算的潛力卻幾乎是無(wú)限的.當(dāng)你把最常用的數(shù)據(jù)和最重要的功能都放在"云"上時(shí),我們相信,你對(duì)電腦、應(yīng)用軟件乃至網(wǎng)絡(luò)的認(rèn)識(shí)會(huì)有翻天覆地的變化,你的生活也會(huì)因此而改變.互聯(lián)網(wǎng)的精神實(shí)質(zhì)是自由、平等和分享.作為一種最能體現(xiàn)互聯(lián)網(wǎng)精神的計(jì)算模型,云計(jì)算必將在不遠(yuǎn)的將來(lái)展示出強(qiáng)大的生命力,并將從多個(gè)方面改變我們的工作和生活.無(wú)論是普通網(wǎng)絡(luò)用戶,還是企業(yè)員工,無(wú)論是IT管理者,還是軟件開(kāi)發(fā)人員,他們都能親身體驗(yàn)到這種改變.1.3云計(jì)算之于世界對(duì)于云計(jì)算的發(fā)展前景,各大互聯(lián)網(wǎng)巨頭都相當(dāng)看好,紛紛為此調(diào)整公司的發(fā)展戰(zhàn)略.Amazon使用彈性計(jì)算云〔EC2和簡(jiǎn)單存儲(chǔ)服務(wù)〔S3為企業(yè)提供計(jì)算和存儲(chǔ)服務(wù).收費(fèi)的服務(wù)項(xiàng)目包括存儲(chǔ)服務(wù)器、帶寬、CPU資源以及月租費(fèi).月租費(fèi)與電話月租費(fèi)類似,存儲(chǔ)服務(wù)器、帶寬按容量收費(fèi),CPU根據(jù)時(shí)長(zhǎng)<小時(shí)>運(yùn)算量收費(fèi).Amazon把云計(jì)算做成一個(gè)大生意沒(méi)有花太長(zhǎng)的時(shí)間:不到兩年時(shí)間,Amazon上的注冊(cè)開(kāi)發(fā)人員達(dá)44萬(wàn)人,還有為數(shù)眾多的企業(yè)級(jí)用戶.有第三方統(tǒng)計(jì)機(jī)構(gòu)提供的數(shù)據(jù)顯示,Amazon與云計(jì)算相關(guān)的業(yè)務(wù)收入已達(dá)1億美元.云計(jì)算是Amazon增長(zhǎng)最快的業(yè)務(wù)之一.Google當(dāng)數(shù)最大的云計(jì)算的使用者.Google搜索引擎就建立在分布在200多個(gè)地點(diǎn)、超過(guò)100萬(wàn)臺(tái)服務(wù)器的支撐之上,這些設(shè)施的數(shù)量正在迅猛增長(zhǎng).Google地球、地圖、Gmail、Docs等也同樣使用了這些基礎(chǔ)設(shè)施.采用GoogleDocs之類的應(yīng)用,用戶數(shù)據(jù)會(huì)保存在互聯(lián)網(wǎng)上的某個(gè)位置,可以通過(guò)任何一個(gè)與互聯(lián)網(wǎng)相連的系統(tǒng)十分便利地訪問(wèn)這些數(shù)據(jù).目前,Google已經(jīng)允許第三方在Google的云計(jì)算中通過(guò)GoogleAppEngine運(yùn)行大型并行應(yīng)用程序.Google值得稱頌的是它不保守.它早已以發(fā)表學(xué)術(shù)論文的形式公開(kāi)其云計(jì)算三大法寶:GFS、MapReduce和BigTable,并在美國(guó)、中國(guó)等高校開(kāi)設(shè)如何進(jìn)行云計(jì)算編程的課程.IBM在2007年11月推出了"改變游戲規(guī)則"的"藍(lán)云"計(jì)算平臺(tái),為客戶帶來(lái)即買即用的云計(jì)算平臺(tái).它包括一系列的自動(dòng)化、自我管理和自我修復(fù)的虛擬化云計(jì)算軟件,使來(lái)自全球的應(yīng)用可以訪問(wèn)分布式的大型服務(wù)器池.使得數(shù)據(jù)中心在類似于互聯(lián)網(wǎng)的環(huán)境下運(yùn)行計(jì)算.IBM正在與17個(gè)歐洲組織合作開(kāi)展云計(jì)算項(xiàng)目.歐盟提供了1.7億歐元做為部分資金.該計(jì)劃名為RESERVOIR,以"無(wú)障礙的資源和服務(wù)虛擬化"為口號(hào).2008年8月,IBM宣布將投資約4億美元用于其設(shè)在北卡羅來(lái)納州和日本東京的云計(jì)算數(shù)據(jù)中心改造.IBM計(jì)劃在2009年在10個(gè)國(guó)家投資3億美元建13個(gè)云計(jì)算中心.微軟緊跟云計(jì)算步伐,于2008年10月推出了WindowsAzure操作系統(tǒng).Azure<譯為"藍(lán)天">是繼Windows取代DOS之后,微軟的又一次顛覆性轉(zhuǎn)型——通過(guò)在互聯(lián)網(wǎng)架構(gòu)上打造新云計(jì)算平臺(tái),讓W(xué)indows真正由PC延伸到"藍(lán)天"上.微軟擁有全世界數(shù)以億計(jì)的Windows用戶桌面和瀏覽器,現(xiàn)在它將它們連接到"藍(lán)天"上.Azure的底層是微軟全球基礎(chǔ)服務(wù)系統(tǒng),由遍布全球的第四代數(shù)據(jù)中心構(gòu)成.1.4云計(jì)算在之于中國(guó)2008年5月10日,IBM在中國(guó)XX太湖新城科教產(chǎn)業(yè)園建立的中國(guó)第一個(gè)云計(jì)算中心投入運(yùn)營(yíng).2008年6月24日,IBM在北京IBM中國(guó)創(chuàng)新中心成立了第二家中國(guó)的云計(jì)算中心——IBM大中華區(qū)云計(jì)算中心;2008年11月28日,XX電子工業(yè)研究院與XX松山湖科技產(chǎn)業(yè)園管委會(huì)簽約,XX電子工業(yè)研究院將在XX松山湖投資2億元建立云計(jì)算平臺(tái);2008年12月30日,阿里巴巴集團(tuán)旗下子公司阿里軟件與XX省XX市政府正式簽訂了2009年戰(zhàn)略合作框架協(xié)議,計(jì)劃于2009年初在XX建立國(guó)內(nèi)首個(gè)"電子商務(wù)云計(jì)算中心",首期投資額將達(dá)上億元人民幣;世紀(jì)互聯(lián)推出了CloudEx產(chǎn)品線,包括完整的互聯(lián)網(wǎng)主機(jī)服務(wù)"CloudExComputingService",基于在線存儲(chǔ)虛擬化的"CloudExStorageService",供個(gè)人及企業(yè)進(jìn)行互聯(lián)網(wǎng)云端備份的數(shù)據(jù)保全服務(wù)等等系列互聯(lián)網(wǎng)云計(jì)算服務(wù);中國(guó)移動(dòng)研究院做云計(jì)算的探索起步較早,已經(jīng)完成了云計(jì)算中心試驗(yàn).中移動(dòng)董事長(zhǎng)兼CEO王建宙認(rèn)為云計(jì)算和互聯(lián)網(wǎng)的移動(dòng)化是未來(lái)發(fā)展方向.我國(guó)企業(yè)創(chuàng)造的"云安全"概念,在國(guó)際云計(jì)算領(lǐng)域獨(dú)樹(shù)一幟.云安全通過(guò)網(wǎng)狀的大量客戶端對(duì)網(wǎng)絡(luò)中軟件行為的異常監(jiān)測(cè),獲取互聯(lián)網(wǎng)中木馬、惡意程序的最新信息,推送到服務(wù)端進(jìn)行自動(dòng)分析和處理,再把病毒和木馬的解決方案分發(fā)到每一個(gè)客戶端.云安全的策略構(gòu)想是:使用者越多,每個(gè)使用者就越安全,因?yàn)槿绱她嫶蟮挠脩羧?足以覆蓋互聯(lián)網(wǎng)的每個(gè)角落,只要某個(gè)網(wǎng)站被掛馬或某個(gè)新木馬病毒出現(xiàn),就會(huì)立刻被截獲.云安全的發(fā)展像一陣風(fēng),瑞星、趨勢(shì)、卡巴斯基、MCAFEE、SYMANTEC、江民科技、PANDA、金山、360安全衛(wèi)士、卡卡上網(wǎng)安全助手等都推出了云安全解決方案.瑞星基于云安全策略開(kāi)發(fā)的2009新品,每天攔截?cái)?shù)百萬(wàn)次木馬攻擊,其中1月8日更是達(dá)到了765萬(wàn)余次.勢(shì)科技云安全已經(jīng)在全球建立了5大數(shù)據(jù)中心,幾萬(wàn)部在線服務(wù)器.據(jù)悉,云安全可以支持平均每天55億條點(diǎn)擊查詢,每天收集分析2.5億個(gè)樣本,資料庫(kù)第一次命中率就可以達(dá)到99%.借助云安全,趨勢(shì)科技現(xiàn)在每天阻斷的病毒感染最高達(dá)1000萬(wàn)次.值得一提的是,云安全的核心思想,與劉鵬早在2003年就提出的反垃圾郵件網(wǎng)格非常接近.劉鵬當(dāng)時(shí)認(rèn)為,垃圾郵件泛濫而無(wú)法用技術(shù)手段很好地自動(dòng)過(guò)濾,是因?yàn)樗蕾嚨娜斯ぶ悄芊椒ú皇浅墒旒夹g(shù).垃圾郵件的最大的特征是:它會(huì)將相同的內(nèi)容發(fā)送給數(shù)以百萬(wàn)計(jì)的接收者.為此,可以建立一個(gè)分布式統(tǒng)計(jì)和學(xué)習(xí)平臺(tái),以大規(guī)模用戶的協(xié)同計(jì)算來(lái)過(guò)濾垃圾郵件:首先,用戶安裝客戶端,為收到的每一封郵件計(jì)算出一個(gè)唯一的"指紋",通過(guò)比對(duì)"指紋"可以統(tǒng)計(jì)相似郵件的副本數(shù),當(dāng)副本數(shù)達(dá)到一定數(shù)量,就可以判定郵件是垃圾郵件;其次,由于互聯(lián)網(wǎng)上多臺(tái)計(jì)算機(jī)比一臺(tái)計(jì)算機(jī)掌握的信息更多,因而可以采用分布式貝葉斯學(xué)習(xí)算法,在成百上千的客戶端機(jī)器上實(shí)現(xiàn)協(xié)同學(xué)習(xí)過(guò)程,收集、分析并共享最新的信息.反垃圾郵件網(wǎng)格體現(xiàn)了真正的網(wǎng)格思想,每個(gè)加入系統(tǒng)的用戶既是服務(wù)的對(duì)象,也是完成分布式統(tǒng)計(jì)功能的一個(gè)信息節(jié)點(diǎn),隨著系統(tǒng)規(guī)模的不斷擴(kuò)大,系統(tǒng)過(guò)濾垃圾郵件的準(zhǔn)確性也會(huì)隨之提高.用大規(guī)模統(tǒng)計(jì)方法來(lái)過(guò)濾垃圾郵件的做法比用人工智能的方法更成熟,不容易出現(xiàn)誤判假陽(yáng)性的情況,實(shí)用性很強(qiáng).反垃圾郵件網(wǎng)格就是利用分布互聯(lián)網(wǎng)里的千百萬(wàn)臺(tái)主機(jī)的協(xié)同工作,來(lái)構(gòu)建一道攔截垃圾郵件的"天網(wǎng)".反垃圾郵件網(wǎng)格思想提出后,被IEEECluster2003國(guó)際會(huì)議選為杰出網(wǎng)格項(xiàng)目在香港作了現(xiàn)場(chǎng)演示,在2004年網(wǎng)格計(jì)算國(guó)際研討會(huì)上作了專題報(bào)告和現(xiàn)場(chǎng)演示,引起較為廣泛的關(guān)注,受到了中國(guó)最大郵件服務(wù)提供商網(wǎng)易公司創(chuàng)辦人丁磊等的重視.既然垃圾郵件可以如此處理,病毒、木馬等亦然,這與云安全的思想就相去不遠(yuǎn)了.第二章Openstack與云計(jì)算2.1什么是OpenstackOpenStack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目.籠統(tǒng)的說(shuō),Openstack可以說(shuō)一個(gè)云操作系統(tǒng),允許企業(yè)在符合安全及合規(guī)性要求的情況下構(gòu)建私有云.它的社區(qū)目前擁有超過(guò)130家企業(yè)及1350位開(kāi)發(fā)者,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)〔簡(jiǎn)稱IaaS資源的通用前端.OpenStack項(xiàng)目的首要任務(wù)是簡(jiǎn)化云的部署過(guò)程并為其帶來(lái)良好的可擴(kuò)展性.Openstack主要又三個(gè)部分組成:Nove,Swift,Glance.OpenStackCompute<Nova>是一套控制器,用于為單個(gè)用戶或使用群組啟動(dòng)虛擬機(jī)實(shí)例.它同樣能夠用于為包含著多個(gè)實(shí)例的特定項(xiàng)目設(shè)置網(wǎng)絡(luò).OpenStackCompute在公共云處理方面堪與AmazonEC2相提并論;而在私有云方面也毫不遜色于VMware的產(chǎn)品在公共云中,這套管理機(jī)制將提供預(yù)制的鏡像或是為用戶創(chuàng)建的鏡像提供存儲(chǔ)機(jī)制,這樣用戶就能夠?qū)㈢R像以虛擬機(jī)的形式啟動(dòng).OpenStack對(duì)象存儲(chǔ)<Swift>是一套用于在大規(guī)模可擴(kuò)展系統(tǒng)中通過(guò)內(nèi)置冗余及容錯(cuò)機(jī)制實(shí)現(xiàn)對(duì)象存儲(chǔ)的系統(tǒng).這些對(duì)象能夠通過(guò)一個(gè)RESTAPI或是像Cyberduck這樣可以對(duì)接對(duì)象存儲(chǔ)API的客戶端加以恢復(fù).OpenStack鏡像服務(wù)<Glance>是一套虛擬機(jī)鏡像查找及檢索系統(tǒng).它能夠以三種形式加以配置:利用OpenStack對(duì)象存儲(chǔ)機(jī)制來(lái)存儲(chǔ)鏡像;利用Amazon的簡(jiǎn)單存儲(chǔ)解決方案〔簡(jiǎn)稱S3直接存儲(chǔ)信息;或者將S3存儲(chǔ)與對(duì)象存儲(chǔ)結(jié)合起來(lái),作為S3訪問(wèn)的連接器.OpenStack鏡像服務(wù)支持多種虛擬機(jī)鏡像格式,包括VMware〔VMDK、Amazon鏡像〔AKI、ARI、AMI以及VirtualBox所支持的各種磁盤格式.鏡像元數(shù)據(jù)的容器格式包括Amazon的AKI、ARI以及AMI信息,標(biāo)準(zhǔn)OVF格式以及二進(jìn)制大型數(shù)據(jù).2.2Openstack架構(gòu)Openstack三個(gè)項(xiàng)目<Nova,Swift,Glance>的基本關(guān)系如下圖1-1所示:1-1OpenStack三個(gè)組件的關(guān)系2.3.1云服務(wù)提供商的概念架構(gòu)OpenStack能幫我們建立自己的IaaS,提供類似AmazonWebService的服務(wù)給客戶.為實(shí)現(xiàn)這一點(diǎn),我們需要提供幾個(gè)高級(jí)特性:允許應(yīng)用擁有者注冊(cè)云服務(wù),查看運(yùn)用和計(jì)費(fèi)情況;允許Developers/DevOpsfolks創(chuàng)建和存儲(chǔ)他們應(yīng)用的自定義鏡像;允許他們啟動(dòng)、監(jiān)控和終止實(shí)例;允許CloudOperator配置和操作基礎(chǔ)架構(gòu)這四點(diǎn)都直擊提供IaaS的核心,現(xiàn)在假設(shè)你同意了這四個(gè)特性,現(xiàn)在就可以將它們放進(jìn)如下所示的概念架構(gòu)2-1中.2-1OpenStack概念架構(gòu)在此模型中,作者假設(shè)了需要與云交互的四個(gè)用戶集:developers,devops,ownersandoperators,并為每類用戶劃分了他們所需要的功能.該架構(gòu)采用的是非常普通的分層方法〔presentation,logicandresources,它帶有兩個(gè)正交區(qū)域.展示層,組件與用戶交互,接受和呈現(xiàn)信息.Webportals為非開(kāi)發(fā)者提供圖形界面,為開(kāi)發(fā)者提供API端點(diǎn).如果是更復(fù)雜的結(jié)構(gòu),負(fù)載均衡,控制代理,安全和名稱服務(wù)也都會(huì)在這層.邏輯層為云提供邏輯〔intelligence和控制功能.這層包括部署〔復(fù)雜任務(wù)的工作流,調(diào)度〔作業(yè)到資源的映射,策略〔配額等等,鏡像注冊(cè)imageregistry<實(shí)例鏡像的元數(shù)據(jù)>,日志<事件和計(jì)量>.假設(shè)絕大多數(shù)服務(wù)提供者已經(jīng)有客戶身份和計(jì)費(fèi)系統(tǒng).任何云架構(gòu)都需要整合這些系統(tǒng).在任何復(fù)雜的環(huán)境下,我們都將需要一個(gè)management層來(lái)操作這個(gè)環(huán)境.它應(yīng)該包括一個(gè)API訪問(wèn)云管理特性以及一些監(jiān)控形式〔forms.很可能,監(jiān)控功能將以整合的形式加入一個(gè)已存在的工具中.當(dāng)前的架構(gòu)中已經(jīng)為我們虛擬的服務(wù)提供商加入了monitoring和adminAPI,在更完全的架構(gòu)中,你將見(jiàn)到一系列的支持功能,比如provisioning和configurationmanagement.最后,資源層.既然這是一個(gè)compute云,我們就需要實(shí)際的compute、network和storage資源,以供應(yīng)給我們的客戶.該層提供這些服務(wù),無(wú)論他們是服務(wù)器,網(wǎng)絡(luò)交換機(jī),NAS〔networkattachedstorage還是其他的一些資源.2.3.2OpenStackCompute架構(gòu)OpenStackCompute邏輯架構(gòu)OpenStackCompute邏輯架構(gòu)中,組件中的絕大多數(shù)可分為兩種自定義編寫的Python守護(hù)進(jìn)程〔customwrittenpythondaemons.分別是接收和協(xié)調(diào)API調(diào)用的WSGI應(yīng)用〔nova-api,glance-api,etc和執(zhí)行部署任務(wù)的Worker守護(hù)進(jìn)程〔nova-compute,nova-network,nova-schedule,etc..然而,邏輯架構(gòu)中有兩個(gè)重要的部分,既不是自定義編寫,也不是基于Python,它們是消息隊(duì)列和數(shù)據(jù)庫(kù).二者簡(jiǎn)化了復(fù)雜任務(wù)〔通過(guò)消息傳遞和信息共享的任務(wù)的異步部署.邏輯架構(gòu)圖3-1如下所示:3-1OpenStackCompute邏輯架構(gòu)從圖中,我們可以總結(jié)出三點(diǎn):終端用戶〔DevOps,Developers和其他的OpenStack組件通過(guò)和nova-api對(duì)話來(lái)與OpenStackCompute交互.OpenStackCompute守護(hù)進(jìn)程之間通過(guò)隊(duì)列〔行為和數(shù)據(jù)庫(kù)〔信息來(lái)交換信息,以執(zhí)行API請(qǐng)求.OpenStackGlance基本上是獨(dú)立的基礎(chǔ)架構(gòu),OpenStackCompute通過(guò)GlanceAPI來(lái)和它交互.其各個(gè)組件的情況如下:nova-api守護(hù)進(jìn)程是OpenStackCompute的中心.它為所有API查詢〔OpenStackAPI或EC2API提供端點(diǎn),初始化絕大多數(shù)部署活動(dòng)〔比如運(yùn)行實(shí)例,以及實(shí)施一些策略〔絕大多數(shù)的配額檢查.nova-compute進(jìn)程主要是一個(gè)創(chuàng)建和終止虛擬機(jī)實(shí)例的Worker守護(hù)進(jìn)程.其過(guò)程相當(dāng)復(fù)雜,但是基本原理很簡(jiǎn)單:從隊(duì)列中接收行為,然后在更新數(shù)據(jù)庫(kù)的狀態(tài)時(shí),執(zhí)行一系列的系統(tǒng)命令執(zhí)行他們.nova-volume管理映射到計(jì)算機(jī)實(shí)例的卷的創(chuàng)建、附加和取消.這些卷可以來(lái)自很多提供商,比如,ISCSI和AoE.Nova-networkworker守護(hù)進(jìn)程類似于nova-compute和nova-volume.它從隊(duì)列中接收網(wǎng)絡(luò)任務(wù),然后執(zhí)行任務(wù)以操控網(wǎng)絡(luò),比如創(chuàng)建bridginginterfaces或改變iptablesrules.Queue提供中心hub,為守護(hù)進(jìn)程傳遞消息.當(dāng)前用RabbitMQ實(shí)現(xiàn).但是理論上能是pythonampqlib支持的任何AMPQ消息隊(duì)列.SQLdatabase存儲(chǔ)云基礎(chǔ)架構(gòu)中的絕大多數(shù)編譯時(shí)和運(yùn)行時(shí)狀態(tài).這包括了可用的實(shí)例類型,在用的實(shí)例,可用的網(wǎng)絡(luò)和項(xiàng)目.理論上,OpenStackCompute能支持SQL-Alchemy支持的任何數(shù)據(jù)庫(kù),但是當(dāng)前廣泛使用的數(shù)據(jù)庫(kù)是sqlite3〔僅適合測(cè)試和開(kāi)發(fā)工作,MySQL和PostgreSQL.OpenStackGlance,是一個(gè)單獨(dú)的項(xiàng)目,它是一個(gè)compute架構(gòu)中可選的部分,分為三個(gè)部分:glance-api,glance-registryandtheimagestore.其中,glance-api接受API調(diào)用,glance-registry負(fù)責(zé)存儲(chǔ)和檢索鏡像的元數(shù)據(jù),實(shí)際的ImageBlob存儲(chǔ)在ImageStore中.ImageStore可以是多種不同的ObjectStore,包括OpenStackObjectStorage<Swift>最后,userdashboard是另一個(gè)可選的項(xiàng)目.OpenStackDashboard提供了一個(gè)OpenStackCompute界面來(lái)給應(yīng)用開(kāi)發(fā)者和devopsstaff類似API的功能.當(dāng)前它是作為DjangowebApplication來(lái)實(shí)現(xiàn)的.當(dāng)然,也有其他可用的Web前端.概念映射將邏輯架構(gòu)映射到概念架構(gòu)中〔如3-2所示,可以看見(jiàn)我們還缺少什么.3-2邏輯架構(gòu)到概念架構(gòu)的映射這種覆蓋方式并不是唯一的,這里的只是作者的理解.通過(guò)覆蓋OpenStackCompute邏輯組件,Glance和Dashboard,來(lái)表示功能范圍.對(duì)于每一個(gè)覆蓋,都有相應(yīng)的提供該功能的邏輯組件的名稱.在這種覆蓋范圍中,最大的差距是logging和billing.此刻,OpenStackCompute沒(méi)有能協(xié)調(diào)logging事件、記錄日志以及創(chuàng)建/呈現(xiàn)bills的Billing組件.真正的焦點(diǎn)是logging和Billing的整合.這能通過(guò)以下方式來(lái)補(bǔ)救.比如代碼擴(kuò)充,商業(yè)產(chǎn)品或者服務(wù)或者自定義日志解析的整合.Identity也是未來(lái)可能要補(bǔ)充的一點(diǎn).customerportal也是一個(gè)整合點(diǎn).userdashboard〔見(jiàn)運(yùn)行的實(shí)例,啟動(dòng)新的實(shí)例沒(méi)有提供一個(gè)界面,來(lái)允許應(yīng)用擁有者簽署服務(wù),跟蹤它們的費(fèi)用以及聲明有問(wèn)題的票據(jù)〔lodgetroubletickets.而且,這很可能對(duì)我們?cè)O(shè)想的服務(wù)提供商來(lái)說(shuō)是合適的.理想的情況是,AdminAPI會(huì)復(fù)制我們能通過(guò)命令行接口做的所有功能.在帶有AdminAPIwork的Diablo發(fā)布中會(huì)更好.云監(jiān)控和操作將是服務(wù)提供商關(guān)注的重點(diǎn).好操作方法的關(guān)鍵是好的工具.當(dāng)前,OpenStackCompute提供nova-instancemonitor,它跟蹤計(jì)算結(jié)點(diǎn)使用情況.未來(lái)我們還需要三方工具來(lái)監(jiān)控.Policy是極其重要的方面,但是會(huì)與供應(yīng)商很相關(guān).從quotas到QoS,到隱私控制都在其管轄內(nèi).當(dāng)前圖上有部分覆蓋,但是這取決于供應(yīng)商的復(fù)雜需求.為準(zhǔn)確起見(jiàn),OpenStackCompute為實(shí)例,浮點(diǎn)IP地址以及元數(shù)據(jù)提供配額.當(dāng)前,OpenStackCompute內(nèi)的Scheduling對(duì)于大的安裝來(lái)說(shuō)是相當(dāng)初步的.調(diào)度器是以插件的方式設(shè)計(jì)的,目前支持chance<隨機(jī)主機(jī)分配>,simple<最少負(fù)載>和zone〔在一個(gè)可用區(qū)域里的隨機(jī)結(jié)點(diǎn).分布式的調(diào)度器和理解異構(gòu)主機(jī)的調(diào)度器正在開(kāi)發(fā)之中. 如你所見(jiàn),OpenStackCompute為我們想象的服務(wù)提供商,提供了一個(gè)不錯(cuò)的基礎(chǔ),只要服務(wù)提供商愿意做一些整合.OpenStackCompute系統(tǒng)架構(gòu)OpenStackCompute由一些主要組件組成."Cloudcontroller"包含很多組件,它表示全局狀態(tài),以及與其他組件交互.實(shí)際上,它提供的是Nova-api服務(wù).它的功能是:為所有API查詢提供一個(gè)端點(diǎn),初始化絕大多數(shù)的部署活動(dòng),以及實(shí)施一些策略.API服務(wù)器起cloudcontrollerwebService前端的作用.Computecontroller提供compute服務(wù)資源,典型包含computeservice,ObjectStorecomponent可選地提供存儲(chǔ)服務(wù).Authmanager提供認(rèn)證和授權(quán)服務(wù),Volumecontroller為computeservers提供快速和持久的塊級(jí)別存儲(chǔ).Networkcontroller提供虛擬網(wǎng)絡(luò)使computeservers彼此交互以及與公網(wǎng)進(jìn)行交互.Scheduler選擇最合適的computecontroller來(lái)管理〔host一個(gè)實(shí)例.OpenStackCompute建立在無(wú)共享、基于消息的架構(gòu)上.Cloudcontroller通過(guò)HTTP與internalobjectstore交互,通過(guò)AMQP和scheduler、networkcontroller、和volumecontroller來(lái)進(jìn)行通信.為了避免在等待接收時(shí)阻塞每個(gè)組件,OpenStackCompute用異步調(diào)用的方式.為了獲得帶有一個(gè)組件多個(gè)備份的無(wú)共享屬性,OpenStackCompute將所有的云系統(tǒng)狀態(tài)保持在分布式的數(shù)據(jù)存儲(chǔ)中.對(duì)系統(tǒng)狀態(tài)的更新會(huì)寫到這個(gè)存儲(chǔ)中,必要時(shí)用質(zhì)子事務(wù).對(duì)系統(tǒng)狀態(tài)的請(qǐng)求會(huì)從store中讀出.在少數(shù)情況下,控制器也會(huì)短時(shí)間緩存讀取結(jié)果.OpenStackCompute物理架構(gòu)OpenStackCompute采用無(wú)共享、基于消息的架構(gòu),非常靈活,我們能安裝每個(gè)nova-service在單獨(dú)的服務(wù)器上,這意味著安裝OpenStackCompute有多種可能的方法.可能多結(jié)點(diǎn)部署唯一的聯(lián)合依賴性,是Dashboard必須被安裝在nova-api服務(wù)器.幾種部署架構(gòu)如下:?jiǎn)谓Y(jié)點(diǎn):一臺(tái)服務(wù)器運(yùn)行所有的nova-services,同時(shí)也驅(qū)動(dòng)虛擬實(shí)例.這種配置只為嘗試OpenStackCompute,或者為了開(kāi)發(fā)目的;雙結(jié)點(diǎn):一個(gè)cloudcontroller結(jié)點(diǎn)運(yùn)行除nova-compute外的所有nova-services,compute結(jié)點(diǎn)運(yùn)行nova-compute.一臺(tái)客戶計(jì)算機(jī)很可能需要打包鏡像,以及和服務(wù)器進(jìn)行交互,但是并不是必要的.這種配置主要用于概念和開(kāi)發(fā)環(huán)境的證明.多結(jié)點(diǎn):通過(guò)簡(jiǎn)單部署nova-compute在一臺(tái)額外的服務(wù)器以及拷貝nova.conf文件到這個(gè)新增的結(jié)點(diǎn),你能在兩結(jié)點(diǎn)的基礎(chǔ)上,添加更多的compute結(jié)點(diǎn),形成多結(jié)點(diǎn)部署.在較為復(fù)雜的多結(jié)點(diǎn)部署中,還能增加一個(gè)volumecontroller和一個(gè)networkcontroller作為額外的結(jié)點(diǎn).對(duì)于運(yùn)行多個(gè)需要大量處理能力的虛擬機(jī)實(shí)例,至少是4個(gè)結(jié)點(diǎn)是最好的.一個(gè)可能的OpenstackCompute多服務(wù)器部署〔集群中聯(lián)網(wǎng)的虛擬服務(wù)器可能會(huì)改變?nèi)缦?-3所示:3-3 OpenStackCompute物理架構(gòu)一如果你注意到消息隊(duì)列中大量的復(fù)制引發(fā)了性能問(wèn)題,一種可選的架構(gòu)是增加更多的Messaging服務(wù)器.在這種情形下,除了可以擴(kuò)展數(shù)據(jù)庫(kù)服務(wù)器外,還可以增加一臺(tái)額外的RabbitMQ服務(wù)器.部署中可以在任意服務(wù)器上運(yùn)行任意nova-service,只要nova.conf中配置為指向RabbitMQ服務(wù)器,并且這些服務(wù)器能發(fā)送消息到它. 下圖3-4是另外一種多結(jié)點(diǎn)的部署架構(gòu).3-4多結(jié)點(diǎn)的部署架構(gòu)二OpenStackCompute服務(wù)架構(gòu)因?yàn)镃ompute有多個(gè)服務(wù),也可能有多種配置,下圖3-5顯示了總體的服務(wù)架構(gòu),以及服務(wù)之間的通信系統(tǒng).3-5OpenStackCompute服務(wù)架構(gòu)OpenStackImageServiceOpenStackImageService包括兩個(gè)主要的部分,分別是APIserver和Registryserver<s>.OpenStackImageService的設(shè)計(jì),盡可能適合各種后端倉(cāng)儲(chǔ)和注冊(cè)數(shù)據(jù)庫(kù)方案.APIServer〔運(yùn)行"glanceapi"程序起通信hub的作用.比如各種各樣的客戶程序,鏡像元數(shù)據(jù)的注冊(cè),實(shí)際包含虛擬機(jī)鏡像數(shù)據(jù)的存儲(chǔ)系統(tǒng),都是通過(guò)它來(lái)進(jìn)行通信的.APIserver轉(zhuǎn)發(fā)客戶端的請(qǐng)求到鏡像元數(shù)據(jù)注冊(cè)處和它的后端倉(cāng)儲(chǔ).OpenStackImageService就是通過(guò)這些機(jī)制來(lái)實(shí)際保存進(jìn)來(lái)的虛擬機(jī)鏡像的.OpenStackImageService支持的后端倉(cāng)儲(chǔ)有:OpenStackObjectStorage.它是OpenStack中高可用的對(duì)象存儲(chǔ)項(xiàng)目.FileSystem.OpenStackImageService存儲(chǔ)虛擬機(jī)鏡像的默認(rèn)后端是后端文件系統(tǒng).這個(gè)簡(jiǎn)單的后端會(huì)把鏡像文件寫到本地文件系統(tǒng).S3.該后端允許OpenStackImageService存儲(chǔ)虛擬機(jī)鏡像在AmazonS3服務(wù)中.HTTP.OpenStackImageService能通過(guò)HTTP在Internet上讀取可用的虛擬機(jī)鏡像.這種存儲(chǔ)方式是只讀的.OpenStackImageServiceregistryservers是遵守OpenStackImageServiceRegistryAPI的服務(wù)器.根據(jù)安裝手冊(cè),這兩個(gè)服務(wù)安裝在同一個(gè)服務(wù)器上.鏡像本身則可存儲(chǔ)在OpenStackObjectStorage,Amazon'sS3infrastructure,fileSystem.如果你只需要只讀訪問(wèn),可以存儲(chǔ)在一臺(tái)Web服務(wù)器上.OpenStackObjectStorage關(guān)鍵概念
Accounts和AccountServersOpenStackObjectStorage系統(tǒng)被設(shè)計(jì)來(lái)供許多不同的存儲(chǔ)消費(fèi)者或客戶使用.每個(gè)用戶必須通過(guò)認(rèn)證系統(tǒng)來(lái)識(shí)別自己.為此,OpenStackObjectStorage提供了一個(gè)授權(quán)系統(tǒng)〔swauth.運(yùn)行Account服務(wù)的結(jié)點(diǎn)與個(gè)體賬戶是不同的概念.Account服務(wù)器是存儲(chǔ)系統(tǒng)的部分,必須和Container服務(wù)器和Object服務(wù)器配置在一起.Authentication和AccessPermissions你必須通過(guò)認(rèn)證服務(wù)來(lái)認(rèn)證,以接收OpenStackObjectStorage連接參數(shù)和認(rèn)證令牌.令牌必須為所有后面的container/object操作而傳遞.典型的,特定語(yǔ)言的API處理認(rèn)證,令牌傳遞和HTTPSrequest/response通信. 通過(guò)運(yùn)用X-Container-Read:accountname和X-Container-Write:accountname:username,你能為用戶或者賬戶對(duì)對(duì)象執(zhí)行訪問(wèn)控制.比如,這個(gè)設(shè)置就允許來(lái)自accountname賬戶的的任意用戶來(lái)讀,但是只允許accountname賬戶里的用戶username來(lái)寫.你也能給OpenStackObjectStorage中存儲(chǔ)的對(duì)象授予公共訪問(wèn)的權(quán)限,而且可以通過(guò)Referer頭部阻止像熱鏈接這種基于站點(diǎn)的內(nèi)容盜竊,來(lái)限制公共訪問(wèn).公共的container設(shè)置被用作訪問(wèn)控制列表之上的默認(rèn)授權(quán).比如,X-Container-Read:referer:any這個(gè)設(shè)置,允許任何人能從container中讀,而不管其他的授權(quán)設(shè)置. 一般來(lái)說(shuō),每個(gè)用戶能完全訪問(wèn)自己的存儲(chǔ)賬戶.用戶必須用他們的證書(shū)來(lái)認(rèn)證,一旦被認(rèn)證,他們就能創(chuàng)建或刪除container,以及賬戶之類的對(duì)象.一個(gè)用戶能訪問(wèn)另一個(gè)賬戶的內(nèi)容的唯一方式是,他們享有一個(gè)API訪問(wèn)key或你的認(rèn)證系統(tǒng)提供的會(huì)話令牌.ContainersandObjects一個(gè)Container是一個(gè)存儲(chǔ)隔間,為你提供一種組織屬于屬于你的數(shù)據(jù)的方式.它比較類似于文件夾或目錄.Container和其他文件系統(tǒng)概念的主要差異是containers不能嵌套.然而,你可以在你的賬戶內(nèi)創(chuàng)建無(wú)數(shù)的containers.但是你必須在你的賬戶上有一個(gè)container,因?yàn)閿?shù)據(jù)必須存在Container中. Container取名上的限制是,它們不能包含"/",而且長(zhǎng)度上少于256字節(jié).長(zhǎng)度的限制也適用于經(jīng)過(guò)URL編碼后的名字.比如,CourseDocs的Container名經(jīng)過(guò)URL編碼后是"Course%20Docs",因此此時(shí)的長(zhǎng)度是13字節(jié)而非11字節(jié). 一個(gè)對(duì)象是基本的存儲(chǔ)實(shí)體,和表示你存儲(chǔ)在OpenStackObjectStorage系統(tǒng)中文件的任何可選的元數(shù)據(jù).當(dāng)你上傳數(shù)據(jù)到OpenStackObjectStorage,它原樣存儲(chǔ),由一個(gè)位置〔container,對(duì)象名,以及key/value對(duì)組成的任何元數(shù)據(jù).比如,你可選擇存儲(chǔ)你數(shù)字照片的副本,把它們組織為一個(gè)影集.在這種情況下,每個(gè)對(duì)象可以用元數(shù)據(jù)Album:CaribbeanCruise或Album:AspenSkiTrip來(lái)標(biāo)記. 對(duì)象名上唯一的限制是,在經(jīng)過(guò)URL編碼后,它們的長(zhǎng)度要少于1024個(gè)字節(jié). 上傳的存儲(chǔ)對(duì)象的允許的最大大小5GB,最小是0字節(jié).你能用內(nèi)嵌的大對(duì)象支持和St工具來(lái)檢索5GB以上的對(duì)象.對(duì)于元數(shù)據(jù),每個(gè)對(duì)象不應(yīng)該超過(guò)90個(gè)key/value對(duì),所有key/value對(duì)的總字節(jié)長(zhǎng)度不應(yīng)該超過(guò)4KB.OperationsOperations是你在OpenStackObjectStorage系統(tǒng)上執(zhí)行的行為,比如創(chuàng)建或刪除containers,上傳或下載objects等等.Operations的完全清單可以在開(kāi)發(fā)文檔上找到.Operations能通過(guò)ReSTwebserviceAPI或特定語(yǔ)言的API來(lái)執(zhí)行.值得強(qiáng)調(diào)的是,所有操作必須包括一個(gè)來(lái)自你授權(quán)系統(tǒng)的有效的授權(quán)令牌.特定語(yǔ)言的API綁定一些流行語(yǔ)言支持的API綁定,在RackSpace云文件產(chǎn)品中是可用的.這些綁定在基礎(chǔ)ReSTAPI上提供了一層抽象,允許變成人員直接與container和object模型打交道,而不是HTTP請(qǐng)求和響應(yīng).這些綁定可免費(fèi)下載,使用和修改.它們遵循MIT許可協(xié)議.對(duì)于OpenStackObjectStorage,當(dāng)前支持的API綁定是:PHP,Python,Java,C#/.NET和Ruby.
ObjectStorage如何工作RingRing代表磁盤上存儲(chǔ)的實(shí)體的名稱和它們的物理位置的映射.accounts,containers,andobjects都有單獨(dú)的Ring.其他組件要在這三者之一進(jìn)行任何操作,他們都需要合相應(yīng)的Ring進(jìn)行交互以確定它在集群中的位置.Ring用zones,devices,partitions,和replicas來(lái)維護(hù)映射,在Ring中的每個(gè)分區(qū)都會(huì)在集群中默認(rèn)有三個(gè)副本.分區(qū)的位置存儲(chǔ)在Ring維護(hù)的映射中.Ring也負(fù)責(zé)確定失敗場(chǎng)景中接替的設(shè)備.〔這點(diǎn)類似HDFS副本的復(fù)制.分區(qū)的副本要保證存儲(chǔ)在不同的zone.Ring的分區(qū)分布在OpenStackObjectStorageinstallation所有設(shè)備中.分區(qū)需要移動(dòng)的時(shí)候,Ring確保一次移動(dòng)最少的分區(qū),一次僅有一個(gè)分區(qū)的副本被移動(dòng).權(quán)重能用來(lái)平衡分區(qū)在磁盤驅(qū)動(dòng)上的分布.Ring在代理服務(wù)器和一些背景進(jìn)程中使用.ProxyServer代理服務(wù)器負(fù)責(zé)將OpenStackObjectStorage架構(gòu)中其他部分結(jié)合在一起.對(duì)于每次請(qǐng)求,它都查詢?cè)赗ing中查詢account,container,orobject的位置,并以此轉(zhuǎn)發(fā)請(qǐng)求.公有APIs也是通過(guò)代理服務(wù)器來(lái)暴露的.大量的失敗也是由代理服務(wù)器來(lái)進(jìn)行處理.比如一個(gè)服務(wù)器不可用,它就會(huì)要求Ring來(lái)為它找下一個(gè)接替的服務(wù)器,并把請(qǐng)求轉(zhuǎn)發(fā)到那里.當(dāng)對(duì)象流進(jìn)或流出objectserver時(shí),它們都通過(guò)代理服務(wù)器來(lái)流給用戶,或者通過(guò)它從用戶獲取.代理服務(wù)器不會(huì)緩沖它們.Proxy服務(wù)器的功能可以總結(jié)為:查詢位置,處理失敗,中轉(zhuǎn)對(duì)象.ObjectServerObjectServer,是非常簡(jiǎn)單的blob存儲(chǔ)服務(wù)器,能存儲(chǔ)、檢索和刪除本地磁盤上的對(duì)象,它以二進(jìn)制文件形式存放在文件系統(tǒng)中,元數(shù)據(jù)以文件的擴(kuò)展屬性存放.對(duì)象以源于對(duì)象名的hash和操作的時(shí)間戳的路徑來(lái)存放.上一次寫總會(huì)成功,確保最新的版本將被使用.刪除也視作文件的一個(gè)版本:這確保刪除的文件也被正確復(fù)制,更舊的把本不會(huì)因?yàn)槭∏樾坞x奇消失.ContainerServer其主要工作是處理對(duì)象列表,它不知道對(duì)象在哪里,只是知道哪些對(duì)象在一個(gè)特定的container.列表被存儲(chǔ)為sqlite數(shù)據(jù)庫(kù)文件,類似對(duì)象的方式在集群中復(fù)制.也進(jìn)行了跟蹤統(tǒng)計(jì),包括對(duì)象的總數(shù),以及container中使用的總存儲(chǔ)量.AccountServer它是類似于ContainerServer,除了它是負(fù)責(zé)containers的列表而非對(duì)象.Replication設(shè)計(jì)副本的目的是,在面臨網(wǎng)絡(luò)中斷或驅(qū)動(dòng)失敗等臨時(shí)錯(cuò)誤條件時(shí),保持系統(tǒng)在一致的狀態(tài).副本進(jìn)程會(huì)比較本地的數(shù)據(jù)和每個(gè)遠(yuǎn)處的副本,以確保他們所有都包含最新的版本.對(duì)象副本用一個(gè)Hash列表來(lái)快速比較每個(gè)分區(qū)的片段,而containe和accountreplication用的是Hash和共享的高水印結(jié)合的方法.副本的更新,是基于推送的.對(duì)于對(duì)象副本,更新是遠(yuǎn)程同步文件到Peer.Account和containerreplication通過(guò)HTTPorrsync把整個(gè)數(shù)據(jù)庫(kù)文件推送遺失的記錄.副本也通過(guò)tombstone設(shè)置最新版本的方式,確保數(shù)據(jù)從系統(tǒng)中清除.更新器〔Updaters有時(shí),container或account數(shù)據(jù)不能被立即更新,這通常是發(fā)生在失敗的情形或高負(fù)載時(shí)期.如果一個(gè)更新失敗,該更新會(huì)在文件系統(tǒng)上本地排隊(duì),更新器將處理這些失敗的更新.事件一致性窗口〔eventualconsistencywindow最可能來(lái)起作用.比如,假設(shè)一個(gè)container服務(wù)器正處于載入之中,一個(gè)新對(duì)象正被放進(jìn)系統(tǒng),代理服務(wù)器一響應(yīng)客戶端成功,該對(duì)象就立即可讀了.然而,container服務(wù)器沒(méi)有更新Object列表,所以更新就進(jìn)入隊(duì)列,以等待稍后的更新.Container列表,因此可能還不會(huì)立即包含這個(gè)對(duì)象.實(shí)際上,一致性窗口只是與updater運(yùn)行的頻率一樣大,當(dāng)代理服務(wù)器將轉(zhuǎn)發(fā)清單請(qǐng)求到響應(yīng)的第一個(gè)container服務(wù)器中,也許甚至還不會(huì)被注意.在載入之下的服務(wù)器可能還不是服務(wù)后續(xù)清單請(qǐng)求的那個(gè).另外兩個(gè)副本中的一個(gè)可能處理這個(gè)清單.AuditorsAuditors會(huì)檢查objects,containers,和accounts的完整性.如果發(fā)先損壞的文件,它將被隔離,好的副本將會(huì)取代這個(gè)壞的文件.如果發(fā)現(xiàn)其他的錯(cuò)誤,它們會(huì)記入到日志中.OpenStack
ObjectStorage物理架構(gòu)ProxyServices偏向于CPU和networkI/O密集型,而ObjectServices,ContainerServices,AccountServices偏向于diskandnetworkI/O密集型.可以在每一服務(wù)器上安裝所有的服務(wù),在Rackspace內(nèi)部,他們將ProxyServices放在他們自己的服務(wù)器上,而所有存儲(chǔ)服務(wù)則放在同一服務(wù)器上.這允許我們發(fā)送10G的網(wǎng)絡(luò)給代理,1G給存儲(chǔ)服務(wù)器,從而保持對(duì)代理服務(wù)器的負(fù)載平衡更好管理.我們能通過(guò)增加更多代理來(lái)擴(kuò)展整個(gè)API吞吐量.如果需要獲得Account或ContainerServices更大的吞吐量,它們也可以部署到自己的服務(wù)器上. 在部署OpenStack
ObjectStorage時(shí),可以單結(jié)點(diǎn)安裝,但是它只適用于開(kāi)發(fā)和測(cè)試目的.也可以多服務(wù)器的安裝,它能獲得分布式對(duì)象存儲(chǔ)系統(tǒng)需要的高可用性和冗余.有這樣一個(gè)樣本部署架構(gòu),如圖5-1所示.一個(gè)Proxy結(jié)點(diǎn),運(yùn)行代理服務(wù),一個(gè)Auth結(jié)點(diǎn),運(yùn)行認(rèn)證服務(wù),五個(gè)Storage結(jié)點(diǎn),運(yùn)行Account,Container和Object服務(wù).5-1五個(gè)Storage結(jié)點(diǎn)的OpenStack
ObjectStorage物理架構(gòu)2.3為什么選擇Openstack首先,OpenStack是完全用Python編寫的唯一開(kāi)源的IaaS項(xiàng)目.與C/C++或Java為基礎(chǔ)的項(xiàng)目比較,Python項(xiàng)目意味著更容易安裝,修改,封裝和調(diào)試.第二,因?yàn)樗情_(kāi)源的,在部署或升級(jí)過(guò)程中有錯(cuò)誤發(fā)生時(shí),通過(guò)閱讀源代碼,我們就可以迅速找到原因,并修復(fù)它.第三,由于有Rackspace的參與,OpenStack實(shí)際上是由主機(jī)托管/服務(wù)提供商行業(yè)設(shè)計(jì)的,因此它非常適用于公有云的大服務(wù)器、多租戶的工作負(fù)載.另外,OpenStack成熟的功能性、hypervisor無(wú)關(guān)性設(shè)計(jì)及其可擴(kuò)展特性等,都讓我們非常欣賞.OpenStack自研發(fā)伊始,一直被視作云計(jì)算領(lǐng)域的Linux,其推動(dòng)開(kāi)放源代碼服務(wù)的努力得到了眾多公司的支持.目前就有超過(guò)100個(gè)機(jī)構(gòu)參與了代碼庫(kù)的建設(shè),或在其它方面參與該項(xiàng)目.新浪云計(jì)算將與OpenStack一起合力打造一套可以管理和配置各種虛擬化技術(shù)的IaaS平臺(tái),在開(kāi)源代碼庫(kù)的建設(shè)方面將有著不小的貢獻(xiàn).優(yōu)良的架構(gòu),徹底的開(kāi)源,很有活力,設(shè)備互操作,在云時(shí)代的智能管理、虛擬遷移的滿足.有了openstack,以后不管你用誰(shuí)家的產(chǎn)品,都可以通過(guò)相同的API接口進(jìn)行調(diào)用管理!更重要的是,作為一種基礎(chǔ)設(shè)施云,通過(guò)OpenStack:用戶可以注冊(cè)云服務(wù)、查看使用情況以及賬單;開(kāi)發(fā)商和開(kāi)發(fā)人員是可以創(chuàng)建和存儲(chǔ)自定義的鏡像;開(kāi)發(fā)商和開(kāi)發(fā)人員可以啟動(dòng)、監(jiān)控、停止虛擬機(jī)實(shí)例;操作人員可以配置和操作云基礎(chǔ)設(shè)施.OpenStack各個(gè)項(xiàng)目之間相互獨(dú)立,可以方便對(duì)代碼進(jìn)行分析和測(cè)試.其中,存儲(chǔ)模塊Swift,采用基于對(duì)象的存儲(chǔ),通過(guò)可升級(jí)的對(duì)象存儲(chǔ),以達(dá)到存儲(chǔ)海量的數(shù)據(jù).虛擬機(jī)模塊采用常用的虛擬機(jī)設(shè)定和計(jì)算,提供基于Xen、KVM或VirtualBox在內(nèi)的三種虛擬機(jī)模塊的實(shí)現(xiàn).虛擬網(wǎng)絡(luò)模塊負(fù)責(zé)公共IP分配,VPN的連接和防火墻規(guī)則的設(shè)定,彈性分配和管理虛擬網(wǎng)絡(luò)資源.通過(guò)AMQP這一消息協(xié)議框架接受和響應(yīng)用戶的請(qǐng)求.Openstack擁有超過(guò)130家企業(yè)及1350位開(kāi)發(fā)者,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)〔簡(jiǎn)稱IaaS資源的通用前端.OpenStack除了有Rackspace和NASA的大力支持外,后面還有包括Dell,Citrix,Cisco,Canonical這些重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非常快,有取代另一個(gè)業(yè)界領(lǐng)先開(kāi)源云平臺(tái)Eucalyptus的態(tài)勢(shì).第三章Openstack安裝配置OpenStack是一套用來(lái)管理虛擬機(jī)的平臺(tái)軟件.它不是一個(gè)單一的軟件,而是集成了很多個(gè)組件用來(lái)協(xié)同合作.簡(jiǎn)單的來(lái)說(shuō),譬如有十臺(tái)服務(wù)器,在VMware的情況下,我們?cè)诿颗_(tái)服務(wù)器上安裝esx或者esxi,然后裝一臺(tái)vcenter,在vcenter的管理界面里把十臺(tái)服務(wù)器的esx通過(guò)域名或者ip加入,就能在vcenter里面統(tǒng)一管理.類似的,ubuntu也有virsh這種管理虛擬機(jī)的程序.下面將主要介紹如何從技術(shù)角度來(lái)使用OpenStack.如果要作為生產(chǎn)環(huán)境的話,你還需要考慮更多,譬如架構(gòu),網(wǎng)絡(luò)拓?fù)?存儲(chǔ)的方式,節(jié)點(diǎn)的分布等等.3.1分布式安裝一般將openstack作分布式安裝,安裝一個(gè)controller節(jié)點(diǎn)和一個(gè)node節(jié)點(diǎn).controller節(jié)點(diǎn)作為整個(gè)cluster的控制節(jié)點(diǎn),運(yùn)行云計(jì)算平臺(tái)的控制模塊.node節(jié)點(diǎn)作為虛機(jī)的宿主機(jī),運(yùn)行虛機(jī),接受controller的控制.Controller的安裝Openstack和依賴包Mysql和依賴包Rabbitmq和依賴包Bind9和依賴包安裝ntp和依賴包安裝tgt和依賴包Node的安裝openstack中的nova-compute和nova-networkntpopen-iscsi和依賴包3.2安裝環(huán)境準(zhǔn)備分布式在安裝兩臺(tái),一個(gè)控制節(jié)點(diǎn)Server1,一個(gè)計(jì)算節(jié)點(diǎn)Server2.控制節(jié)點(diǎn)Server1上運(yùn)行nova所有服務(wù),計(jì)算節(jié)點(diǎn)Server2運(yùn)行nova-compute服務(wù).計(jì)算節(jié)點(diǎn)必須支持虛擬化,每個(gè)節(jié)點(diǎn)至少兩個(gè)網(wǎng)卡,eth0接private交換機(jī),eth1接public交換機(jī).Openstack系統(tǒng)環(huán)境架構(gòu)圖如下所示:Figure3Openstack系統(tǒng)環(huán)境架構(gòu)圖TableSEQTable\*ARABIC1云計(jì)算環(huán)境的網(wǎng)絡(luò)配置Server1Server2Client1模塊OpenStack全部模塊,包括nova-computeNova-compute
nova-networkClient
euca2ools網(wǎng)卡eth0-PublicN/W,eth1-
PrivateN/Weth0-PublicN/W,eth1-
PrivateN/Weth0-PublicN/WIPEth0-,eth1-Eth0-eth1-Eth0-9主機(jī)DNS網(wǎng)關(guān)545454注:表格中的ip地址和下述安裝過(guò)程有出入,請(qǐng)安裝實(shí)際情況進(jìn)行配置3.3Server1安裝配置3.3.1安裝Server1安裝過(guò)程中會(huì)要求配置主機(jī)名,IP地址,網(wǎng)關(guān)等,根據(jù)提示一步步設(shè)置好對(duì)應(yīng)的參數(shù):eth0:子網(wǎng)掩碼:網(wǎng)關(guān):54域:33把上圖中域名服務(wù)器地址改為可用的服務(wù)器地址,如"33"域名配置:主機(jī)名:cloud-controller默認(rèn)LVM磁盤分區(qū)向?qū)?選擇對(duì)應(yīng)的磁盤空間進(jìn)行磁盤分區(qū):設(shè)置系統(tǒng)的用戶名和密碼:用戶名:health密碼:tata@123安裝軟件選擇:按空格鍵選中所需要安裝的軟件:OpenSSHserver、DNSServer和Manualpackageselection在下圖所示的包中選擇所需要安裝的服務(wù)組件,按回車鍵打開(kāi)目錄,選中用"shift"和"+",撤消選中用"shift"和"-":ntp,glance,mysql-server,rabbitmy-server,nova-common,nova-doc,python-nova,nova-api,nova-network,nova-volume,nova-objectstore,nova-scheduler,nova-compute,euca2ools,unzipnova
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三亞市吉陽(yáng)區(qū)教育系統(tǒng)招聘編制教師筆試真題2024
- 歷史建筑群保護(hù)社區(qū)兒童游樂(lè)場(chǎng)規(guī)劃基礎(chǔ)知識(shí)點(diǎn)歸納
- 合同和信息管理措施方案
- 脈沖晶閘管型強(qiáng)流開(kāi)關(guān)電熔蝕失效特性研究
- 教學(xué)設(shè)計(jì)10重金屬檢驗(yàn)
- 工業(yè)互聯(lián)網(wǎng)安全能力評(píng)估指標(biāo)體系-洞察闡釋
- 定積分的簡(jiǎn)單應(yīng)用教學(xué)設(shè)計(jì)講課時(shí)間
- 2025至2030年中國(guó)生物潔凈工作臺(tái)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)清彈機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)浴缸暗裝龍頭行業(yè)投資前景及策略咨詢報(bào)告
- emc能源管理合同
- 【專業(yè)版】短視頻直播電商部門崗位職責(zé)及績(jī)效考核指標(biāo)管理實(shí)施辦法
- 湖北省襄陽(yáng)樊城區(qū)七校聯(lián)考2025屆化學(xué)九上期中統(tǒng)考模擬試題含解析
- 幼兒園語(yǔ)言故事《一頂大草帽》課件
- +期末測(cè)試卷(試題)-2023-2024學(xué)年四年級(jí)下冊(cè)數(shù)學(xué)人教版
- 2024春期國(guó)開(kāi)電大本科《經(jīng)濟(jì)學(xué)(本)》在線形考(形考任務(wù)1至6)試題及答案
- 四年級(jí)下冊(cè)數(shù)學(xué)教案-8.1確定位置丨蘇教版
- 【特殊場(chǎng)景條款】物流運(yùn)輸車輛租賃合同(標(biāo)準(zhǔn)版)
- 乳粉大數(shù)據(jù)與智能制造
- 2024外研版初中英語(yǔ)單詞表匯總(七-九年級(jí))中考復(fù)習(xí)必背
- 《初三中考動(dòng)員會(huì)》課件
評(píng)論
0/150
提交評(píng)論