1、引言
云計算的應(yīng)用越來越廣泛,對相關(guān)問題的研究也逐漸深入,不少公司和研究機構(gòu)需要構(gòu)建自己的私有云計算平臺。商業(yè)解決方案存在價格高、授權(quán)模式復(fù)雜等問題,并且無法獲得系統(tǒng)源代碼,很多情況下并不適合采用。開源云計算技術(shù)具有成本低、靈活性高等優(yōu)勢。能夠方便地獲得源代碼進行深入研究,因此很多機構(gòu)都采用開源軟件構(gòu)造私有云計算平臺。目前主要的開源云計算項目有Eucalyptus、OpenStack、OpenNebula和Nimbus,本文在對比這些項目的基礎(chǔ)上,分析了OpenStack的架構(gòu),闡述了利用OpenStack構(gòu)建私有云平臺的方法。
2、私有云平臺概述
2.1私有云概念
從用戶使用的角度來看.云計算平臺可以分為公共云和私有云。公共云部署在互聯(lián)網(wǎng)中,用戶通過網(wǎng)絡(luò)獲得計算資源和存儲資源,并按照“即用即付”(pay-as-you-go)的方式付費。私有云是企業(yè)或組織內(nèi)部數(shù)據(jù)中心的資源,只提供給機構(gòu)內(nèi)部人員使用,不對外面向公眾。私有云計算平臺一般構(gòu)建在機構(gòu)的防火墻內(nèi)部.相對于公共云,其安全性更高.服務(wù)質(zhì)量更有保證。私有云能夠充分利用現(xiàn)有的硬件資源和軟件資源,可以有效地降低信息化成本。
2.2私有云計算平臺構(gòu)建模式
私有云平臺的構(gòu)建可以采用3種模式:研究機構(gòu)自行開發(fā),這種方式需要企業(yè)或研究機構(gòu)有很強的技術(shù)實力。比較典型的是清華大學(xué)的透明計算平臺:采用商業(yè)解決方案,不少商業(yè)公司提供了較為成熟的私有云整體解決方案,比較典型的是IBM的“藍云”計算平臺;使用開源解決方案。這種方案是利用開源系統(tǒng)構(gòu)造企業(yè)或組織的私有云平臺,比較典型的是使用Eucalyptus和OpenStack等開源系統(tǒng)。3種構(gòu)造方式的比較見表1。
2.3開源私有云計算平臺優(yōu)勢
在自行開發(fā)、商業(yè)解決方案和開源解決方案3種私有云的構(gòu)建模式中,開源方案具有如下多個優(yōu)勢。
(1)使用成本低
用戶只需要購買硬件設(shè)備和網(wǎng)絡(luò)設(shè)備,無需為開源軟件的使用付費。即使用戶需要開源軟件開發(fā)商提供服務(wù),其需要付出的費用也相對比較低廉。例如,Ubuntu幫助用戶構(gòu)建基于OpenStack的私有云平臺的服務(wù)費用是9 000美元。相關(guān)工作在5天內(nèi)完成。
(2)開放源代碼
開放源代碼,有利于研究人員對系統(tǒng)內(nèi)部的實現(xiàn)機制進行深入研究。開源軟件使用Apache或其他授權(quán)協(xié)議,用戶能夠獲得系統(tǒng)的源代碼.并且可以通過社區(qū)、討論組等多種形式,與開發(fā)人員和其他用戶深入探討各種技術(shù)問題。
(3)平臺可擴展性強
由于現(xiàn)有的云計算技術(shù)尚在快速發(fā)展中.沒有形成統(tǒng)一的技術(shù)標(biāo)準(zhǔn)和規(guī)范,一旦選擇了一種商業(yè)解決方案,就很難轉(zhuǎn)換到其他平臺。而開源云平臺在設(shè)計時一般會保持對主流云計算技術(shù)(如亞馬遜EC2、S3等)的兼容性,同時提供轉(zhuǎn)換工具,有效地避免了廠商鎖定問題,增強了系統(tǒng)的可擴展性。
3、開源云計算項目現(xiàn)狀
3.1 主流開源云計算項目介紹
目前已經(jīng)有多個云計算平臺的開源實現(xiàn),主要的開源云計算項目有Eucalyptus、OpenStack、CloudStack和OpenNebula等,基本介紹如下。
(1)Eucalyptus
Eucalyptusl6l是加州大學(xué)圣芭芭拉分校計算機科學(xué)系Rich Wolski領(lǐng)導(dǎo)的項目組完成的開源軟件項目,該項目開發(fā)和應(yīng)用較早,目前占有最大的市場份額。其組件無需修改即可使用?梢赃\行在沒做修改的GNU Linux內(nèi)核上。Eucalyptus提供了與Amazon云計算平臺EC2和S3接口的兼容性,可以使客戶應(yīng)用方便地從私有云平臺遷移到公共云平臺。
(2)OpenStack
OpenStack是美國國家航空航天局(NASA)和Rackspace合作研發(fā)的開源云計算平臺項目.整合了NASA的Nebula Platform和Rackspace的Cloud Files Platform技術(shù)。OpenStack得到了多個商業(yè)公司和開源組織的支持,被認(rèn)為是未來開源云計算平臺最具有潛力的技術(shù)。從Ubuntu11.04版本開始,已經(jīng)把OpenStack作為內(nèi)置集成的云計算技術(shù)。
(3)CloudStack
CloudStacktS源于2008年成立的VMOps公司,2010年改名為Cloud.com,分為社區(qū)版本和商業(yè)版本。2011年7月思杰系統(tǒng)(Citrix System)公司收購了Cloud.com,把以前維護的商業(yè)分支全部合并到了開源分支,并把該軟件加入Apache軟件基金會.成為了一個完全開源的項目。目前全球已經(jīng)有多個大規(guī)模應(yīng)用實例,如Zynga、GoDaddy等。
(4)OpenNebula
ODenNebul源于2005年Ignacio M Llorente和Rub6nS Montero創(chuàng)立的一個研究項目,于2008年7月發(fā)布了第一個公開版本。OpenNebula是一個虛擬化企業(yè)數(shù)據(jù)中心和云基礎(chǔ)設(shè)施建設(shè)和管理的行業(yè)開源解決方案,具有開放性、模塊化和可擴展的架構(gòu),目前已成為歐盟云計算項目RESERVOIR中虛擬執(zhí)行環(huán)境管理器VEEM的核心組件。
3.2開源云計算項目對比
Eucalyptus、OpenStack、CloudStack和OpenNebula這4個主流的開源云計算項目各有特點。表2從多個方面對這4個項目進行了對比。
在主流的開源云計算項目中,OpenStack目前已經(jīng)獲得英特爾、惠普、戴爾、Ubuntu、思科等多個重要公司和開源組織的支持,是目前最熱門的開源云計算項目,因此本文選擇OpenStaek構(gòu)造私有云平臺。
4、OpenStack平臺架構(gòu)
4.1 OpenStack服務(wù)架構(gòu)
OpenStack中有Compute、Storage、Image、Identity和Dashboard 5個子項目,其服務(wù)架構(gòu)如圖1所示。
其中,Compute、Storage、Image是核心的3個子項目,提供計算、對象存儲和鏡像管理服務(wù),其他的子項目包括提供身份認(rèn)證的Identity、基于Web的管理控制臺Dashboard等。OpenStack需要通過虛擬化技術(shù)使用基礎(chǔ)硬件平臺,客戶應(yīng)用系統(tǒng)可以通過OpenStack提供的接口(API)訪問各個云服務(wù)實例。
4.2 OpenStack主要實現(xiàn)
OpenStack云計算平臺管理系統(tǒng)目前有Nova、Swift、Glanee、Keystone和Horizon 5個主要的具體實現(xiàn)。Nova是Compute的具體實現(xiàn).主要功能是計算資源管理和云平臺控制服務(wù)管理,運行和管理虛擬服務(wù)器實例等;Swift是Object Storage的具體實現(xiàn).提供分布式云存儲服務(wù),是一個可擴展的對象存儲系統(tǒng);Glance是Image Service的具體實現(xiàn),提供虛擬機鏡像的發(fā)現(xiàn)、注冊、獲取服務(wù);Keystone是Identity的具體實現(xiàn),提供統(tǒng)一的身份認(rèn)證服務(wù);Horizon是Dashboard的具體實現(xiàn)。提供通過Web用戶界面管理云計算平臺的方式。Nova、Glance、Keystone的安裝和使用都需要使用數(shù)據(jù)庫?梢圆捎瞄_源的MySQL、PostgreSQL或SQLite等數(shù)據(jù)庫系統(tǒng)。
Nova和Swift是核心的兩類服務(wù)實現(xiàn)。Nova組件是云平臺的計算模塊,提供多種服務(wù),包括API服務(wù)(nova.api)、消息隊列、計算服務(wù)(nova.compute)、網(wǎng)絡(luò)控制(nova.network)、卷服務(wù)(nova.volume)和調(diào)度管理(nova.scheduler)等;Swirl組件提供云存儲服務(wù)。適合存儲大量、長期、需要備份的數(shù)據(jù)。Swift通過“賬戶一容器一對象”(account.container.object)的形式提供對象存儲服務(wù),一個賬戶下可有多個容器.每個容器中可存儲多個對象。環(huán)服務(wù)是Swift最重要的組件,用于記錄存儲對象與物理位置間的映射關(guān)系。
5、基于OpenStack的私有云平臺構(gòu)建
5.1 總體說明
本文選擇OpenStack來構(gòu)造私有云平臺實例,并采用Ubuntu、KVM等開源軟件作為平臺的基礎(chǔ)操作系統(tǒng)和虛擬化工具。私有云平臺使用的主要開源軟件說明見表3。
本文討論的私有云平臺實例主要應(yīng)用在科研實驗室環(huán)境中.服務(wù)器采用x86架構(gòu),硬件設(shè)備初始的投入成本較低,并可以根據(jù)需要動態(tài)擴展各種資源。私有云平臺的初始硬件配置見表4。
5.2基礎(chǔ)環(huán)境的配置
一個典型的私有云計算平臺至少采用兩臺服務(wù)器,本文將其稱為服務(wù)器1和服務(wù)器2。服務(wù)器1上安裝Nova、Glance、Swift、Keystone和Horizon全部組件,作為云平臺的控制節(jié)點和存儲節(jié)點;服務(wù)器2僅安裝Nova組件,作為云平臺的計算節(jié)點。在平臺性能不能滿足需要的情況下,可以動態(tài)擴展計算和存儲等資源。每臺服務(wù)器均配置2塊吉比特以太網(wǎng)卡.第一塊網(wǎng)卡eth0設(shè)置為外部可訪問的IP地址,第二塊網(wǎng)卡eth1設(shè)置為云平臺各節(jié)點內(nèi)部通信的IP地址。服務(wù)器1和服務(wù)器2的配置說明見表5。
服務(wù)器1和服務(wù)器2首先需要安裝基礎(chǔ)操作系統(tǒng)
(Base OS).本平臺使用Ubuntu Server 12.04的64 bit版本。安裝過程包括系統(tǒng)分區(qū)、設(shè)置初始用戶、配置網(wǎng)卡的IP地址等過程,在選擇系統(tǒng)組件時僅需要選擇Openssh.server。在Ubuntu安裝完成后,需要使用NTP(network time protoc01)同步服務(wù)器時間,即在服務(wù)器1安裝NTP服務(wù)器,其他服務(wù)通過該服務(wù)器進行同步。
由于OpenStack的Nova和Glance等組件需要使用關(guān)系數(shù)據(jù)庫,本平臺在基礎(chǔ)操作系統(tǒng)中安裝MySQL 5.5數(shù)據(jù)庫,并使用下列SQL腳本構(gòu)造OpenStaek數(shù)據(jù)庫:
CREATE DATABASE nova;
CREATE USER novadbadmin;
GRANTALLPRIVILEGESONnova*TO'novadbadmin'@%,'
SET PASSWORD FOR"novadbadmin’@%7=PASSWORD("novasecret,);
CREATE DATABASE glance;
CREATE USER dancedbadmin;
GRANTALLPRIVILEGESoNglance*TO'glancedbadmin'@%'
SET PASSWORD FOR"glancedbadmin'@'%'=PASSWORD("glancesecret');
CREATE DATABASE keystone;
CREATE USER keystonedbadmin;
GRANT ALL PRIVILEGES ON keystone.+TO"keystoned badmin'@7%';
SET PASSWORD FOR 'keystonedbadmin'@%'=PASSWORD("keystonesecret');
5.3 OpenStack各組件的安裝配置
OpenStack一般按照Keystone、Glance、Nova、Swift和Dashboard順序進行安裝和配置,服務(wù)器1依次安裝以上全部組件,服務(wù)器2只需要安裝Nova組件。
(1)安裝和配置Keystone組件
該組件為OpenStaek提供認(rèn)證、授權(quán)、用戶管理和角色管理等服務(wù)。在使用apt-get命令安裝并連接數(shù)據(jù)庫成功后,需要創(chuàng)建租戶(tenant)、用戶(user)和角色(role),關(guān)鍵代碼如下:
keystone tenant-create-name tenant_name
keystone user-create-name user_name-pass user_password.email user_email
keystone role-create-name role_name
然后將租戶、用戶和角色關(guān)聯(lián)起來,關(guān)鍵代碼如下:
keystone user-role-add-user $USER_ID-role $ROLE_ID-tenant_id $TENANT_ID
需要注意的是.SUSER_ID、$ROLEID和$TENANT_ID必須使用OpenStack分配的ID號碼,該號碼可以使用keystone user-list、keystone tenant-list和keystone role-list命令查詢。
接下來是創(chuàng)建服務(wù)目錄和端點(endpoinI)信息,關(guān)鍵代碼如下:
keystone service-create-name service_name-type service_type-description 'Description of the service'
keystone endpoint-create -region region_name-service_id service_id-publieurl public url-adminurl admin_url-intemal_url intemal_url
全部配置成功后,Keystone組件安裝完成。
(2)安裝和配置Glance組件
Glance提供虛擬機鏡像管理服務(wù),其安裝配置比較簡單,首先使用apt-get命令下載安裝,然后配置租,用戶和密碼信息、連接MySQL數(shù)據(jù)庫并配置環(huán)境變量.主要是修改,ete/glanee/目錄下的glanee-api-paste.ini、glance-registry-paste.ini和glance.api.conf 3個文件。在配置成功Glance服務(wù)后,通過使用Keystone的授權(quán)機制,可以將虛擬機鏡像上傳到私有云計算平臺中。
(3)安裝和配置Nova組件
Nova組件是計算模塊。提供多種相關(guān)服務(wù)。首先使用apt-get命令安裝,然后修改/ete/nova/nova.cod配置信息,創(chuàng)建物理卷和卷組信息,改變/etc/nova目錄和/ete/nova/nova.conf文件的權(quán)限,并通過/etc/nova/api-paste.ini配置租/用戶和密碼信息,連接MySQL數(shù)據(jù)庫。在這些操作完成后,需要為虛擬機實例設(shè)置待分配的口地址段,關(guān)鍵代碼如下:
Sudo nova-manange network create private –fixed_range_v4=192.168.4.32/27 – num_networks=1 –bridge=br100-bridge_interface=eth1-netework_size=32
在導(dǎo)出環(huán)境變量并重啟Nova服務(wù)后,可以使用sudonova-manage service list查看Nova服務(wù)狀態(tài),如圖2所示。
(4)安裝和配置Swift組件
該組件提供云存儲服務(wù),其配置過程比較復(fù)雜。首先使用apt-get命令安裝,然后設(shè)置Swift存儲后端(backend)。存儲后端即可以使用已經(jīng)存在的分區(qū)/卷,也可以創(chuàng)建回送文件(loopback file)系統(tǒng)。本平臺在服務(wù)器1分區(qū)時已經(jīng)給Swift預(yù)留了約500 GB的磁盤空間,因此直接使用該分區(qū)。使用XFS對該分區(qū)進行格式化,然后掛載該分區(qū),并根據(jù)需要創(chuàng)建一些節(jié)點。
然后配置文件分布工具Rsyne,Rsync能夠維護對象副本。需要被Swift的多個服務(wù)使用。再配置Swift組件信息,需要修改paste.deploy和/etc/swift/swift.conf等文件。下一步是配置Swift的代理服務(wù),代理服務(wù)提供看守功能。用來響應(yīng)客戶請求,并負(fù)責(zé)其他組件間的相互通信過程,配置時需要修改/etc/swift/proxyrserver.conf文件。
接下來需要配置賬號服務(wù)、容器服務(wù)和對象服務(wù)。主要是修改/etc/swift目錄下的account-server.conf、container-server.conf、object-server.conf 3個配置文件信息。最后配置Swift的環(huán)服務(wù),所有的配置完成后,即可使用私有云存儲服務(wù)。
(5)安裝Dashboard組件
該組件提供Web形式的管理界面。其安裝配置比較簡單,直接使用apt-get命令安裝,然后在瀏覽器中輸入服務(wù)器1的口地址即可訪問Dashboard服務(wù)。
5.4配置虛擬化環(huán)境
Nova組件本身不提供虛擬化的能力.而是通過libvirtAPI與虛擬機進行交互.支持Xen、KVM、VMware、UML(user mode Linux)、LXC和QEMU等虛擬化技術(shù)。這些技術(shù)中,Xen和KVM是最主流的開源虛擬化項目。Xen使用半虛擬化技術(shù)。能夠在不支持硬件虛擬化的服務(wù)器上運行,其架構(gòu)比較復(fù)雜。KVM是輕量級的虛擬化管理程序模塊,目前已經(jīng)被集成到Linux內(nèi)核中.只支持全虛擬化技術(shù),需要服務(wù)器支持硬件虛擬化技術(shù)。本文討論的私有云計算平臺服務(wù)器的CPU為Intel Xeon E3.1230。支持Intel VT硬件虛擬化技術(shù),因此選擇KVM虛擬化技術(shù)。
首先安裝KVM,這一過程比較簡單。然后制作操作系統(tǒng)鏡像文件。這些鏡像既可以從網(wǎng)絡(luò)中下載。也可以自行制作。由于不同的應(yīng)用環(huán)境需要默認(rèn)安裝的應(yīng)用軟件各不相同,所以一般需要自行制作鏡像。以Ubtmtu為例,自行制作鏡像首先需要創(chuàng)建img文件,關(guān)鍵代碼如下:
kvm-img create -f qcow2 server.img 10G
然后利用KVM虛擬光驅(qū)加載操作系統(tǒng)ISO文件,完成虛擬機中操作系統(tǒng)的安裝。在鏡像制作完成后,通過Glance命令上傳到私有云平臺中,關(guān)鍵代碼如下:
glance add Halne=”<Image name>”is_public=truecontainer_format=ovf disk_format=qeow2<<filename>.img
在鏡像上傳成功后。就可以在私有云計算平臺中創(chuàng)建虛擬機實例。創(chuàng)建過程主要步驟包括創(chuàng)建授權(quán)、加載鏡像、連接和使用鏡像等。
5.5管理OpenStack服務(wù)
在需要的服務(wù)配置完成后,可以通過Dashboard對OpenSatek的各項服務(wù)進行在線監(jiān)控。OpenStack服務(wù)狀態(tài)的Web監(jiān)控如圖3所示。
Dashboard同時提供了對OpenStack各服務(wù)在線管理的功能,主要包括管理虛擬機實例、管理操作系統(tǒng)鏡像、管理默認(rèn)硬件配置文件、管理用戶、管理卷等.其圖形化操作界面比命令行模式更加友好。
6、開源私有云平臺運行實例
6.1 云計算軟件測試平臺說明
在筆者參與的研究項目中,目前已經(jīng)利用OpenStack、KVM等開源軟件構(gòu)造了私有云計算平臺.該平臺用于進行云計算軟件測試項目。用戶通過瀏覽器登錄和使用云測試項目管理系統(tǒng),完成申請與執(zhí)行測試項目、配置虛擬測試環(huán)境(用術(shù)語“硬件矩陣”和“軟件矩陣”表示)、分配和使用虛擬測試服務(wù)器等操作,系統(tǒng)的業(yè)務(wù)流程如圖4所示。
測試用戶可選擇合適的測試環(huán)境,申請需要的CPU、內(nèi)存和磁盤等硬件資源和應(yīng)用服務(wù)器、數(shù)據(jù)庫等軟件資源,通過云平臺實現(xiàn)快速部署。用戶對云測試平臺計算、存儲和鏡像等資源的調(diào)用需要使用Keystone組件的認(rèn)證服務(wù),需要長期保存和使用的測試數(shù)據(jù)需要使用Swift組件的云存儲服務(wù)。云測試平臺提供了Java、.net和PHP 3種開發(fā)技術(shù)的云測試環(huán)境,3種云測試環(huán)境的詳細(xì)說明見表6。
6.2云測試執(zhí)行實例
筆者使用了私有云平臺的虛擬測試服務(wù)器進行了某信息采集軟件客戶端的功能測試,硬件配置選擇1CPU、512 MB內(nèi)存和2 GB硬盤空間,軟件環(huán)境選擇了Java的Web軟件測試環(huán)境。創(chuàng)建測試項目的系統(tǒng)界面如圖5所示。
虛擬測試服務(wù)器的創(chuàng)建分為自動創(chuàng)建和手工創(chuàng)建兩種方式。如果測試矩陣變量的默認(rèn)取值可以滿足用戶需要,用戶配置完參數(shù)后系統(tǒng)通過調(diào)用OpenStaek的API自動開啟虛擬測試服務(wù)器。如果默認(rèn)取值不符合用戶要求,用戶可以填寫新建矩陣需求表,由系統(tǒng)管理員根據(jù)實際情況進行手工添加。
用戶一般通過遠(yuǎn)程連接對虛擬服務(wù)器進行管理。Linux平臺使用0penSSH的命令行界面和VNC的圖形界面,Windows Server平臺使用Win&wS系統(tǒng)中的“遠(yuǎn)程桌面”工具。用戶遠(yuǎn)程連接進入虛擬測試服務(wù)器后,就可以配置和使用該虛擬服務(wù)器。其使用方式和使用普通物理服務(wù)器一致。
7、結(jié)束語
利用開源軟件構(gòu)造私有云計算平臺具有成本低、部署快、無特殊硬件限制等多個優(yōu)勢,將在教學(xué)、科研和商業(yè)中得到更加廣泛的應(yīng)用。OpenStack是最值得關(guān)注的開源云計算項目,但是目前其配置過程比較復(fù)雜。接下來的研究中,筆者將編寫自動化安裝腳本,以簡化OpenStack的部署和應(yīng)用難度。同時深入研究OpenStack各組件的API,根據(jù)研究需要對OpenStack進行二次開發(fā)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于開源軟件的私有云計算平臺構(gòu)建
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839712738.html