好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > OpenStack虛擬云桌面在攜程呼叫中心的應用

OpenStack虛擬云桌面在攜程呼叫中心的應用

熱門標簽:怎么辦理400開頭電話 平安承德辦理400 電話 世界地圖標注國家名 電銷外呼系統價錢 自貢手機外呼系統 地圖標注原理 內江外呼系統 磁力導航地圖標注 網上辦理400電話的好處
  OpenStack是當前最主流、最熱門的云平臺,攜程OpenStack環境除了應用在攜程網站,還廣泛應用于攜程呼叫中心的桌面云系統。作為業界最領先的呼叫中心之一,攜程服務聯絡中心幾萬員工365x24小時提供全球化服務,讓說走就走的親們毫無后顧之憂。
  桌面云極大地提升了IT運維效率,顯著降低了用戶故障率,是未來IT的一大發展趨勢。那么攜程是如何把這兩者高效結合部署于攜程呼叫中心的?
  本文將主要分享攜程呼叫中心廣泛使用的桌面云系統,介紹這套基于OpenStack的云桌面系統架構以及在開發過程中碰到的一些OpenStack相關問題,并分享云桌面系統運維、監控、自動化測試等。
  一、為什么要使用虛擬云桌面
  1、背景
  攜程呼叫中心,即服務聯絡中心,是攜程的核心部門之一,現有幾萬員工。他們全年7x24小時為全球攜程用戶提供服務。以前呼叫中心桌面使用臺式PC,隨著業務規模擴大,PC維護量倍增,需要投入大量人力、物力、財力來報障系統穩定運行。為此,攜程正式引入虛擬云桌面。
  虛擬云桌面是什么?如圖所示,用戶桌面PC機換成了一個云桌面瘦客戶端(ThinClient,TC)。所有的CPU、內存、硬盤都在云端。云端跑滿虛擬機,用戶桌面通過瘦客戶端連入虛擬機使用Windows。其中,虛擬機采用QEMU加KVM實現,云環境用OpenStack進行管理,遠程桌面協議是第三方高度定制、修改過的spice協議。
  2、云桌面的優勢
  第一,運維成本。PC部署以及系統軟件安裝耗時較長,云桌面后臺5分鐘一臺自動交付可供用戶使用的虛擬機;PC擴大部署投入巨大,云桌面只需要購買少量服務器接入云系統,快速擴大部署。
  第二,故障處理效率。PC有問題,有可能需技術人員到用戶現場開箱檢查,故障排查耗時較長,嚴重點的硬件問題如需更換配件,等待周期更長。云桌面故障標準是5分鐘處理完畢。對于5分鐘無法解決的問題,只需后臺更換虛擬機解決。
  第三,運維管理。PC分散在用戶桌面,運維需要用戶配合(比如保持開機)。云桌面提供了運維系統,只需設定好時間、安裝任務參數,系統會全自動進行安裝維護。同時,瘦客戶端輕量,無任何用戶數據,對用戶也帶來極大便利。典型的如用戶位置遷移,云桌面無需搬移,只需用戶到新位置登錄即可。
  最后,云桌面整體低碳、環保。瘦客戶端功率跟普通節能燈相近,比PC低一個數量級。
  3、攜程云桌面現狀
  攜程云桌面現已部署上海、南通、如皋、合肥、信陽、穆棱六個呼叫中心。幾百臺計算節點、近萬坐席,而且規模還在不斷擴大中,新的呼叫中心也在計劃中。
  同時,云桌面平臺故障率、瘦客戶端故障率也遠低于PC故障率。下圖是攜程運維部門的故障率統計圖。
  二、如何實現虛擬云桌面
  1、云桌面原架構
  攜程云桌面后臺云平臺在實踐中進行了多次迭代,原有架構如上圖所示。該架構特點是,直接在OpenStack Nova進行定制開發,添加了分配虛擬的接口,實現瘦客戶端直接訪問OpenStack獲取虛擬機信息。
  這個架構下,云桌面平臺可以直接訪問全部的虛擬機信息,直接進行全部的虛擬機操作,數據也集中存在OpenStack數據庫,部署方便。用戶權限通過OpenStack Keystone直接管控,管理界面使用OpenStack Horizon并添加云桌面管理頁面。
  典型的分配虛擬機用例中,瘦客戶端通過OpenStack Keystone進行認證、獲取Token,然后訪問Nova請求虛擬機。如上圖所示,瘦客戶端會通過Keystone進行認證,Keystone確認用戶存在后向域LDAP進行密碼校驗,確認用戶合法后返回Token;瘦客戶端再通過Token向Nova申請虛擬機。
  Nova根據瘦客戶端設置的坐席信息,首先查找這個坐席是否已分配虛擬機。如有直接返回對應虛擬機。如無,從后臺空閑虛擬機中進行分配并更新數據庫分配,返回遠程桌面協議連接信息。
  2、原架構局限性
  隨著業務增長,原架構出現一些局限性,首先,業務與OpenStack呈強綁定關系,導致OpenStack升級涉及業務重寫;修改業務邏輯需要對整個云平臺做回歸測試。
  其次,用戶必須要是Keystone用戶,用戶管理必須使用Keystone模型。導致Keystone與LDAP之間要定期同步進行,有時還需手工同步特殊用戶。
  管理層面,因為Horizon的面向云資源管理的,但業務主要面向運維的。這部分差異,導致我們開發新的Portal來彌補,管理人員需要通過兩套系統來進行運維。
  整體方案上,云桌面遠程桌面協議由第三方提供,如果第三方方案不支持OpenStack,就無法在攜程云桌面系統使用。
  最后,用戶部門有各種需求,直接在OpenStack內進行開發難度大,上線時間長,開發人員很難實現技術引領業務發展。
  3、新架構
  經過架構調整,新架構實現了OpenStack與我們的業務解耦,同時適應用戶部門的業務發展方向,方便功能快速迭代上線。
  從圖中可以看出,云桌面業務邏輯從OpenStack中獨立出來,成為了VMPool,Allocator;管理層獨立開發一套面向IT運維的Portal系統,取代Horizon;云平臺可直接原生的OpenStack。
  其中VMPool負責維護某種規格虛擬機的可用數量,避免需要的時候沒有虛擬機可用,讓用戶等待。Allocator滿足符合條件的用戶請求,返回用戶對應的虛擬機或者從VMPool分配虛擬機分配用戶。
  對于用戶分配虛擬機的典型用例,與原有架構改動較大。首先,業務層瘦客戶端將直接訪問業務層的API。API層會直接通過LDAP進行用戶認證,并獲取用戶OU、組別等信息。
  接著,業務層將進行用戶規則匹配。每個Allocator通過用戶組、OU、tag等進行規則匹配,以確定該用戶是否由自己進行服務。如不滿足Allocator所定義的規則,將按Allocator的優先等級,繼續選取下一個Allocator進行匹配,直到匹配或者默認規則為止。
  匹配后,如果是有綁定關系的分配規則,比如用戶綁定或者坐席綁定、TC綁定,那Allocator將直接從數據庫返回已有的綁定;如果無綁定關系,Allocator就會從對應的VMPool分配一臺虛擬給,返回給用戶。
  最后,對用戶部門來說,看到的是用戶屬于一個組,這個組對應特定的虛擬機。只需調整用戶屬性,即可實現用戶分配特定的虛擬機,充分滿足他們的各種需求。
  三、大規模部署中遇到各種坎
  1、軟件版本選取
  在搭建OpenStack前,必須進行需求分析,確定所需的需求。然后根據需求選取滿足條件的OpenStack及相關組件的版本,以避免后期出現各種系統及虛擬機問題。
  我們根據攜程呼叫中心的業務需要,選好了幾個版本的KVM、QEMU,以及OpenVSwitch,在選取能適配它們的幾個可用kernel、Libvirt版本,并剔除了不穩定版本或者有已知問題的版本,將這些組件組成合理的組合,進行7x24小時用戶模擬自動測試,找到最穩定、合適的并滿足需求的,作生產上線使用。
  2、資源超分
  超分與應用場景強關聯。一定要首先確定需求,是CPU密集、內存密集、IO密集還是存儲密集。在做了充足的用戶調查后,我們準備了大量用戶模擬自動化腳本,進行自動化測試,以選取最合理超分值。
  從我們的測試結果看,瓶頸主要是內存。內存超分過度會導致主機直接OOM(Out Of Memory)宕機。Windows及Windows應用吃內存比較嚴重,特別是像Chrome這些程序,優先占用內存先。雖然我們使用KSM(Kernel Samepage Merging,相同內存頁合并功能),省了一些內存,但最終上線也只能達到1:1.2的超分。
  對于IO,在Windows啟動階段比較明顯。大量Windows同時啟動時會造成啟動風暴情,在我們的極端條件測試中出現過啟動Windows需要40分鐘,硬盤IO100%使用,每個讀寫請求平均0.2秒響應。所以,在大規模部署時,對虛擬機并發開機數一定要有一定限制。同時,硬盤一定要多塊做RAID,以提供更高的IO吞吐量。
  最后是CPU。CPU過度超分會嚴重影響用戶體驗。但是一般不會造成宿主機宕機。在我們的測試條件下,超分到1:2用戶體驗開始下降,所以實際上線超分不多。
  最終我們現在生產環境,是以內存為標準進行超分,硬盤、CPU控制在可接受范圍。
  3、網絡細節
  多DNSMasq實例問題
  我們虛擬機的IP地址通過DHCP獲取。DHCP服務端我們使用的DNSMasq比較老,只是簡單的實現了多實例運行,但并未真正實現綁定到虛擬接口。
  在生產環境,我們觀察到VM都能獲取IP,但是在續租IP的時候大量失敗。經抓包分析,虛擬機在第一次請求IP時,由于自身無IP地址,使用的是廣播方式進行DHCP請求;在續租時,由于本身有IP地址,也已明確DHCP服務端地址,所以采用IP點對點單播請求。
  服務端,多個DNSMasq實例運行的情況下,如果是廣播包,所有DNSMasq都收到消息,所有廣播請求能正確回復。在單播情況下,只有最后啟動的DNSMasq能收到請求,最終導致虛擬機得不到正確的DHCP續租響應。最終我們通過升級DNSMasq解決。
  宿主機重啟導致虛擬機網絡不通
  在物理機重啟后,有時會出現VM網絡不通。經過調查,我們分析出根本原因是libvirt,ovs的啟動、關閉順序。
  在正常情況下,libvrit退出時會刪除它管理的OpenVSwitch Port以及它創建的對應的Tap虛擬網卡。libvirt啟動時會創建需要的Tap網卡,并請求OpenVSwitch創建對應的Port建立虛擬連接。
  邏輯上,OpenVSwitch Port相當于交換機網口。Tap網卡,相當于PC的網卡。他們之間需要連線網絡才能正常通信。
  如果關機時,OpenVSwitch比Libvirt先停止,Libvirt將不能成功刪除它管理的OpenVSwitch Port;開機時,如果OpenVSwitch先啟動,它將建試圖重建之前存在的port。但因為Libvirt還未啟動,OpenVSwitch Port對應的Tap網卡還未創建(即虛擬網口對應的虛擬網卡不存在),OpenVSwitch重建Port最終失敗并且Port將被銷毀。
  由于Port信息對OpenVSwitch來說是用戶配置信息,OpenVSwitch并不會從數據庫中清理掉對應的Port記錄。所以等到Libvirt啟動調用OpenVSwitch創建Port時,OpenVSwitch發現數據庫里面已經存在這些Port,所以并未真正觸發Port重建,最后造成VM網絡不通。
  最終我們通過開、關機順序調整實現問題修復。
  RabbitMQ長連接
  RabbitMQ是OpenStack使用的一種消息交交互組件。OpenStack在某些時候,會出現無法創建虛擬機的情況。通過日志分析我們發現計算節點沒有收到對應的創建請求消息。然后抓包分析進一步發現,TCP數據包被防火墻攔截、丟棄。原來防火墻對TCP會話有數量限制,會定期丟棄長久無數據交互的TCP會話。
  在了解根本原因后,一方面通過定期自動冒煙測試保證網絡不空閑,一方面想解決方案。從應用層面上,我們調研到RabbitMQ已經有心跳機制,但要升級。由于升級影響范圍太廣,最終沒有進行。
  接著我們對網絡層面進行了調查,發現TCP本身有Keepalive保活機制,同時RabbitMQ代碼本身也有TCP保活,但默認不開啟。最后我們通過啟用RabbitMQTCP保活機制,設置一個合理的保活間隔解決問題。
  四、系統穩定背后的黑科技
  1、運維工具
  運維是云桌面的一大難題,為此我們專門設計了運維系統,通過兩套SaltStack系統實現了對瘦客戶端與虛擬機的管理;通過Portal系統實現對整個系統的管理。
  具體功能上,運維上,實現了對虛擬機、宿主機的可視化監控、管理,并能對虛擬機實現遠程管理;對IT管理人員,實現了自動化的軟件安裝、文件下發、密碼修改、數據找回,、發送通知等功能;對資產管理員,實現了TC狀態監控,TC異常情況及時發現。還有其它大量工作仍在開發進行中。
  2、監控告警
  監控方面,除了常規的服務器、操作系統層面的監控,我們實現了大量業務層監控。比如通過監控已經連接云桌面的瘦客戶端用戶輸入事件,實現實時活躍用戶監控,使得我們能實時監控系統負載、用戶數量。通過對比部門排班,第一時間發現用戶數異常。
  同時,對OpenStack的各種告警、ERROR的也添加了監控,確保云平臺的穩定。對虛擬機網絡、CPU等也進行了相應監控,確保虛擬機對于用戶的高可用性。
  3、自動化測試
  通過在瘦客戶端實現用戶輸入輸出模擬,我們實現了全自動的測試環境。我們搭建了專門的云桌面測試實驗室,數十臺盒子進行7x24小時自動測試,全力驗證系統各項變更,支持業務各種研究探索,保障系統穩定性。
  同時,通過傳統的CI框架,我們搭建了代碼的單元測試、集成測試環境,已經大量的線上測試用例,不僅有力的保障了軟件質量,還能定期對線上系統進行體檢,第一時間發現系統異常。

標簽:懷化 合肥 湖州 梧州 樂山 淮安 梅州 亳州

巨人網絡通訊聲明:本文標題《OpenStack虛擬云桌面在攜程呼叫中心的應用》,本文關鍵詞  OpenStack,虛擬,云,桌面,在,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《OpenStack虛擬云桌面在攜程呼叫中心的應用》相關的同類信息!
  • 本頁收集關于OpenStack虛擬云桌面在攜程呼叫中心的應用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲最稳定资源在线观看| 女人张开腿无遮无挡| 亚洲成人动漫在线| 亚洲日韩欧美成人8888| 中文字幕无码巨臀| 亚洲肥妇| 精品亚洲综合久久中文字幕| 精品无码一区二区三区免费看 | 美女直播无遮挡app| 欧美成人精品久久久久久久| 91精品久久香蕉国产国二厂线看| 黄色3级视频| 性a视频| A片扒开双腿进入做爽爽 | 国产成a人片在线观看视频| 五月的婷婷| 啊灬啊灬啊灬快灬深用力游戏| 亚洲AV一区二区无码A片| 私人毛片免费高清影视院| 欧美18av| 电影av在线| 91精品国产91综合久久蜜臀| 无码人妻一区二区三区色欲aⅴ| 一个人看的免费视频www中国| 91新视频| 岳的荡欲呻吟1一9章| 片多多成人版?无限看新版| 男人一边摸下面一边吃奶视频 | 99久久久免费精品国产| 精品爆乳爆乳一区二区三区无码av | 国产三级一区二区三区| 一求乳魂| japanesetube日本护士在线| 国精品产品区二区三区精华液| 国产精品成人免费一区久久羞羞| chinese国产hdsex18一| 最美情侣韩国片| 国产aaaaaaa毛片| 稀缺小u女呦精品呦视频| 色窝窝51精品国产人妻消防| 工地公共精厕h文|