OpenStack部署運(yùn)維方案_第1頁
OpenStack部署運(yùn)維方案_第2頁
OpenStack部署運(yùn)維方案_第3頁
OpenStack部署運(yùn)維方案_第4頁
OpenStack部署運(yùn)維方案_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

OpenStack部署運(yùn)維方案IE±openstackCLOUDSOFTWARE )鴿學(xué)吧目錄TOC\o"1-5"\h\z\o"CurrentDocument"OpenStack 簡介 3\o"CurrentDocument"Openstack私有云平臺概況 4\o"CurrentDocument"OpenStack 部署方案 6\o"CurrentDocument"OpenStack各組件配置 8OpenStack底層依賴軟件版本、配置以及性能調(diào)優(yōu) 14運(yùn)維經(jīng)驗(yàn) 17本文介紹了基于OpenStack開發(fā)的云計(jì)算管理平臺,以及在開發(fā)、運(yùn)營、維護(hù)過程中遇到的問題和經(jīng)驗(yàn)分享。作為大型互聯(lián)網(wǎng)公司,IT基礎(chǔ)架構(gòu)需要支撐包括生產(chǎn)、開發(fā)、測試、管理等多方面的需要,而且需求和請求的變化幾乎每天都存在,需要內(nèi)部的 IT基礎(chǔ)架構(gòu)能夠足夠靈活和健壯來滿足各部門和團(tuán)隊(duì)的實(shí)際需要。OpenStack簡介OpenStack是一個(gè)開源的IaaS實(shí)現(xiàn),它由一些相互關(guān)聯(lián)的子項(xiàng)目組成,主要包括計(jì)算、存儲、網(wǎng)絡(luò)。OpenStack兼容一部分AWS接口,同時(shí)為了提供更強(qiáng)大的功能,也提供OpenStack風(fēng)格的接口(RESTFulAPI)。和其他開源IaaS相比,架構(gòu)上松耦合、高可擴(kuò)展、分布式、純Python實(shí)現(xiàn),以及友好活躍的社區(qū)使其大受歡迎。OpenStack的主要子項(xiàng)目有:Compute(Nova)提供計(jì)算虛擬化服務(wù),是OpenStack的核心,負(fù)責(zé)管理和創(chuàng)建虛擬機(jī)。它被設(shè)計(jì)成方便擴(kuò)展,支持多種虛擬化技術(shù),并且可以部署在標(biāo)準(zhǔn)硬件上。ObjectStorage(Swift)提供對象存儲服務(wù),是一個(gè)分布式,可擴(kuò)展,多副本的存儲系統(tǒng)。BlockStorage(Cinder),提供塊存儲服務(wù),為OpenStack的虛擬機(jī)提供持久的塊級存儲設(shè)備。支持多種存儲后端,包括Ceph,EMC等。Networking(Neutron)提供網(wǎng)絡(luò)虛擬化服務(wù),是一個(gè)可拔插,可擴(kuò)展, API驅(qū)動(dòng)的服務(wù)。Dashboard提供了一個(gè)圖形控制臺服務(wù),讓用戶方便地訪問,使用和維護(hù)OpenStack中的資源。CFS白鴿學(xué)吧Image(glance)提供鏡像服務(wù),它旨在發(fā)現(xiàn),注冊和交付虛擬機(jī)磁盤和鏡像。支持多種后Telemetry(Ceilometer)提供用量統(tǒng)計(jì)服務(wù),通過它可以方便地實(shí)現(xiàn) OpenStack計(jì)費(fèi)功臺匕能匕。Orchestration(Heat)整合了OpenStack中的眾多組件,類似AWS的CloudFormation,讓用戶能夠通過模板來管理資源。Database(Trove)基于OpenStack構(gòu)建的database-as-a-service。網(wǎng)易私有云使用了Nova、Glance、Keystone、Neutron這4個(gè)組件。Openstack私有云平臺概況圖1.網(wǎng)易私有云架構(gòu)基礎(chǔ)PaaS服務(wù)云硬盤淳性塊設(shè)缶存俄,ISCSI云網(wǎng)絡(luò)物控圖1.網(wǎng)易私有云架構(gòu)基礎(chǔ)PaaS服務(wù)云硬盤淳性塊設(shè)缶存俄,ISCSI云網(wǎng)絡(luò)物控網(wǎng)易私有云平臺由網(wǎng)易杭州研究院負(fù)責(zé)研發(fā),主要提供基礎(chǔ)設(shè)施資源、數(shù)據(jù)存儲處理、應(yīng)用開發(fā)部署、運(yùn)維管理等功能以滿足公司產(chǎn)品測試/上線的需求。圖1展示了網(wǎng)易私有云平臺的整體架構(gòu)。整個(gè)私有云平臺可分為三大類服務(wù):核心基礎(chǔ)設(shè)施服務(wù)(IaaS)、基礎(chǔ)平臺服務(wù)(PaaS)以及運(yùn)維管理支撐服務(wù),目前一共包括了:云主機(jī)(虛擬機(jī))、云網(wǎng)絡(luò)、云硬盤、對象存儲、對象緩存、關(guān)系型數(shù)據(jù)庫、分布式數(shù)據(jù)庫、全文檢索、消息隊(duì)列、視頻轉(zhuǎn)碼、負(fù)載均衡、容器引擎、云計(jì)費(fèi)、云監(jiān)控、管理平臺等 15個(gè)服務(wù)。網(wǎng)易私有云平臺充分利用云計(jì)算開源的最新成果,我們基于OpenStack社區(qū)的keystone、glance、nova、neutron組件研發(fā)部署了云主機(jī)和云網(wǎng)絡(luò)服務(wù)。為了與網(wǎng)易私有云平臺其他服務(wù)(云硬盤、云監(jiān)控、云計(jì)費(fèi)等)深度整合以及滿足公司產(chǎn)品使用和運(yùn)維管理的特定需求,我們團(tuán)隊(duì)在社區(qū) OpenStack版本的基礎(chǔ)上獨(dú)立研發(fā)了包括:云主機(jī)資源質(zhì)量保障(計(jì)算、存儲、網(wǎng)絡(luò)QoS)、鏡像分塊存儲、云主機(jī)心跳上報(bào)、flat-dhcp模式下租戶內(nèi)網(wǎng)隔離等20多個(gè)新功能。同時(shí),我們團(tuán)隊(duì)在日常運(yùn)維OpenStack以及升級社區(qū)新版本中,也總結(jié)了一些部署、運(yùn)維規(guī)范以及升級經(jīng)驗(yàn)。兩年多來,網(wǎng)易私有云平臺OpenStack團(tuán)隊(duì)的研發(fā)秉承開源、開放的理念,始終遵循"來源社區(qū),回饋社區(qū)"的原則。在免費(fèi)享受OpenStack社區(qū)不斷研發(fā)新功能以及修復(fù)bug的同時(shí),我們團(tuán)隊(duì)也積極向社區(qū)做自己的貢獻(xiàn),從而幫助OpenStack社區(qū)的發(fā)展壯大。私有云平臺為網(wǎng)易公司多達(dá) 30個(gè)互聯(lián)網(wǎng)和游戲產(chǎn)品提供服務(wù)。從應(yīng)用的效果來看,基于OpenStack研發(fā)的網(wǎng)易私有云平臺已經(jīng)達(dá)到了以下目標(biāo):.提高了公司基礎(chǔ)設(shè)施資源利用率,從而降低了硬件成本。以物理服務(wù)器 CPU利用率為例,私有云平臺將CPU平均利用率從不到10%提升到50%。.提高了基礎(chǔ)設(shè)施資源管理與運(yùn)維自動(dòng)化水平,從而降低了運(yùn)維成本。借助于Web自助式的資源申請和分配方式以及云平臺自動(dòng)部署服務(wù),系統(tǒng)運(yùn)維人員減少了 50%。.提高了基礎(chǔ)設(shè)施資源使用彈性,從而增強(qiáng)了產(chǎn)品業(yè)務(wù)波動(dòng)的適應(yīng)能力。利用虛擬化技術(shù)將物理基礎(chǔ)設(shè)施做成虛擬資源池,通過有效的容量規(guī)劃以及按需使用,私有云平臺可以很好適應(yīng)產(chǎn)品突發(fā)業(yè)務(wù)。OpenStack部署方案在具體的生產(chǎn)環(huán)境中,我們?yōu)榱思骖櫺阅芎涂煽啃?,keystone后端使用Mysql存儲用戶信息,使用memcache存放token。為了減少對keystone的訪問壓力,所有服務(wù)(nova,glance,neutron)的keystoneclient均配置使用memcache作為token的緩存。由于網(wǎng)易私有云需要部署在多個(gè)機(jī)房之中,每個(gè)機(jī)房之間在地理位置上自然隔離,這對上層的應(yīng)用來說是天然的容災(zāi)方法。另外,為了滿足私有云的功能和運(yùn)維需求,網(wǎng)易私有云需要同時(shí)支持兩種網(wǎng)絡(luò)模式:nova-network和neutron。針對這些需求,我們提出了一個(gè)面向企業(yè)級的多區(qū)域部署方案,如圖2所示。從整體上看,多個(gè)區(qū)域之間的部署相對獨(dú)立,但可通過內(nèi)網(wǎng)實(shí)現(xiàn)互通,每個(gè)區(qū)域中包括了一個(gè)完整的OpenStack部署,所以可以使用獨(dú)立的鏡像服務(wù)和獨(dú)立的網(wǎng)絡(luò)模式,例如區(qū)域A使用nova-network,區(qū)域B使用neutron,互不影響,另外為了實(shí)現(xiàn)用戶的單點(diǎn)登錄,區(qū)域之間共享了 keystone,區(qū)域的劃分依據(jù)主要是網(wǎng)絡(luò)模式和地理位置。圖2.多區(qū)域部署方法 占鴿學(xué)電和典型OpenStack部署將硬件劃分為計(jì)算節(jié)點(diǎn)和控制節(jié)點(diǎn)不同的是,為了充分利用硬件資源,我們努力把部署設(shè)計(jì)成對稱的,即任意一個(gè)節(jié)點(diǎn)下線對整體服務(wù)不會(huì)照成影響。因此我們將硬件分為兩類:計(jì)算節(jié)點(diǎn),控制計(jì)算節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)部署 nova-network,nova-compute,nova-api-metadata,nova-叩i-os-compute。控制計(jì)算節(jié)點(diǎn)除了計(jì)算節(jié)點(diǎn)的服務(wù)外還部署了nova-scheduler,nova-novncproxy,nova-consoleauth,glance-api,glance-registry和keystone,如圖3所示。對外提供API的服務(wù)有nova-api-os-compute,nova-novncproxy,glance-api,keystone。這類服務(wù)的特點(diǎn)是無狀態(tài),可以方便地橫向擴(kuò)展,故此類服務(wù)均部署在負(fù)載均衡 HAProxy之后,并且使用Keepalived做高可用。為了保證服務(wù)質(zhì)量和便于維護(hù),我們沒有使用nova-api,而是分為nova-api-os-compute和nova-api-metadata分別管理。外部依賴方面,網(wǎng)易私有云部署了高可用RabbitMQ集群和主備MySQL,以及memcache集群。圖3.計(jì)算節(jié)點(diǎn),控制計(jì)算節(jié)點(diǎn) 芻等吧網(wǎng)絡(luò)規(guī)劃方面,網(wǎng)易私有云主要使用 nova-network的FlatDHCPManager+multi-host網(wǎng)絡(luò)模式,并劃分了多個(gè)Vlan,分別用于虛擬機(jī)fixed-ip網(wǎng)絡(luò)、內(nèi)網(wǎng)浮動(dòng)IP網(wǎng)絡(luò)、外網(wǎng)網(wǎng)絡(luò)。運(yùn)維上使用網(wǎng)易自主研發(fā)的運(yùn)維平臺做監(jiān)控和報(bào)警,功能類似 Nagios,但是更加強(qiáng)大。其中較重要的監(jiān)控報(bào)警包括日志監(jiān)控和進(jìn)程監(jiān)控。日志監(jiān)控保證服務(wù)發(fā)生異常時(shí)第一時(shí)間發(fā)現(xiàn),進(jìn)程監(jiān)控保證服務(wù)正常運(yùn)行。另外網(wǎng)易私有云使用 Puppet做自動(dòng)部署,以及使用StackTach幫助定位bug。OpenStack各組件配置OpenStackHavana的配置項(xiàng)成百上千,大部分配置項(xiàng)都是可以使用默認(rèn)值的,否則光是理解這么多的配置項(xiàng)的含義就足以讓運(yùn)維人員崩潰,尤其是對那些并不熟悉源碼的運(yùn)維人員來說更是如此。下文將列舉若干網(wǎng)易私有云中較關(guān)鍵的配置項(xiàng),并解釋它們?nèi)绾斡绊懙椒?wù)的功能,安全性,以及性能等問題。Nova關(guān)鍵配置my_ip=my_ip=內(nèi)地址此項(xiàng)是用來生成宿主機(jī)上的 novametadataapi請求轉(zhuǎn)發(fā)iptables規(guī)則,如果配置不當(dāng),會(huì)導(dǎo)致虛擬機(jī)內(nèi)部無法通過169.254.169.254這個(gè)IP獲取ec2/OpenStackmetadata信息;生成的iptable規(guī)則形如:-Anova-network-PREROUTING-d169.254.169.254/32-ptcp-mtcp--dport80-jDNAT\--to-destination${my_ip}:8775它另外的用途是虛擬機(jī)在resize、coldmigrate等操作時(shí),與目的端宿主機(jī)進(jìn)行數(shù)據(jù)通信。該項(xiàng)的默認(rèn)值為宿主機(jī)的外網(wǎng)IP地址,建議改為內(nèi)網(wǎng)地址以避免潛在的安全風(fēng)險(xiǎn)。metadata_listen=內(nèi)網(wǎng)地址此項(xiàng)是nova-api-metadata服務(wù)監(jiān)聽的IP地址,可以從上面的iptables規(guī)則里面看出它與my_ip的配置項(xiàng)有一定的關(guān)聯(lián),保持一致是最明智的選擇。novncproxy_base_url = vncserver_proxyclient_address =${private_ip_of_compute_host}vncserver_listen=${private_ip_of_compute_host}novncproxy_host=${private_ip_of_host}我們僅在部分節(jié)點(diǎn)上部署novncproxy進(jìn)程,并把這些進(jìn)程加入到HAProxy服務(wù)中實(shí)現(xiàn)novnc代理進(jìn)程的高可用,多個(gè)HAProxy進(jìn)程使用Keepalived實(shí)施HAProxy的高可用,對外只需要暴露Keepalived管理的虛擬IP地址即可:這種部署方式好處是:1)實(shí)現(xiàn)novnc代理服務(wù)的高可用2)不會(huì)暴露云平臺相關(guān)節(jié)點(diǎn)的外網(wǎng)地址3)易于novnc代理服務(wù)的擴(kuò)容但也有不足:1)虛擬機(jī)都監(jiān)聽在其所在的計(jì)算節(jié)點(diǎn)的內(nèi)網(wǎng) IP地址,一旦虛擬機(jī)與宿主機(jī)的網(wǎng)絡(luò)隔離出現(xiàn)問題,會(huì)導(dǎo)致所有虛擬機(jī)的VNC地址接口暴露出去2)在線遷移時(shí)會(huì)遇到問題,因?yàn)閂NC監(jiān)聽的內(nèi)網(wǎng)IP在目的端計(jì)算節(jié)點(diǎn)是不存在的,不過這個(gè)問題nova社區(qū)已經(jīng)在解決了,相信很快就會(huì)合入J版本。resume_guests_state_on_host_boot=true在nova-compute進(jìn)程啟動(dòng)時(shí),啟動(dòng)應(yīng)該處于運(yùn)行狀態(tài)的虛擬機(jī),應(yīng)該處于運(yùn)行狀態(tài)的意思是nova數(shù)據(jù)庫中的虛擬機(jī)記錄是運(yùn)行狀態(tài),但在Hypervisor上該虛擬機(jī)沒有運(yùn)行,在計(jì)算節(jié)點(diǎn)重啟時(shí),該配置項(xiàng)具有很大的用處,它可以讓節(jié)點(diǎn)上所有虛擬機(jī)都自動(dòng)運(yùn)行起來,節(jié)省運(yùn)維人員手工處理的時(shí)間。api_rate_limit=false不限制API訪問頻率,打開之后API的并發(fā)訪問數(shù)量會(huì)受到限制,可以根據(jù)云平臺的訪問量及API進(jìn)程的數(shù)量和承受能力來判斷是否需要打開,如果關(guān)閉該選項(xiàng),則大并發(fā)情況下 API請求處理時(shí)間會(huì)比較久。osapi_max_limit=5000nova-api-os-computeapi的最大返回?cái)?shù)據(jù)長度限制,如果設(shè)置過短,會(huì)導(dǎo)致部分響應(yīng)數(shù)據(jù)被截?cái)唷?0scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ImagePropertiesFilter,JsonFilter,EcuFilter,CoreFilternova-scheduler可用的過濾器,Retry是用來跳過已經(jīng)嘗試創(chuàng)建但是失敗的計(jì)算節(jié)點(diǎn),防止重調(diào)度死循環(huán);AvailabilityZone是過濾那些用戶指定的AZ的,防止用戶的虛擬機(jī)創(chuàng)建到未指定的AZ里面;Ram是過濾掉內(nèi)存不足的計(jì)算節(jié)點(diǎn);Core是過濾掉VCPU數(shù)量不足的計(jì)算節(jié)點(diǎn);Ecu是我們自己開發(fā)的過濾器,配合我們的CPUQoS功能開發(fā)的,用來過濾掉ecu數(shù)量不足的計(jì)算節(jié)點(diǎn);ImageProperties是過濾掉不符合鏡像要求的計(jì)算節(jié)點(diǎn),比如QEMU虛擬機(jī)所用的鏡像不能在LXC計(jì)算節(jié)點(diǎn)上使用;Json是匹配自定義的節(jié)點(diǎn)選擇規(guī)則,比如不可以創(chuàng)建到某些AZ,要與那些虛擬機(jī)創(chuàng)建到相同AZ等。其他還有一些過濾器可以根據(jù)需求進(jìn)行選擇。running_deleted_instance_action=reapnova-compute定時(shí)任務(wù)發(fā)現(xiàn)在數(shù)據(jù)庫中已經(jīng)刪除,但計(jì)算節(jié)點(diǎn)的 Hypervisor中還存在的虛擬機(jī)(也即野虛擬機(jī)審計(jì)操作方式)后的處理動(dòng)作,建議是選擇 log或者re叩。log方式需要運(yùn)維人員根據(jù)日志記錄找到那些野虛擬機(jī)并手工執(zhí)行后續(xù)的動(dòng)作,這種方式比較保險(xiǎn),防止由于nova服務(wù)出現(xiàn)未知異常或者bug時(shí)導(dǎo)致用戶虛擬機(jī)被清理掉等問題,而reap方式則可以節(jié)省運(yùn)維人員的人工介入時(shí)間。until_refresh=5用戶配額與instances表中實(shí)際使用量的同步閾值,也即用戶的配額被修改多少次后強(qiáng)制同步一次使用量到配額量記錄max_age=86400用戶配額

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論