精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenStack Nova如何支持Live Upgrade

云計算 OpenStack
OpenStack半年一個版本,升級是一個怎么也躲不開的問題,總是在想如何在復雜的OpenStack部署環境中做到業務平滑升級,同時又不影響到用戶,當前的OpenStack中又有那些特性支持live-upgrade,今天以Nova作為一個開端,看看Nova中是怎么做的。

寫在最前面:

OpenStack半年一個版本,升級是一個怎么也躲不開的問題,總是在想如何在復雜的OpenStack部署環境中做到業務平滑升級,同時又不影響到用戶,當前的OpenStack中又有那些特性支持live-upgrade,今天以Nova作為一個開端,看看Nova中是怎么做的。

代碼基線:Kilo

官方文檔

如今的OpenStack官方文檔已經相對比較全面了,Operations Guide中就有一個章節專門描述了升級相關的指導,并舉了幾個版本升級的例子,雖然比較簡單,但是大體的框架和步驟都已經有了。基本的思路就是:小規模驗證 -> 備份配置文件和數據庫 -> 更新配置文件 -> 利用包管理器升級安裝包 -> 停止進程 -> 更新數據庫 -> 啟動進程 -> 再次驗證。推薦大家都仔細閱讀一下。

upgrade levels

官方文檔中專門提到了一個概念 upgrade levels,這里涉及到Nova的***個live-upgrade特性。

先稍微繞開一點,當前由于對象化的引入,nova中的api, scheduler, conductor, compute四個進程都存在循環依賴,所以不可能簡單的劃分出一個依賴樹,從樹的葉子節點開始升級,從而保證API兼容性,這種升級的方式在nova中不可行。有循環依賴也就是說,從任何一端開始升級,都有可能發生高版本client向低版本server發送消息的可能。這里就需要用到upgrade levels。

 

OpenStack Nova如何支持Live Upgrade

簡單來說就是一個rpcapi端的版本控制機制,在升級之前,rpc client端設置一個版本閥值,當rpcapi需要發送消息時,通過can_send_version方法判斷,如果超過閥值就做自動降級處理,沒有做降級處理的消息,會被禁止發送,具體實現可以參考oslo_messaging的代碼。例子如下:

  1. def shelve_offload_instance(self, ctxt, instance, 
  2.  
  3. clean_shutdown=True): 
  4.  
  5. msg_args = {‘instance’: instance} 
  6.  
  7. if self.client.can_send_version(’3.37′): 
  8.  
  9. version = ’3.37′ 
  10.  
  11. msg_args['clean_shutdown'] = clean_shutdown 
  12.  
  13. else
  14.  
  15. version = ’3.0′ 
  16.  
  17. cctxt = self.client.prepare(server=_compute_host(None, instance), 
  18.  
  19. version=version) 
  20.  
  21. cctxt.cast(ctxt, ‘shelve_offload_instance’, **msg_args) 

如果我們計劃從juno升級到kilo,首先需要設置所有rpcapi的upgrade levels為juno,這樣當我們升級的過程中,如果一個已經升到kilo版本的conductor向juno版本的compute發送rpc消息,還是會使用和juno版本rpcapi接口兼容的消息。

#p#

API序列化

每一個rpcapi的都有版本號,每次的api修改都需要調整版本號,nova通過版本號來判斷client側和server側是否兼容。

整個rpc調用分為兩個步驟,rpcapi側將整個rpc調用序列化,然后在rpc server也就是manager側收到消息,再反序列化執行。整個rpc message除了context之外,message字典結構體中還包括四個部分:

  1. method
  2. args
  3. version
  4. namespace

version標識了rpcapi的版本,在rpc server側直接通過method名稱查找manager中的函數,將args參數反序列化之后,調用method函數執行。調用之前也會在 server側,檢查rpcapi的version是否和manager的實現版本兼容,如果不兼容拋出異常。namespace用于區分 conductor中的ConductorAPI和ConductorTaskAPI。

可以看到如果我們修改代碼,調整了rpcapi的接口參數,就一定要同時更新client/server側的版本號,并在rpc server的接口實現側提供參數默認值。

在rpcapi的層面,低版本client調用高版本server,兼容支持;高版本client調用低版本server,通過upgrade levels自動降級,未做自動降級處理的禁止發送,拋出異常。

API參數序列化

除了rpcapi在升級過程中需要考慮升級兼容性,args參數中的NovaObject對象,也需要考慮升級兼容性。所有的NovaObject都有版本號跟蹤每一次的修改。

在rpcapi發送消息之前,首先對接口參數進行序列化,如果參數是NovaObject類型,都通過NovaObject的 obj_to_primitive方法轉化成dict類型之后,保存在args,如果是原始類型,直接保存在args中。rpc server接收到消息之后,將args中的接口參數反序列化,如果是NovaObject對象,通過obj_from_primitive接口反序列化。

NovaObject類中存在一個_obj_classes類屬性,其中會保存一個NovaObject的多個版本的實現,通過版本號從大到小排序,***版本就是當前代碼實現版本,較小版本由升級過程中低版本進程發送而來。

NovaObjectSerializer.deserialize_entity用于反序列化對象,如果server端當前實現版本大于發送過來的版本,直接兼容,反序列化對象。如果發送的版本大于server端實現版本,忽略最末端版本號,再次嘗試反序列化,如果仍然不能成功,就需要調用 conductor.object_backport方法,嘗試降級處理,將args參數轉化為server端可以處理的object。

#p#

升級順序

升級順序可能不同人分析有不同的結果,我這里提供一個建議順序和分析過程。

社區的operation guide中推薦的升級方式為先controller節點,然后compute節點。在我看來,這樣升級有一個好處就是可以盡早的發現問題,降低風險和回退成本。controller節點進程最多也最復雜,首先升級可以盡早的發現問題,這時回退也只需要回退controller,如果有100個 compute都升級完成了,再升級controller,如果升級失敗,就需要回退100個compute節點。

先升級controller有個問題,就是client端的版本要大于server端,也就是4.0的conductor可能調用3.0的 compute,需要用upgrade_levels控制。如果compute進行數據庫操作,就會執行NovaObject的方法,***調用到 conductor的object_class_action方法,這個方法有特殊處理,會將返回值版本轉化為調用端的版本。

綜合這幾點,推薦的一個升級順序為:

  1. conductor
  2. scheduler
  3. compute
  4. api

***升級api進程的原因是,希望所有新增接口和新增參數能在整個環境都支持的情況下,再提供給用戶使用。

升級順序并無一個定論,每種順序各有利弊,歡迎討論。升級在OpenStack中一直都是一個大問題,沒有***理論,只有***實踐,需要不斷的嘗試總結交流,希望能為OpenStack的升級成熟,盡自己的一份力。

原文鏈接:http://www.openstack.cn/?p=3404

責任編輯:Ophira 來源: OpensStack中國社區
相關推薦

2014-12-11 11:30:11

openstacknovadocker

2011-09-07 10:42:38

cloudopenstack n

2011-11-29 10:24:17

OpenStackNova

2012-02-03 09:22:57

2011-08-17 10:19:30

CentOSOpenStack N

2015-03-16 10:16:33

協同并發NovaOpenstack

2011-05-24 09:33:40

UbuntuOpenStackNova

2011-07-18 13:35:38

PuppetOpenStack

2015-05-12 10:31:25

openstack開源新特性分析

2013-04-16 09:56:33

GlusterFSOpenStack

2016-03-08 10:40:05

谷歌ios蘋果

2016-01-21 09:37:19

OpenStack容器編排引擎Docker

2014-12-03 10:19:49

OpenStack開源云計算云服務

2015-01-23 10:47:14

openstackvspheremutil-hyper

2017-06-09 14:30:31

Openstack N對象模型數據庫

2012-11-07 09:36:47

RackspaceOpenStackRightScale

2014-04-24 10:06:01

OpenStackDocker

2017-03-16 11:39:33

Openstack源碼姿勢

2009-12-17 16:16:25

2018-01-22 08:50:49

LinuxUbuntuCubic
點贊
收藏

51CTO技術棧公眾號

日本视频在线观看| 国产大片aaa| a一区二区三区亚洲| 亚洲精品久久久久久国产精华液| 国产精品麻豆免费版| 五月婷婷视频在线| 亚洲五月综合| 国产视频一区在线| 欧美视频亚洲图片| 午夜伦理福利在线| 亚洲人成精品久久久久久| 99视频在线免费观看| 国产成人麻豆免费观看| 欧美日韩一视频区二区| 亚洲偷熟乱区亚洲香蕉av| 奇米777在线视频| 免费福利视频一区二区三区| 亚洲伊人色欲综合网| 日韩欧美在线观看强乱免费| 色呦呦中文字幕| 国产一区视频网站| 国产精品久久久久免费a∨| 国产网站在线看| 亚洲国产一区二区在线观看| 亚洲性日韩精品一区二区| 中文字幕在线观看91| 亚洲资源在线| 欧美色倩网站大全免费| 国产精品视频一区二区三区四区五区| 性欧美videos高清hd4k| 中文字幕不卡在线播放| 欧美午夜视频在线| 偷拍精品一区二区三区| 国产成人免费视频网站高清观看视频| 国产精品一区二区三区成人| a v视频在线观看| 国产一在线精品一区在线观看| 有码中文亚洲精品| 一本色道久久综合亚洲精品图片 | 国产精品精品一区二区三区午夜版| 久久精品国产亚洲AV无码男同| 亚洲精品97| 久久精品国产亚洲一区二区 | 精品午夜久久| 精品亚洲一区二区三区在线播放| 亚洲天堂美女视频| 精品网站aaa| 亚洲高清久久网| 影音先锋资源av| 盗摄牛牛av影视一区二区| 日韩女优毛片在线| 国产精品成人免费一区久久羞羞| 51精品国产| 欧美精品一区二区三区高清aⅴ| 午夜性福利视频| 91国内精品白嫩初高生| 精品久久久久久久久久久久包黑料| 中文字幕亚洲日本| 97成人在线| 亚洲国产日韩欧美在线动漫| 亚洲国产无码精品| 国产永久精品大片wwwapp| 亚洲性av在线| 永久免费看片直接| 欧美精品综合| 4k岛国日韩精品**专区| 久久国产视频一区| 日韩高清不卡一区二区| 成人黄色免费片| www.日本在线观看| 成人的网站免费观看| 久久国产精品-国产精品| 暖暖视频在线免费观看| 中文av一区特黄| 老司机av福利| 97天天综合网| 欧美亚洲动漫精品| 天天爽夜夜爽视频| 日韩动漫一区| 视频一区视频二区国产精品| 久久久久无码国产精品| 国产精品日本| 国产在线播放91| 蜜桃久久一区二区三区| 久久免费午夜影院| 欧美少妇一区二区三区| 午夜影院在线观看国产主播| 欧美三级电影网站| 成人欧美精品一区二区| 国产精品一区2区3区| 成年无码av片在线| 五月婷婷激情视频| 久久国产日韩欧美精品| 国产亚洲情侣一区二区无| 成年人在线免费观看| 亚洲一区在线观看视频| 免费黄色特级片| 一区二区三区四区视频免费观看| 亚洲欧美成人在线| 欧美日韩激情在线观看| 老司机免费视频久久| 91传媒免费看| yiren22综合网成人| 亚洲国产成人av网| 亚洲欧美在线精品| 日韩在线麻豆| 欧美国产日韩在线| 91久久精品国产91性色69 | 另类欧美小说| 四虎av在线| 精品视频1区2区3区| 日本丰满少妇裸体自慰| 欧美在线资源| 国产日韩欧美91| 日韩偷拍自拍| 亚洲国产日韩精品| 国内av免费观看| 色偷偷综合网| 日韩av片永久免费网站| 日本精品一区二区在线观看| 亚洲猫色日本管| 手机在线看福利| 要久久爱电视剧全集完整观看| 欧美激情乱人伦一区| 国产精品人人妻人人爽| 中文字幕av免费专区久久| 无码人妻精品一区二区三区在线 | 国产精品第9页| 久久国产乱子精品免费女| 久久久久久欧美精品色一二三四| 日本在线视频www鲁啊鲁| 欧美精品videos极品| 欧美18视频| 日韩免费影院| 欧美一区二区啪啪| 免费在线观看a级片| 日本免费在线视频不卡一不卡二| 亚洲免费看黄网站| 欧美大尺度做爰床戏| 网曝91综合精品门事件在线| 久久全球大尺度高清视频| 亚洲产国偷v产偷v自拍涩爱| 亚洲黄色录像片| 婷婷中文字幕在线观看| 久久理论电影| 国产日韩欧美视频| 日本在线视频网| 91麻豆精品国产| 手机在线免费看片| 国产精品中文欧美| av在线免费观看国产| 日本成人精品| 久久久久久久久久久久av| 日批免费在线观看| 狠狠做深爱婷婷久久综合一区 | 中文在线观看av| 中文字幕一区二区不卡| 在线播放免费视频| 欧美激情综合色综合啪啪| 99一区二区| 日本不卡免费高清视频在线| 亚洲欧美日韩高清| 波多野结衣大片| 中文字幕在线观看不卡视频| 亚洲无在线观看| 激情久久五月| 麻豆av一区二区三区| 欧美影视资讯| 欧美精品中文字幕一区| 天堂av中文字幕| 色欧美乱欧美15图片| 欧美另类69xxxx| 国产精品2024| 日本成年人网址| 91九色精品国产一区二区| av成人观看| 蜜臀国产一区| 麻豆国产精品va在线观看不卡 | 91美女片黄在线| 中文字幕永久视频| 午夜精品久久| 欧美黄色直播| 精品国产第一国产综合精品| 97香蕉超级碰碰久久免费软件| 国产高清视频在线播放| 宅男噜噜噜66一区二区66| 国产精品成人免费一区二区视频| 欧美激情一区不卡| 日本少妇xxxx软件| 美女精品一区二区| 搞av.com| 99久久久久久中文字幕一区| 国产精品综合久久久久久| 日本欧美一区| 欧美黑人巨大xxx极品| 懂色av中文在线| 精品久久99ma| 一区二区三区亚洲视频| 亚洲线精品一区二区三区八戒| 天天干天天舔天天操| 成人精品高清在线| 手机免费av片| 日韩精品视频网| 日韩小视频网站| 久久一区二区三区喷水| 精品欧美一区二区久久久伦| 高清一区二区三区av| 欧美专区福利在线| 欧美人与性动交α欧美精品图片| 国产一区二区三区毛片| 四虎在线视频免费观看| 欧美一区二区免费观在线| 中文字幕+乱码+中文| 欧美网站在线观看| 久久免费精彩视频| 亚洲私人影院在线观看| 欧美波霸videosex极品| 91在线观看视频| 动漫美女无遮挡免费| 国产在线不卡一卡二卡三卡四卡| 激情综合网婷婷| 国产情侣久久| 日本丰满少妇xxxx| 午夜久久99| 黄色网络在线观看| 久久资源中文字幕| 五月天亚洲综合小说网| 一区三区在线欧| 久久久7777| 黄色免费大全亚洲| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 亚洲欧美日韩精品综合在线观看| 国产一区二区三区四区二区| 久久久久久久久久久一区| 国产在线播放精品| 国产精品免费区二区三区观看 | 亚洲欧美韩国| 欧美一区二区三区免费视| 91白丝在线| 97人人做人人爱| av中文在线资源库| 97色伦亚洲国产| 新版的欧美在线视频| 91成人天堂久久成人| 91超碰国产在线| 668精品在线视频| 欧美巨大丰满猛性社交| 欧美一乱一性一交一视频| 亚洲最新无码中文字幕久久| 日韩av手机在线观看| 韩国主播福利视频一区二区三区| 欧洲成人性视频| 天天综合网天天| 国产精品一区电影| 国产95亚洲| 国产精品一区二区三区四区五区| 国内精品偷拍| 欧美三日本三级少妇三99| av伊人久久| 麻豆md0077饥渴少妇| 午夜欧美理论片| 免费在线观看亚洲视频| 视频一区二区三区入口| 五月天激情播播| 大尺度一区二区| 37p粉嫩大胆色噜噜噜| 中文字幕第一区二区| 青青草原在线免费观看| 午夜一区二区三区视频| 无码人妻黑人中文字幕| 欧美日韩国产首页在线观看| 国产福利小视频| 精品国产网站在线观看| 男女视频在线观看| 日韩中文字幕免费看| 青青在线视频| 日本亚洲精品在线观看| 日韩三级成人| 狠狠爱一区二区三区| 欧美一级淫片| 妺妺窝人体色www看人体| 久久激情一区| 日韩欧美中文视频| 久久免费视频一区| 日韩成人毛片视频| 欧美丝袜一区二区三区| 99久久亚洲精品日本无码| 亚洲国产另类久久精品| 三区四区电影在线观看| 91国偷自产一区二区三区的观看方式 | 亚洲日本在线a| 亚洲伊人成人网| 91精品午夜视频| 久热av在线| 色综合91久久精品中文字幕 | 5566av亚洲| 国产成人ay| 日韩精品一区二区免费| 日本视频中文字幕一区二区三区| 91porn在线| 亚洲欧洲av在线| 中文字幕免费在线观看视频| 在线播放91灌醉迷j高跟美女| 五月婷婷久久久| 久久九九热免费视频| 浪潮色综合久久天堂| 国产精品视频入口| 欧美成人自拍| 国产精品-区区久久久狼| 国产999精品久久久久久| 日本一二三不卡视频| 精品人伦一区二区三区蜜桃免费| 一卡二卡在线视频| 日韩av网站电影| 丁香花在线观看完整版电影| 国产伊人精品在线| 欧洲三级视频| 久久国产乱子伦免费精品| 成人高清在线视频| 精品国产乱码久久久久久鸭王1 | 希岛爱理一区二区三区| 十八禁视频网站在线观看| 成人国产精品免费观看视频| 久久精品一级片| 日韩一区二区免费视频| 久cao在线| 91精品国产综合久久久久久久久 | 91精品国自产| 最好看的2019的中文字幕视频| 日本综合字幕| 欧美日韩在线观看一区二区三区| 新67194成人永久网站| 国产精品久久久久久亚洲色| 亚洲综合久久av| 亚洲国产视频一区二区三区| 九九久久久久99精品| 欧美视频精品全部免费观看| 国产精品亚洲天堂| 久久99精品一区二区三区三区| 中文天堂资源在线| 欧美在线免费观看视频| 欧洲毛片在线| 国产精品美乳一区二区免费| 欧美丝袜激情| 日韩av卡一卡二| 中文字幕一区二区三区av| 国产一区二区三区在线观看| 久久亚洲成人精品| 奇米一区二区| 人妻无码久久一区二区三区免费| 99在线精品视频| 秋霞精品一区二区三区| 亚洲欧美日韩国产成人| 欧洲成人一区| 中文字幕中文字幕在线中一区高清 | 国产精品高潮呻吟久久av黑人| 国产一区二区在线| 日韩av片专区| 亚洲国产裸拍裸体视频在线观看乱了| 好吊色在线观看| 欧美一级大片在线观看| 国产欧美日韩在线观看视频| 亚洲综合日韩欧美| 亚洲男人的天堂在线aⅴ视频| 亚洲国产精彩视频| 26uuu亚洲国产精品| 日本一区二区高清不卡| 久久久久久综合网| 午夜天堂影视香蕉久久| 欧美套图亚洲一区| 91精品久久久久久久久久| 欧美日韩国产欧| 成年人在线观看av| 欧美日本精品一区二区三区| 韩国成人免费视频| 青娱乐国产91| 国产精品伊人色| 激情视频网站在线观看| 久久香蕉频线观| 久久av免费看| 国产传媒免费观看| 懂色av一区二区三区| 欧美激情午夜| 久久精品一区二区三区不卡免费视频| 日韩不卡一二三区| 青青草国产在线观看| 亚洲欧洲高清在线| 精品一区二区三区免费看| 日韩avxxx| 亚洲另类中文字| 九色网友自拍视频手机在线| 91夜夜揉人人捏人人添红杏| 国产日韩一区| a在线视频播放观看免费观看| 亚洲毛片在线免费观看| 日本精品视频| 99热这里只有精品在线播放| 亚洲成人7777| v天堂福利视频在线观看| 日韩av高清|