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