跳到主要內容

簡易檢索 / 詳目顯示

研究生: 潘昱成
Yu-Chen Pan
論文名稱: KVM 高可用性群集設計與實作
The Design and Implementation of a High Availability KVM based Cluster
指導教授: 梁德容
Deron Liang
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 軟體工程研究所
Graduate Institute of Software Engineering
論文出版年: 2016
畢業學年度: 104
語文別: 中文
論文頁數: 63
中文關鍵詞: 虛擬機器高可用性叢集
相關次數: 點閱:9下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著近年來雲端技術的崛起,虛擬化技術也變得更加重要。透過虛擬化技術,管理者可以把硬體上的實體資源模擬為邏輯上的資源,透過hypervisor切割給多個獨立虛擬機使用。然而在實際運作環境中,實體主機與網路環境往往會有各種不同的軟體硬體錯誤,造成虛擬機上的服務中斷。我們針對一般電腦(沒有IPMI支援的)和ATCA架構下的工業電腦(具有IPMI硬體支援)兩種不同的電腦,提出可以提升高可用性的系統。在本系統裡透過HA Cluster的方式,改善過往採用單點式監控的缺陷,HA Cluster中的HA Agent相互監控以達到不需人工介入即可以用較少的downtime來回復服務。除了對實體機上硬體發生的錯誤,和軟體上各個component提出錯誤回復(Failure Recovery)的解決方式,為了讓我們的系統能夠更穩定的在每部電腦上運作,此系統在分析、設計、實作以及測試均遵循軟體工程流程。在設計方面除了產出一般的設計文件、把系統模組化設計外,並透過Petri net model來驗證Cluster運作方式。在開發方面透過利用版本控制系統保護程式碼的安全,並且在開發結束後以Code Review來增加系統的品質和可維護性。在測試方面,我們除了做Unit test, Regression test之外,並且使用靜態方式量化程式碼質量,確保我們程式碼是有品質的。實驗數據指出,我們的系統相較於其他相近的虛擬化技術除了可以提供較高的高可用性,亦能保有軟體品質。


    It’s cloud technology has now taken off and virtualization technology has become more important. Administrator can emulate hardware resource to logic resource through hypervisor that it is helpful to reduce the amount of waste resource. However, virtualization technology will cause more failure on their server.
    We implement a highly available cluster in KVM open source project that support IPMI. It improves the previous system weaknesses that is cannot handle the HA agent failure. We also hope our system will robust that why we spend a lot of effort to enhance software quality during implement system. Using Petri net to proof our system; Using regression test to check code functionality; Using static analysis tool to proof our system is robust.
    In the result, we know our system performance is better than others technology and quality is also superior to previous system.

    摘要 II Abstract III 目錄 IV 圖目錄 VI 表目錄 VIII 第一章 緒論 1 1-1研究背景 1 1-2研究動機 3 1-3論文目的 3 1-3論文主要貢獻 3 1-4論文架構 4 第二章 相關研究 5 2-1背景知識 5 2-1-1 Hypervisor 5 2-1-2 QEMU 5 2-1-3 KVM 5 2-1-4 libvirt 6 2-2 容錯相關研究 8 2-2-1 VMware 8 2-2-2 Red Hat HA 10 2-2-3 HA Cluster 10 2-2-4 Petri net 10 2-2-6 HA 1.0 11 第三章 問題定義 12 3-1 Failure model 12 第四章 系統設計 14 4-1 系統架構 14 4-2 系統架構細節 16 4-3 系統假設 33 4-4 系統證明 33 第五章 系統品質提升 38 5-1 代碼審查和模組化設計 38 5-2 系統回歸測試 38 第六章 實驗環境與測量 40 6-1 實驗介紹 40 6-2 實驗目的 40 6-3 實驗環境 40 6-4 實驗運行結果 41 第七章 結論 49 第八章 未來展望 49 參考文獻 50 附錄 52

    [1] Is the Hypervisor Market Expanding or Contracting? Available: http://www.aberdeen.com/Aberdeen-Library/8157/%20%20AI-hypervisor-server-virtualization.aspx
    [2] D. Perez-Botero, J. Szefer, and R. B. Lee, "Characterizing hypervisor vulnerabilities in cloud computing servers," presented at the Proceedings of the 2013 international workshop on Security in cloud computing, 2013.
    [3] Hypervisor. Available:https://en.wikipedia.org/wiki/Hypervisor
    [4] QEMU. Available: http://wiki.qemu.org/Main_Page
    [5] KVM. Available: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    [6] A. Muller and S. Wilson, “Virtualization with VMware ESX server,”, Syngress Publishing, 2005.
    [7] P. Li, “Selecting and using virtualization solutions: our experiences with VMware and VirtualBox,” J. Comput. Sci. Coll., vol. 25, no. 3, pp. 11–17, 2010.
    [8] VMware. (2012). vSphere Availability.” Available: http://pubs.vmware.com/vsphere-50/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-501-availability-guide.pdf
    [9] High Availability for Citrix XenServer. Available: http://support.citrix.com/servlet/KbServlet/download/21018-102-664364/High%20Availability%20for%20Citrix%20XenServer.pdf
    [10] HA-Lizard open source High Availability Software for Citrix XenServer. Available: http://www.halizard.com/
    [11] 陳信宏,”The Fault Tolerant KVM implementation”,p38, 2014
    [12] Understanding static analyzer .Available:https://scitools.com/
    [13] CMetrics tool.Available:https://github.com/MetricsGrimoire/CMetrics
    [14] C.-D. Lu, Scalable Diskless Checkpointing for Large Parallel Systems. University of Illinois at Urbana-Champaign, 2005.
    [15] W.-C. Feng, "Making a case for efficient supercomputing," Queue, vol. 1, p. 54, 2003.

    QR CODE
    :::