跳到主要內容

簡易檢索 / 詳目顯示

研究生: 戴偉倫
Wei-Lun Dai
論文名稱: NCU MFTVM 4: 運用事件驅動架構以及最 佳化虛擬硬碟同步實作虛擬機器容錯
NCU MFTVM 4: Fault Tolerant VM with Event-Driven Architecture and virtual hard disk write replication
指導教授: 王尉任
Wei-Jen Wang
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2022
畢業學年度: 110
語文別: 中文
論文頁數: 45
中文關鍵詞: QEMU-KVM虛擬機器容錯系統持續同步硬碟同步
外文關鍵詞: QEMU-KVM, Virtual Machine, Fault Tolerance, Continuous Checkpoint- ing, Block Replication
相關次數: 點閱:25下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年雲端服務的應用逐漸普及到企業內部,越來越多的企業開始將公司內部的服務轉移到
    私有雲或是公有雲上面,而混和使用公有雲及私有雲是常見的雲端基礎建設需求,通常在私有
    雲上面的服務,大多是重要且不能中斷的服務,只要發生重大故障導致服務不能運行,企業都
    會蒙受重大的損失,故雲端平台的可用性 (Availability) 將會變得非常重要,不論是針對系統
    設備的意外狀況處理,或是維護時的服務轉移,可用性相關的技術都能夠提供許多的幫助,讓
    企業在面對大型基礎建設的災害時不會顯得措手不及。

    本研究主要基於國立中央大學平行與分散計算實驗室所開發的 NCU MFTVM 容錯系統進
    行後續的開發,該容錯系統亦屬於面相雲端服務高可用性的一種技術,而本研究則針對原先的
    功能進行優化與改善,針對虛擬硬碟同步技術的代價進行優化,以及改善長久開發所累積的技
    術債,針對系統架構進行部分改良,藉此降低後續開發人員進行開發的負擔。


    In recent years, more and more enterprises migrate their services to Cloud platform. And
    a hybrid Cloud platform is a popular option for enterprises to build their own infrastructure.
    Basically, their will deploy their core services on private cloud but not public cloud. When
    any services on a cloud are unavailable, the enterprise may lose a bundle before all services are
    recovery. Therefore, the availability of cloud platform become more important when services
    is used on business.

    This research is based on the NCU MFTVM fault-tolerant system developed by the Paral-
    lel and Distributed Computing Laboratory of National Central University. We develop a new
    method to synchronize block with a lightweight mechanism which can reduce the time we need
    to create a new checkpoint. And we also reengineer a part of our fault-tolerant system to improve
    the readability and the maintainability.

    摘要 .................. i Abstract .................. ii 圖目錄 .................. iv 表目錄 .................. v 一、 緒論 .................. 1 1.1 研究背景 .................. 1 1.2 研究動機 .................. 1 1.3 研究貢獻 .................. 2 1.4 論文架構 .................. 2 二、 利用事件導向架構進行系統設計 .. 3 2.1 問題定義 .................. 3 2.2 相關研究 .................. 3 2.2.1 控制反轉 (Inversion of Control) 3 2.2.2 依賴注入 (Dependency Injection) 4 2.2.3 事件導向 (Event Driven) .. 4 2.3 背景知識 .................. 5 2.3.1 QEMU overall Architecture 5 2.3.2 NCU MFTVM ............. 6 2.4 系統架構 .................. 8 2.4.1 事件導向架構流程 .......... 8 2.5 系統可維護性驗證............. 10 2.5.1 案例一:介面的使用 ......... 11 2.5.2 案例二:事件迴圈 ........... 12 三、利用複寫進行虛擬硬碟備援方法 .... 15 3.1 問題定義 ................... 15 3.2 相關研究 ................... 15 3.2.1 COarse-grained LOck-stepping (COLO) 15 3.2.2 VMware vSphere .......... 16 3.3 背景知識 ................... 17 3.3.1 QEMU block 原生功能 ...... 17 3.3.2 QEMU Block layer ........ 18 3.3.3 NCU MFTVM block synchronization 19 3.4 系統架構 ................... 21 3.4.1 系統架構設計 .............. 21 3.4.2 關於軟體工程 .............. 23 3.5 系統效能評估 ................ 23 3.5.1 實驗環境設定 .............. 23 3.5.2 實驗結果 ................. 24 四、結論與未來方向 ............... 29 4.1 結論 ....................... 29 4.2 未來方向 .................... 29 參考文獻 ........................ 31

    J. Gray and D.P. Siewiorek. High-availability computer systems. Computer, 24(9):39–48,
    1991.

    Matthias Noback. The Dependency Inversion Principle, pages 67–104. Apress, Berkeley,
    CA, 2018.

    Ekaterina Razina and David S Janzen. Effects of dependency injection on maintainability.
    In Proceedings of the 11th IASTED International Conference on Software Engineering and
    Applications: Cambridge, MA, page 7, 2007.

    Benjamin Erb. Concurrent programming for scalable web architectures. 2012.

    Stefan Hajnoczi. Qemu internals: Overall architecture and threading model.
    http://blog.vmsplice.net/2011/03/qemu-internals-overall-architecture-
    and.html, March 2011.

    Zheng-Xiu Wu. A fault-tolerant qemu-kvm system based on continuous checkpointing.
    Master’s thesis, National Central University, 2019.

    Inc Red Hat. Improving the qemu event loop.
    http://events17.linuxfoundation.org/sites/events/files/slides/
    Improving%20the%20QEMU%20Event%20Loop%20-%203.pdf, 2015.

    David R Hanson. C interfaces and implementations: techniques for creating reusable
    software. Addison-Wesley Longman Publishing Co., Inc., 1996.

    Inc Red Hat. Effective multi-threading in qemu.
    https://www.linux-kvm.org/images/1/17/Kvm-forum-2013-Effective-
    multithreading-in-QEMU.pdf, 2013.

    YaoZu Dong, Wei Ye, YunHong Jiang, Ian Pratt, ShiQing Ma, Jian Li, and HaiBing Guan.
    Colo: Coarse-grained lock-stepping virtual machines for non-stop service. In Proceedings
    of the 4th annual Symposium on Cloud Computing, pages 1–16, 2013.

    Inc VMware. Vmware vsphere 6 fault tolerance.
    https://www.vmware.com/files/pdf/techpaper/VMware-vSphere6-FT-arch-
    perf.pdf, 2016.

    Inc VMware. Vmware vsphere 7 ha 工作方式.
    https://docs.vmware.com/tw/VMware-vSphere/7.0/
    com.vmware.vsphere.avail.doc/GUID-33A65FF7-DA22-4DC5-8B18-
    5A7F97CCA536.html, 2020.

    Inc VMware. Vmware vsphere replication 的運作方式.
    https://docs.vmware.com/tw/vSphere-Replication/8.5/
    com.vmware.vsphere.replication-admin.doc/GUID-C521A814-91E1-4092-BD29-
    7E2BA256E67E.html, 2021.

    Inc Red Hat. Live block operations: Snapshots, merging, and mirroring.
    https://www.linux-kvm.org/images/5/5f/2012-forum-Snapshots-Cody.pdf,
    2012.

    Features/block replication.
    https://wiki.qemu.org/Features/BlockReplication, 2016.
    [16] Inc Red Hat. Managing the new block layer.
    http://events17.linuxfoundation.org/sites/events/files/slides/
    talk_11.pdf, 2017.

    Inc Red Hat. A practical look at qemu’s block layer primitives.
    https://kashyapc.fedorapeople.org/virt/LinuxCon-NA-2016/A-Practical-
    Look-at-QEMU-Block-Layer-Primitives-LC-NA-2016.pdf, 2016.

    Ching Chi. A fault-tolerant qemu-kvm system with block replication based on qemu block
    migration. Master’s thesis, National Central University, 2021.

    Jens Axboe et al. Flexible i/o tester.
    https://github.com/axboe/fio, 2016.

    Tarn Duong. An introduction to kernel density estimation.
    https://www.mvstat.net/tduong/research/seminars/seminar-2001-05/, 2001.

    QR CODE
    :::