楊健 牛晨旭
摘要:計算機技術歷經了從大型主機、個人計算機、客戶/服務器計算模式到今天的云計算模式的演變,尤其是結合虛擬化技術的應用,計算能力大大被提升。而服務器作為虛擬化資源池的提供端,需要具備超高的計算性能、海量的數(shù)據存儲能力、網絡通信能力和物理內存擴展能力。在多種應用需求的推動下,能自主搭建基于Openstatck的云計算架構基礎平臺順勢出世。本文詳細介紹云計算基礎架構平臺各個服務的搭建,OpenStack的核心功能模塊以及云計算搭建過程中所面臨的一些問題。
關鍵詞:云計算;數(shù)據;虛擬化技術;服務
中文分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)20-0237-04
1 引言
最近幾年,我國云計算的發(fā)展正處于直線上升期,在政府、教育、醫(yī)療、金融、電信等行業(yè)得到了廣泛的應用,對于我國經濟發(fā)展趨勢起著尤為重大的影響和推動。云計算這項技術的主要優(yōu)勢在于,將眾多分散的資源聚合在一起,幫助用戶實現(xiàn)高效率的業(yè)務計算能力。通過云計算這項技術,企業(yè)不但大大降低了運維成本,還能夠輕松解決突發(fā)頂峰流量的響應需要。
2 云計算概念分析和簡論
云計算 (cloud computing)是基于互聯(lián)網的相關服務的增加、使用和交付模式,通常涉及通過互聯(lián)網來提供動態(tài)易擴展且經常是虛擬化的資源。云是網絡、互聯(lián)網的一種比喻說法。因此,云計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這么強大的計算能力可以模擬核爆炸、預測氣候變化和市場發(fā)展趨勢。用戶通過電腦、筆記本、手機等方式接入數(shù)據中心,按自己的需求進行運算。如圖1所示,它能在后端龐大的云計算虛擬池支撐下能為用戶提供更方便的體驗和更低廉的成本。
3云計算系統(tǒng)框架
3.1 OpenStack(OS)簡介
OS是 Rackspace(貢獻swift)和NASA(貢獻nova)共同發(fā)起的開源項目,是一系列軟件開源項目的組合。基礎設施資源管理平臺則類似操作系統(tǒng)可以管理硬件池,可以根據需求提供資源。
OS同時也是IaaS(基礎設施即服務)組件,讓任何人都可以自行建立和提供云端運算服務。此外,OS也用作建立防火墻內的“私有云”(Private Cloud),提供機構或企業(yè)內各部門共享資源。
3.2 OpenStack(OS)資源管理
管理資源是openstack的首要任務,OS在資源管理功能模塊主要有三大服務:網絡服務、計算服務和存儲服務。OS在資源管理方面,是用功能的方式提供給上層模塊或者用戶使用。這些資源的管理是通過OS中的各個項目來實現(xiàn)的。而實現(xiàn)計算方面的功能模塊是 Nova( OS Compute);存儲相關的主要有塊存儲服務 Cinder、對象存儲服務 Swift、鏡像存儲服務 Glance 這三種。
Neutron是一種軟件與網絡交互相關的項目;而其中nova network是一個網絡操作管理的板塊,它有著穩(wěn)定的組建功能,在OS和Neutron共存,一般小規(guī)模的項目中經常為了穩(wěn)定開發(fā),和減去一些開發(fā)量,就會使用Nova NetWork 這樣的模塊操作網絡資源,并進行相對管理。核心組建和概念架構如圖2、圖3所示:
4 云計算架構過程
4.1 規(guī)劃部署
為滿足日常的企業(yè)辦公,生產和研發(fā),構建一個通用性云平臺,根據Iaas的模塊規(guī)則,基于簡單的需求為用戶尋求最適合的平臺。在云平臺的網絡結構中,本平臺將采用2臺節(jié)點服務器構建云計算平臺,其中一臺為控制節(jié)點服務器,另一臺為實例節(jié)點(即計算節(jié)點)服務器。
按照網絡分離和功能化的要求,也依次構建了4種網絡,分別為實例通信網絡、內部存儲網絡、內部管理網絡和實例私有網絡。同時,考慮到服務器只有2個網口的實際情況,采取結合Open vSwitch虛擬交換功能虛擬生成的3個網口,對應為br-ex、br-mgmt和br-prv,分別為實例通信網絡、內部管理網絡和內部私有網絡[3]。
準備OS搭建云計算平臺項目所需的軟件資源包,確定各節(jié)點的名稱,配置個節(jié)點的ip網絡地址,按照要求安裝對應centos操作系統(tǒng),配置系統(tǒng)環(huán)境變量,在控制節(jié)點、網路節(jié)點、實例節(jié)點和存儲節(jié)點分別運行腳本,完成各節(jié)點的配置安裝,最后驗證安裝基礎工作。
4.2 實施部署過程
OS可以采用Centos光盤或鏡像安裝,部署過程共分為5個部分,分別為Keystone的部署、Swift的部署、Glance的部署、 Nova的部署和Horizon的部署。
4.2.1 Keystone 的部署
Keystone是os云平臺中專門擔任操作身份驗證、服務規(guī)則和服務令牌的功能。用戶首先需要通過用戶的身份和權限進行數(shù)據庫鑒權校驗,這些都是通過keystone來處理的。keystone就好像一個中轉站,準確地說是os整個架構的注冊信息表,所有服務都是通過keystone注冊其他服務的服務器訪問地址,云架構中的任何服務的訪問地址之間的相互轉發(fā)都必須通過keystone的校驗通過,從而獲取目標服務的地址[1]。
它有兩個主要功能:
(1) 用戶管理:驗證用戶身份信息的合法性;
(2) 服務目錄管理:云平臺服架構中任何服務都要訪問keystone獲取服務列表,以及每個服務的訪問地址如下圖4:
安裝部署:
(1)安裝keystone前需要創(chuàng)建一個數(shù)據庫和管理員令牌;
(2)在安裝完成后禁止keystone服務自啟動,并編輯配置文件/etc/keystone/keystone.conf ;
(3)創(chuàng)建服務實例和API endpoints;
(4)創(chuàng)建域(domain),工程(projects),用戶(users),角色(roles)。 keystone提供的認證服務包含權限、項目、用戶、角色,創(chuàng)建的任何一個角色都需要映射到每個OS服務的配置文件目錄中的policy.json中的角色特性;
(5)在完成上述步驟之后,出于安全考慮,禁用臨時的認證令牌機制,編輯配置文件/etc/keystone/keystone-paste.ini,最后完成驗證操作[6]。
4.2.2 Swift 的部署
Swift 是一種對象存儲服務,它的誕生是 Rackspace 公司開發(fā)的高可用分布式,目的是為了 Nova 所創(chuàng)建的子項目提供虛機鏡像存儲服務。
Swift 采用層次數(shù)據模型,一共設有三層邏輯結構,分別為Account(賬戶)、Container(容器)、Object(對象),每層節(jié)點數(shù)沒有上線,可以任意增加。需要關注的是此處的賬戶和個人本地賬戶不是一個性質,大致可以解釋成租戶,作用是用來做服務之間的隔離功能,同時可以被多個個體本地賬戶共享;此處的集合容器是一組對象,相似于文件夾;葉子類似于一個個對象,是元數(shù)據與內容兩部分組成[2]。
安裝部署:
(1)使用腳本方式安裝Swift服務;
(2)配置Storage Server存儲空間。Swift官方推薦用戶使用XFS文件系統(tǒng)。后來官方的測試,覺得XFS文件框架可以給Swift的用戶提供最好的功能,而且后期完成了穩(wěn)定完整版。對于任何一臺PC,我們可以選擇使用一個分區(qū)作為存儲(Using a partition for storage),也可以使用一個回環(huán)設備作為存儲(Using a loopback device for storage)。由于實驗環(huán)境所限,本文使用回環(huán)設備作為存儲[3];
(3)在PC上創(chuàng)建Swift的相關配置文件;
(4)配置Swift相關存儲服務:
代理服務(Proxy Server)、認證服務(Authentication Server)、緩存服務(Cache Server)、賬戶服務(Account Server)、容器服務(Container Server)、對象服務(Object Server)、復制服務(Replicator)、更新服務(Updater)、審計服務(Auditor)、賬戶清理服務(Account Reaper)。
4.2.3 Glance的部署
glance即image service(鏡像服務),是為虛擬機的創(chuàng)建提供鏡像服務。作用是為OS構建基本的Iaas平臺提供虛機,虛擬機在創(chuàng)建運行的時候,必須為虛擬機選擇操作系統(tǒng),而glance就是提供各種不同系統(tǒng)鏡像的服務[4]。
首先創(chuàng)建glance數(shù)據庫CREATE DATABASE glance;創(chuàng)建數(shù)據庫用戶glance,并授予其對glance數(shù)據庫的管理權限,創(chuàng)建服務憑證,創(chuàng)建glance用戶 :[root@controller ~]# openstack user create --domain default --password-prompt glance。
創(chuàng)建glance服務實例,把Image service加入服務目錄。為OpenStack Image service創(chuàng)建認證服務端點。配置Image service的數(shù)據庫連接。查看glance數(shù)據庫如下圖6:
最后查看鏡像文件存儲目錄,重啟Controller Node主機,至此Openstack glance鏡像的安裝基本完成了。
4.2.4 Nova的部署
Nova是OS創(chuàng)建之初最早的兩塊功能模塊之一,另一個是功能模塊是swift存儲模塊。在OS體系中一個叫作計算節(jié)點,一個叫作控制節(jié)點。
Nova主要目的是為虛擬機啟動服務器后的需求、為虛擬服務器提供自主建立和操作,擔任管理所有的資源、身份認證以及可延展性的模塊。
Nova控制節(jié)點部署:
(1)安裝腳本軟件包;
(2)數(shù)據庫配置
修改配置文件/etc/nova/nova.conf,同步數(shù)據庫;
(3)配置對應keystone
[root@linux-node1 ~]# vim /etc/nova/nova.conf;
(4)RabbitMq(消息隊列配置);
(5)配置nova功能
啟動網絡服務支持和關閉防火墻,配置VNC代理使用控制節(jié)點的管理接口IP地址,配置鏡像服務 API 的位置;
(6)設置開機啟動,并啟動服務;
(7)keystone上注冊nova服務
創(chuàng)建Compute服務api端點(公有、私有、admin);
(8)查看是否成功創(chuàng)建nova(如下圖7所示)和nova_api數(shù)據庫(如下圖8所示)
4.2.5 Horizon的部署
Horizon是一個web接口,使得云平臺管理員以及用戶可以管理不同的OS資源以及服務。
提供一個Web界面操作OS系統(tǒng),使用Django框架基于OS API開發(fā),支持將session存儲在DB、Memcached支持集群。虛擬機創(chuàng)建流程如圖9所示:
部署:
(1)安裝軟件包yum install openstack-dashboard –y;
(2)編輯文件 /etc/openstack-dashboard/local_settings在控制節(jié)點上配置儀表盤以使用OS服務,配置角色,配置API版本;
(3)創(chuàng)建用戶時的默認域配置為 default;
(4)使用單一扁平網絡,禁用支持3層網絡服務;
(5)修改時區(qū);
(6)Apache服務重啟。
頁面訪問:需輸入配置/etc/openrc.sh時的域、用戶名、密碼來登錄(如圖10所示)。
至此OpenStack云計算基礎架構平臺基本上完成了。
5 OpenStack(OS) 云平臺分析
云計算架構創(chuàng)建初衷及目的在于:為企業(yè)提供虛擬計算和存儲服務的云,這其中有公有云、私有云,也有“大云”“小云”、可以在框架中提供靈活的虛擬計算技術。這些“云”之間耦合性低,既可以獨立安裝,也可以獨立啟動和終止運行。本系統(tǒng)有如下優(yōu)點:擴展性好,安全性高,不會存在單點故障。OS是Rackspace公司和NASA組織合作開發(fā)的開源項目,是一系列開源軟件項目的結合,是基礎設施資源的系統(tǒng)管理的網絡計算平臺。
整個OS是由控制節(jié)點,計算節(jié)點,網絡節(jié)點,存儲節(jié)點四大部分組成。(這四個節(jié)點可以安裝在一臺機器上,進行單機部署)。
6 結束語
本文提出的OS基礎架構平臺搭建方案,旨在教學學習以及中小企業(yè)提供云計算服務,本文在搭建OS云平臺過程中,發(fā)現(xiàn)云計算技術對數(shù)據庫依賴性過于強烈,并且在網絡性能方面不足,因此,如何優(yōu)化數(shù)據庫與云計算結合性、穩(wěn)定性以及改善云平臺使用過程中相關網絡性能,成為本文作者后續(xù)研究方向之一。
參考文獻:
[1]郭廣宇.云計算環(huán)境下網絡信息安全[J/OL].電子技術與軟件工程,2018(06).
[2]王然然.論云計算下的網絡安全及措施[J].電子技術與軟件工程,2018(01):224-225.
[3]徐達宇. 云計算環(huán)境下資源需求預測與優(yōu)化配置方法研究[D].合肥工業(yè)大學,2014.
[4]張小慶. 基于云計算環(huán)境的資源提供優(yōu)化方法研究[D].武漢理工大學,2017.
[5]劉婷婷. 面向云計算的數(shù)據安全保護關鍵技術研究[D].解放軍信息工程大學,2016.
[6]王杰(Frederic Nzanywayingoma). 云計算中的任務調度算法與虛擬資源優(yōu)化分析[D].北京科技大學,2018.
[7]浦潔.云計算在數(shù)字圖書館中的應用研究[J].新世紀圖書館,2018(01):58-61.
[8]劉森. 云計算技術的價值創(chuàng)造及作用機理研究[D].浙江大學,2014.
[9]鄧見光. 云計算任務調度策略研究[D].華南理工大學,2015.