透過您的圖書館登入
IP:18.220.136.165
  • 學位論文

基於KVM的網路服務高可靠性容錯同步架構

A Fault-Tolerant KVM Architecture for Network Services of High Availability

指導教授 : 王尉任
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


軟體系統的高可用性(High Availability)的意義是讓使用者能夠隨時存取到系統所提供的服務,不會因為系統發生問題而中斷使用,而這種特性可以利用各式各樣的錯誤偵測與回復技術來達成,例如自動容錯(Automatic Fault Tolerance)的技術。而隨著雲端運算技術的發展,虛擬機器(Virtual Machine)在實務上的應用變得更普及,因此需要在虛擬化層級(Virtualization Layer)提供各式各樣的高可用性的工具與技術。自動容錯技術與虛擬化技術的結合可以帶來許多好處。舉例來說,應用程式可以不須經過重新修改程式的過程,只要直接在容錯虛擬機上執行,就能獲得高可用性。本研究對於虛擬化平台KVM(Kernel-based Virtual Machine)的自動容錯機制作了研究後,發現目前基於KVM上的開源自動容錯機制無法讓網路服務順暢的運作,原因是這些自動容錯機制會產生繁重的通訊量而嚴重干擾到網路服務的運作。為了解決這個問題,本研究在KVM的虛擬化平台上設計並實作了一套針對網路服務的容錯架構。根據本研究的實驗顯示,我們提出的架構,比起其它現有的開源(Open-Source)的容錯架構,在網路服務品質的部分獲得相當大幅度的改善。

並列摘要


In today’s cloud computing environment, virtual machines (VMs) are widely used to host many types of network services/applications that demand high availability, the ability to provide services to users under any circumstances. In the literature, many failure detection and recovery technologies are able to support high-availability features for cloud applications. However, the application developers may need to modify their application source code to adopt these technologies. One way to avoid re-engineering is to provide high-availability features in the VM layer, and then to execute the applications on the VMs. The Kemari KVM and the Micro-Checkpointing KVM are two famous open-source projects that support high-availability features in the VM layer. Both of them employ a similar strategy that the execution state of an active VM (a.k.a. the primary VM) is continuously updated in a remote VM (a.k.a. the secondary VM). The secondary VM will be activated as soon as a failure is detected in the primary VM. Based on our observation, the primary-secondary synchronization strategy consumes a high amount of network bandwidth, and thus it decreases the quality of the network services on the VMs. To solve this problem, we propose a new primary-secondary synchronization mechanism, which is implemented on KVM. The experimental results show that, our approach outperforms the Kemari KVM and the Micro-Checkpointing KVM in network bandwidth consumption and response time while executing the same network services.

參考文獻


[2] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud Computing and Grid Computing 360-Degree Compared,” in Grid Computing Environments Workshop, pp. 1–10, 2008.
[5] I. P. Egwutuoha, D. Levy, B. Selic, and S. Chen, “A Survey of Fault Tolerance Mechanisms and Checkpoint/Restart Implementations for High Performance Computing Systems,” J Supercomput, vol. 65, no. 3, pp. 1302–1326, 2013.
[6] J. Gray and D. P. Siewiorek, “High-availability computer systems,” Computer, vol. 24, no. 9, pp. 39–48, Sep. 1991.
[8] R. P. Goldberg, “Survey of Virtual Machine Research,” Computer, vol. 7, no. 9, pp. 34–45, 1974.
[9] G. J. Popek and R. P. Goldberg, “Formal Requirements for Virtualizable Third Generation Architectures,” Commun ACM, vol. 17, no. 7, pp. 412–421, 1974.

延伸閱讀