| 研究生: |
吳政修 Zheng-Xiu Wu |
|---|---|
| 論文名稱: |
基於QEMU-KVM虛擬機器的記憶體層級同步之容錯技術 A Fault-Tolerant QEMU-KVM System based on Continuous Checkpointing |
| 指導教授: |
王尉任
Wei-Jen Wang |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2019 |
| 畢業學年度: | 107 |
| 語文別: | 中文 |
| 論文頁數: | 49 |
| 中文關鍵詞: | QEMU-KVM 、虛擬機器 、容錯系統 、持續同步 |
| 外文關鍵詞: | QEMU-KVM, Virtual Machine, Fault-Tolerance, Continuous Checkpointing |
| 相關次數: | 點閱:16 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來雲端計算蓬勃發展,IaaS類型的雲端應用需要更多機器來提供服務,所以能將一部實體機器當多部虛擬機器的虛擬化技術成為相當熱門的議題。虛擬化技術能提升實體機器的使用率,但也提升機器故障所造成的損失,高可用性成為相當有效的解決方案,高可用性在故障發生時仍然會有一段停機時間及遺失部分資訊,所以容錯成為更有效的解決方案。容錯系統依照不同特性及運作方式區分為數種架構,持續同步是藉由不中斷的在主要機器與備援機器間同步虛擬機器狀態達成容錯系統中狀態一致的基本要求,也是本研究所採用的架構。本研究基於QEMU-3.0.0設計及實作基於持續同步的容錯系統,除了引入其他虛擬機研究的相關技術來改進本研究,本研究還藉由追蹤及分析虛擬機實作的程式碼來設法改進容錯系統。
Infrastructure as a Service (IaaS) on the cloud requires more machines to provide services. Therefore the virtualization technology that can use a physical machine as multiple independent virtual machines has become a hot topic. Virtualization technology can increase the utilization rate of physical machines, but it also increases the losses caused by machine failures. Fault Tolerance (FT) becomes a very effective solution for this problem. A fault-tolerant VM system can use several architectures and technology for implementation. Continuous checkpointing is one popular way for achieving the state of the fault-tolerant system by uninterrupted synchronization of the virtual machine states between the main machine and the backup machine, and is also the architecture adopted in this study. This study is based on “QEMU-3.0.0”. We present several implementation techniques and demonstrate its efficiency and overhead in the paper.
[1] I. Foster, Y. Zhao, I. Raicu, and S. Lu, "Cloud computing and grid computing 360-degree compared," presented at the Grid Computing Environments Workshop, 2008.
[2] A. Fox et al., "Above the clouds: A berkeley view of cloud computing," Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS, vol. 28, no. 13, p. 2009, 2009.
[3] A. D. JoSEP, R. KAtz, A. KonWinSKi, L. Gunho, D. PAttERSon, and A. RABKin, "A view of cloud computing," Communications of the ACM, vol. 53, no. 4, 2010.
[4] R. P. Goldberg, "Survey of virtual machine research," Computer, vol. 7, no. 6, pp. 34-45, 1974.
[5] S. N. T.-c. Chiueh and S. Brook, "A survey on virtualization technologies," Rpe Report, vol. 142, 2005.
[6] J. Gray and D. P. Siewiorek, "High-availability computer systems," Computer, vol. 24, no. 9, pp. 39-48, 1991.
[7] D. J. Scales, M. Nelson, and G. Venkitachalam, "The design and evaluation of a practical system for fault-tolerant virtual machines," Technical Report VMWare-RT-2010–001, VMWare, 2010.
[8] G. F. Pfister, "An introduction to the infiniband architecture," High Performance Mass Storage and Parallel I/O, vol. 42, pp. 617-632, 2001.
[9] A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori, "KVM: the Linux Virtual Machine Monitor," in In Proceedings of the 2007 Ottawa Linux Symposium, 2007.
[10] R. Uhlig et al., "Intel virtualization technology," Computer, vol. 38, no. 5, pp. 48-56, 2005.
[11] S. Kalady, P. Dileep, K. Sikdar, B. Sreejith, V. Surya, and P. Ezudheen, "Implementation of a Purely Hardware-assisted VMM for x86 Architecture," in Proceedings of the World Congress on Engineering, 2009, vol. 1, pp. 1-5.
[12] F. Bellard, "QEMU, a fast and portable dynamic translator," in USENIX Annual Technical Conference, FREENIX Track, 2005, vol. 41, p. 46.
[13] T. C. Bressoud and F. B. Schneider, "Hypervisor-based fault tolerance," ACM Transactions on Computer Systems (TOCS), vol. 14, no. 1, pp. 80-107, 1996.
[14] B. Cully, G. Lefebvre, D. Meyer, M. Feeley, N. Hutchinson, and A. Warfield, "Remus: High availability via asynchronous virtual machine replication," in Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation, 2008: San Francisco, pp. 161-174.
[15] "Micro-Checkpointing." http://wiki.qemu.org/Features/MicroCheckpointing (accessed June 24, 2019).
[16] P.-J. Tsao, Y.-F. Sun, L.-H. Chen, and C.-Y. Cho, "Efficient virtualization-based fault tolerance," in 2016 International Computer Symposium (ICS), 2016: IEEE, pp. 114-119.
[17] Y. Tamura, K. Sato, S. Kihara, and S. Moriai, "Kemari: Virtual machine synchronization for fault tolerance," in Proc. USENIX Annu. Tech. Conf.(Poster Session), 2008: Citeseer.
[18] Y. Dong et al., "COLO: COarse-grained LOck-stepping virtual machines for non-stop service," in Proceedings of the 4th annual Symposium on Cloud Computing, 2013: ACM, p. 3.
[19] C. Wang et al., "PLOVER: Fast, Multi-core Scalable Virtual Machine Fault-tolerance," in 15th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 18), 2018, pp. 483-489.
[20] C. Clark et al., "Live migration of virtual machines," in Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2, 2005: USENIX Association, pp. 273-286.
[21] J. Liu, J. Wu, and D. K. Panda, "High performance RDMA-based MPI implementation over InfiniBand," International Journal of Parallel Programming, vol. 32, no. 3, pp. 167-198, 2004.
[22] "DVD Store Benchmark." http://linux.dell.com/dvdstore/ (accessed June 24, 2019).
[23] "DVD Store Benchmark 3." http://github.com/dvdstore/ds3 (accessed June 24, 2019).