黃 玨
(南京工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 南京 210046)
公司構(gòu)建一套完整IT系統(tǒng)需要3個基本條件:硬件資源,軟件資源和專門的運(yùn)維人員。隨著公司業(yè)務(wù)的增長,軟硬件及其他基礎(chǔ)架構(gòu)升級,成本將不斷上升。原有的管理模式低效且信息安全風(fēng)險(xiǎn)大,用戶簡化配置和管理網(wǎng)絡(luò)的要求,加速了當(dāng)今云計(jì)算技術(shù)的發(fā)展。
在云計(jì)算服務(wù)下,云服務(wù)提供商可即時處理大量信息,數(shù)量級高達(dá)數(shù)千萬甚至數(shù)億。資源和服務(wù)按需分配,使普通用戶享受超級計(jì)算機(jī)帶來高端服務(wù),利用虛擬化提高了資源的利用率[1]。云計(jì)算包括3種模式:軟件即服務(wù)(Software as a Service,SaaS),平臺即服務(wù)(Platform as a Service,PaaS)和基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)[2]。SaaS將計(jì)算和存儲資源封裝為用戶可以直接使用的應(yīng)用并通過網(wǎng)絡(luò)提供給用戶;PaaS計(jì)算和存儲資源經(jīng)封裝后,以某種接口和協(xié)議的形式提供給用戶調(diào)用,資源的使用者不再直接面對底層資源,IaaS把單純的計(jì)算和存儲資源不經(jīng)封裝直接通過網(wǎng)絡(luò)以服務(wù)的形式提供給用戶使用[3]。
Openstack是和Linux一樣開源的系統(tǒng)架構(gòu),能夠滿足類型繁多的云計(jì)算服務(wù)環(huán)境。它是一款自由開源的軟件具有高擴(kuò)展性及部署靈活的特點(diǎn),企業(yè)可以利用它來構(gòu)建自身的IaaS服務(wù),可實(shí)現(xiàn)對企業(yè)資源的整合和高效利用[4]。
虛擬化技術(shù)是實(shí)現(xiàn)云計(jì)算基礎(chǔ)架構(gòu)層面的核心技術(shù),也是推動云計(jì)算這一概念發(fā)展的一項(xiàng)重要技術(shù)。該技術(shù)在物理設(shè)備底層和上層操作系統(tǒng)之間運(yùn)行一個虛擬軟件層,這一層產(chǎn)生資源池。它是物理設(shè)備的集合,各種物理設(shè)備互相協(xié)作提供服務(wù)并由軟件統(tǒng)一管理。它允許多個操作系統(tǒng)和應(yīng)用程序在物理資源上共享硬件,創(chuàng)建多個可運(yùn)行獨(dú)立操作系統(tǒng)的虛擬機(jī)。虛擬化將應(yīng)用軟件與底層物理設(shè)備分離。從更抽象和更廣泛的背景來理解,虛擬化技術(shù)實(shí)際上是一個非常大的概念。虛擬化技術(shù)的出現(xiàn)遠(yuǎn)遠(yuǎn)超過了虛擬化操作系統(tǒng),現(xiàn)在已經(jīng)實(shí)現(xiàn)了內(nèi)存、網(wǎng)絡(luò)、CPU、文件和存儲的虛擬化[5]。虛擬化技術(shù)實(shí)現(xiàn)基本的物理資源抽象,使其成為可靈活生成、調(diào)度和管理的基礎(chǔ)資源池,以實(shí)現(xiàn)自動化基礎(chǔ)設(shè)施的有效整合,實(shí)時遷移。
IaaS通過一定的方式虛擬化成若干臺外部看似獨(dú)立的服務(wù)器,每臺虛擬服務(wù)器具有一定的計(jì)算能力,可單獨(dú)提供他們所支持的服務(wù)。這些服務(wù)器同時運(yùn)行,相互隔離,降低能耗的同時提高了資源的利用率。
本次搭建采用的系統(tǒng)是CentOS 7 64 bit。部署Openstack版本為Ocata。采用多點(diǎn)部署方式。多點(diǎn)部署有以下優(yōu)點(diǎn):(1)管理、維護(hù)接近真實(shí)環(huán)境。(2)能夠更加清楚地理解Openstack各組件之間的依賴關(guān)系。(3)能夠測試Openstack各組件的功能和穩(wěn)定性[6]。搭建Openstack管理平臺對硬件要求比較高。目前搭建Openstack的方法有利用源碼進(jìn)行安裝,利用Devstack進(jìn)行安裝等多種方式。本次搭建是利用源碼來安裝。為獲得最好的體驗(yàn),環(huán)境需滿足最低硬件要求。Controller節(jié)點(diǎn)最低硬件要求:1顆CPU,4 GB內(nèi)存,兩塊網(wǎng)卡,20 GB硬盤;compute節(jié)點(diǎn)最低硬件要求:1顆CPU,2 GB內(nèi)存,兩塊網(wǎng)卡,20 GB硬盤。
Openstack系統(tǒng)的實(shí)現(xiàn)離不開關(guān)鍵組件的安裝,Openstack平臺的所有服務(wù)都是依靠這些組件進(jìn)行的。在部署Openstack平臺之前先要作以下準(zhǔn)備。首先安裝并配置NTP的服務(wù),其次添加hosts文件,最后安裝Openstack官方依賴包。
實(shí)現(xiàn)系統(tǒng)的身份鑒權(quán),開通服務(wù)以及授權(quán)服務(wù)功能,在Openstack中絕大數(shù)的服務(wù)都需要Keystone服務(wù)對其進(jìn)行統(tǒng)一的身份授權(quán)管理。通過此組件可以授權(quán)各組件的服務(wù),在安裝配置過程中先登陸Mysql數(shù)據(jù)庫進(jìn)行添加Keystone服務(wù),通過yum install opentack-keystone httpd mod_wsgi命令安裝Openstack-keystone組件。
Glance組件對Openstack中的鏡像文件進(jìn)行統(tǒng)一的管理,Openstack Image服務(wù)是基礎(chǔ)架構(gòu)即服務(wù)的關(guān)鍵服務(wù),安裝此服務(wù)前必須先添加數(shù)據(jù)庫服務(wù),在配置glance參數(shù)時要注意的是,keystone_authtoken參數(shù)的user&password必須要和之前配置的環(huán)境變量的用戶密碼保持一致,否則會導(dǎo)致上傳鏡像失敗。
Nova是Openstack云中的計(jì)算組織控制器。支持Openstack云中實(shí)例(instances)生命周期的所有活動都由Nova處理。這樣使得Nova成為一個負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)、認(rèn)證、所需可擴(kuò)展性的平臺。Openstack compute與Openstack Identity進(jìn)行交互以進(jìn)行身份驗(yàn)證。Controller節(jié)點(diǎn)安裝完成之后需要切換到compute節(jié)點(diǎn)安裝Openstacknova服務(wù)。
Neutron是為Openstack中創(chuàng)建的虛擬機(jī)實(shí)例提供網(wǎng)絡(luò)服務(wù),Neutron在Openstack中創(chuàng)建一個邏輯上的網(wǎng)絡(luò)通信服務(wù)。通過命令:yum install Openstack-neutron 來安裝neutron組件。
安裝Openstack-dashboard服務(wù)可以通過命令:yum install Openstack-dashboard -y來執(zhí)行安裝。安裝完成之后進(jìn)入Openstack-dashboard的配置文件設(shè)置訪問Web GUI界面。
Cinder是塊存儲,用來給虛擬機(jī)掛擴(kuò)展硬盤,就是將Cinder創(chuàng)建出來的卷,掛到虛擬機(jī)里。Openstack-cinder服務(wù)為Openstack中VM實(shí)例提供獨(dú)立的存儲方案,同時Cinder也可以被當(dāng)作創(chuàng)建的虛擬機(jī)實(shí)例的啟動盤使用,一個Cinder只能對應(yīng)一個虛擬機(jī)實(shí)例。首先使用root用戶創(chuàng)建Cinder數(shù)據(jù)庫服務(wù);然后為Cinder創(chuàng)建用戶,完成之后將admin添加到Cinder授權(quán)用戶中,接著安裝Openstack-cinder組件,命令如下:yum install Openstack-cinder -y。安裝完成,需要修改目錄下/etc/cinder/cinder.conf配置文件的參數(shù),在[default]參數(shù)中配置數(shù)據(jù)庫服務(wù)以及身份驗(yàn)證授權(quán)訪問服務(wù),隨后配置KEYSTONE_AUTHTOKEN參數(shù),password選項(xiàng)填寫Identity身份驗(yàn)證密碼為:ADMIN_PASS。配置完成后,將Cinder服務(wù)設(shè)為系統(tǒng)啟動時開啟,并啟動Openstack-cinderapi和Openstack-cinder-scheduler服務(wù)。
首先我們要確??梢皂樌M(jìn)入Dashboard Web GUI界面,可以看到Openstack平臺的整體概況,比如資源利用率,包括內(nèi)存,CPU,硬盤容量等,還要查看網(wǎng)絡(luò)組件和Cinder組件是否運(yùn)行正常。查看之前上傳的CirrOS鏡像的狀態(tài)是否正常。接下來就是對組件的功能進(jìn)行測試。(1)新建網(wǎng)絡(luò)信息;(2)新建Cinder卷;(3)創(chuàng)建鏡像文件;(4)創(chuàng)建實(shí)例類型;(5)創(chuàng)建實(shí)例。最終可以看到這個虛擬機(jī)實(shí)例可正常運(yùn)行。
本文對云計(jì)算及Openstack進(jìn)行了簡要的介紹,提出了基于Openstack的多節(jié)點(diǎn)部署構(gòu)建云平臺的方案,并詳細(xì)對其工作原理及關(guān)鍵組件的安裝部署進(jìn)行了說明。接下來的工作是將此云平臺運(yùn)用到學(xué)校實(shí)驗(yàn)室或者公司網(wǎng)絡(luò),從而降低信息化的建設(shè)成本,提高管理能力。