孫雅妮
摘要:私有云是企業(yè)實現(xiàn)IT基礎設施資源共享最有效的途徑,OpenStack可以為企業(yè)提供一個私有云管理平臺,高效可靠的提供IaaS服務。部署OpenStack私有云平臺相對比較復雜,文章提出一種自動化部署OpenStack的解決方案?;赼nsible編寫自動化部署文件,可以快速實現(xiàn)OpenStack私有云平臺的部署,顯著降低OpenStack部署的復雜度及時間成本。
關鍵詞:自動化部署;ansible;openstack;私有云平臺
中圖分類號:TP393? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)28-0087-03
1 概述
近年來,私有云已經逐漸成為云計算的主要模式和重要的發(fā)展方向。私有云(Private Clouds)是云計算基礎設施,實現(xiàn)機構或企業(yè)內各部門的IT資源共享。通過私有云,企業(yè)可以提高IT基礎設施的有效利用率,從而降低了企業(yè)對于保護用戶數(shù)據(jù)所需的成本,潛在地提高了企業(yè)基礎業(yè)務的優(yōu)勢。私有云既具有傳統(tǒng)IT可控性、高可用性、高安全性等特點,又具有公有云的資源共享,彈性資源分配,同時還提供對數(shù)據(jù)、安全性和服務質量的有效控制和保障。
2 OpenStack簡介
OpenStack是一個旨在提供私有云管理平臺的開源項目,側重提供基礎設施即服務(IaaS),讓任何人都可以自行建立和提供云端計算服務。OpenStack部署云環(huán)境非常靈活,可以根據(jù)需求來搭建基礎設施,同時也可以靈活的擴充集群規(guī)模。所以開源、可擴展性、管理靈活是OpenStack的三大主要特點。
OpenStack是由幾個主要的組件組合起來完成具體的工作,每個組件由單獨的項目構成,提供特定的服務。主要的組件有:Keystone(身份認證服務)、Glance(鏡像服務)、Nova(計算服務)、Neutron(網絡服務)、Horizon(UI服務)、Cinder(塊存儲服務)、Swift(對象存儲服務)、Heat(編排服務)。OpenStack架構如圖1所示。
值得注意的是OpenStack架構并沒有實現(xiàn)虛擬化服務,而是利用成熟的Libvirt模塊的虛擬化技術實現(xiàn)了整體的云平臺服務。Libvirt負責連接OpenStack平臺和處于底層的虛擬化管理軟件,實現(xiàn)對平臺虛擬資源的操作,是OpenStack中管理虛擬資源的重要工具。
3 自動化部署程序的設計與實現(xiàn)
3.1ANSIBLE簡介
Ansible是當前流行的自動化運維工具,由Python語言實現(xiàn),能夠實現(xiàn)批量程序部署、批量系統(tǒng)配置、批量運行命令等功能。
Ansible是一個模型驅動的配置管理器,支持多節(jié)點發(fā)布、遠程任務執(zhí)行、基于推送(Push)的運行方式,通過Core Modules(核心模塊)、Custom Modules(自定義模塊)、Plugins、Playbooks(劇本)、Host Inventory(主機清單)來實現(xiàn)所需功能。
論文利用ansible編寫自動化部署腳本。
3.2自動化部署ansible腳本的實現(xiàn)
自動化部署ansible腳本的實現(xiàn)主要需要編寫幾個文件。下文以一個controller節(jié)點,一個computer節(jié)點,共兩個節(jié)點搭建的openstack私有云平臺為例進行介紹。
1)ansible系統(tǒng)文件
在控制節(jié)點安裝Ansible組件后,主機/etc目錄會生成ansible文件夾,內部包含所有的ansible的所必須的配置文件和環(huán)境變量文件。
在上述文件中所有的默認環(huán)境參數(shù)則由group_vars目錄內all文件來定義,playbooks中的一個操作由roles目錄內的執(zhí)行方法來執(zhí)行,每一個roles目錄內的方法均分為tasks和templates兩個目錄,tasks目錄為該方法執(zhí)行的所有腳本,templates目錄為此方法所有的模板文件或配置文件。
4 基于HADOOP的企業(yè)大數(shù)據(jù)平臺自動化部署測試
4.1測試環(huán)境準備
本次測試以yum方式安裝Ansible環(huán)境,采用雙節(jié)點自動化部署OpenStack,源采用的是阿里源。ip地址和主機名規(guī)劃表如表1所示。
4.2 ansible環(huán)境準備
Ansible環(huán)境準備具體如下:
4.3基于ansible的OpenStack私有云平臺自動化部署
1) Ansible遠程主機配置
在Ansible的目錄樹中,/etc/ansible/hosts文件為ansible執(zhí)行時讀取的主機文件,內部可以通過主機組來區(qū)分不同部分的功能和作用也可以通過主機組來執(zhí)行的不同的命令。這里的主機之間的關系是通過inventory文件來進行維持和最終的配置,此關系最終的維持配置文件就是下面要配置的文件。在這里將Ansible主機分成一個主機組,另外一個主機分成一個主機組,如下所示:
5 總結
OpenStack私有云平臺被企業(yè)廣泛應用,但其部署過程復雜、耗時長、技術要求高。論文以雙節(jié)點的OpenStack私有云部署為研究對象,提出使用ansible自動化部署工具來改善手動部署的缺點,編寫了ansible自動化部署文件,并在雙節(jié)點集群上進行了自動化部署測試。測試結果顯示,基于ansible的自動化部署將部署時間從5~6小時縮減至10~20分鐘,大大降低了OpenStack私有云部署的時間成本。
參考文獻:
[1]孫春雨.基于Linux集群的Ansible部署與自動化管理研究[J].中國管理信息化,2019,22(9):165-166.
[2] 陸冰芳,粟邈如.基于Ansible的web形式自動化運維系統(tǒng)的研究與設計[J].數(shù)字技術與應用,2017(12):151-152.
[3] 付楊洋,劉音,嚴紫薇,等.私有云計算平臺的設計[J].電子技術與軟件工程,2018(12):67.
[4]楊秀芳.OpenStack在學校教學私有云搭建中的應用[J].電腦編程技巧與維護,2019(5):97-98,110.
[5]姚捃,嚴南.OpenStack高可用分布式存儲方案設計與實現(xiàn)[J].計算機技術與發(fā)展,2019(2):35-38.
【通聯(lián)編輯:王力】