Responsive image
博碩士論文 etd-0628114-104748 詳細資訊
Title page for etd-0628114-104748
論文名稱
Title
基於虛擬系統之Watchdog設計與實作
Design and Implementation of Watchdog in the Virtual System
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
60
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2014-07-18
繳交日期
Date of Submission
2014-07-28
關鍵字
Keywords
虛擬機器、入口網站、代理伺服器、實體機器、雲端系統、看門狗
ZeroMQ, Virtual machine, Cross-network, Real host, Linux Container, Cloud system, Watchdog
統計
Statistics
本論文已被瀏覽 5808 次,被下載 1177
The thesis/dissertation has been browsed 5808 times, has been downloaded 1177 times.
中文摘要
由於現在雲端系統的發展,無論是各大廠商或是個人都可以簡單的向相關單位租用他們的設備來達到他們的需求,例如熟知的各個國外大廠:亞馬遜、Google、微軟、IBM都已經在這裡有著自己的一席地位。
Docker是個強大的虛擬機器配置系統,使用者可以依照使用需求,透過簡單的指令去配置虛擬機器-Container;讓客戶想要執行的程式放在底下作為一個Turnkey,然後再讓我們能以Turnkey為單位統一管理這些虛擬裝置。
如果這些運行的系統發生故障,想必會造成很大的問題,因此也需要能夠監視這套Docker系統(包含Manager、Ingress、Proxy、Real host、Containers)的Watchdog,以便於在發生狀況時能及時搶救,免於更大的損失。在這套Watchdog中,我們以ZeroMQ作為連線的工具,和一般UNIX Domain Socket相比ZeroMQ已經模擬了現實生活中許多的連線狀況,並且能處理大部分的問題。
為了方便使用者能在設計服務時使用,本論文會將此Watchdog做成API的形式來呈現。
Abstract
As cloud system development recently, everyone can meet their requirement by renting device resources from companies which provide the services, such as Amazon, Google, Microsoft, IBM, and so on.

Docker is a powerful virtual machine management system for developers and sysadmins to build and run services on containers – as known as a turnkey.

It will become a big trouble when these system fail on running some important services, so we will need a watchdog that can supervise our Docker system, including manager, ingress, proxy, real host and containers, to help us recovering system from a huge loss of data or running processes.

My watchdog uses ZeroMQ tools to cross each different networks. ZeroMQ has already handle a lots of network issues for developers when designing network applications.

In this thesis, I will try to make a watchdog that can be used in cross-network environments and implement it as an API for convenience when others want to use in their service application design for reliability issue.
目次 Table of Contents
目錄
論文審定書 i
誌謝 ii
摘要 iii
Abstract iv
圖次 v
表次 vi
第一章 序論 1
1.1 研究動機與目的 1
1.2 相關研究 2
1.2.1 Linux Watchdog 2
1.2.2 Linux Supervisor 4
第二章 相關背景知識介紹 6
2.1 Docker虛擬系統架構介紹 6
2.2 ZeroMQ 7
2.2.1 協定 7
2.2.2 Pattern 9
2.2.3 訊息傳遞 9
2.2.4 Zthread線程使用 11
第三章 系統架構與功能簡介 13
3.1 系統開發平台 13
3.2 Watchdog 架構 13
3.3 Watchdog監控方式 16
3.3.1 監控說明 18
3.4 ZeroMQ相關技術 21
3.4.1 可靠性 21
3.4.2 Heartbeat 23
第四章 系統實作 26
4.1 Watchdog 26
4.2 Frontend 26
4.3 Backend 27
4.4 Watchdog種類連接實作 29
4.5 PING-PONG機制 29
4.6 監控不定性Daemon之功能 30
4.6.1 函式介紹 32
4.6.2 Ping的執行流程 34
4.6.3 Reboot的執行流程 35
4.7 實測結果 35
4.8 功能比較 36
第五章 結論 38
5.1 目標 & 問題 38
5.2 未來展望 39
參考文獻 40
附錄 41
參考文獻 References
[1] dotCloud, “Docker - Build, Ship and Run Any App, Anywhere”, https://www.docker.com/
[2] Robertson, Alan. "The evolution of the Linux-HA project." UKUUG LISA/Winter Conference High-Availability and Reliability. 2004.
[3] Pieter Hintjens, “ZeroMQ Messaging for Many Applications”, 2013�3
[4] Addison-Wesley, “Advanced Programming in the UNIX Environment”, 1992.
[5] Soltesz, Stephen, et al. "Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors." ACM SIGOPS Operating Systems Review. Vol. 41. No. 3. ACM, 2007.
[6] Abaffy, J., & Krajcovic, T. (2010, September). Software support for multiple hardware watchdog timers in the Linux OS. In Applied Electronics (AE), 2010 International Conference on applied electronics, pp. 1-3
[7] Supervisor: A Process Control System, “Supervisor Documentation”, http://supervisord.org/index.html
[8] Christian's Blog, “Using the Watchdog Timer in Linux”, http://www.jann.cc/2013/02/02/linux_watchdog.html, February 02, 2013
[9] kunilkuda, “How to Use Linux Watchdog”, http://embeddedfreak.wordpress.com/2010/08/23/howto-use-linux-watchdog/, August 23, 2010
[10] “How To Install and Manage Supervisor on Ubuntu and Debian VPS”, https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps
[11] RADULOVIC, Alex. Private IP communication network architecture. U.S. Patent No 7,215,663, 2007.
[12] NORDMAN, Mikael. Secure access method, and associated apparatus, for accessing a private IP network. U.S. Patent No 6,061,346, 2000.
[13] Addison-Wesley, “Advanced Programming in the UNIX Environment Second edition”, pp. 545-584, 1992
[14] Free Software Foundation, “The GNU Lesser General Public License, version 3.0”, http://opensource.org/licenses/LGPL-3.0
[15] iMatix Corporation, “CZMQ - High-level C Binding for ZeroMQ”, http://czmq.zeromq.org/
[16] RIEHLE, Dirk. Composite design patterns. In: ACM SIGPLAN Notices. ACM, 1997. pp. 218-228.
[17] GAMMA, Erich, et al. Design patterns: elements of reusable object-oriented software. Pearson Education, 1994.
[18] Pieter Hintjens, published by iMatix, “0MQ Code Connected Volume 1” http://hintjens.wdfiles.com/local--files/main:files/cc1pe.pdf, pp. 135-137
[19] Pieter Hintjens, published by iMatix, “0MQ Code Connected Volume 1” http://hintjens.wdfiles.com/local--files/main:files/cc1pe.pdf, pp. 152-153
[20] LÓPEZ-PÉREZ, David; GUVENC, Ismail; CHU, Xiaoli. Theoretical analysis of handover failure and ping-pong rates for heterogeneous networks. (ICC), 2012 IEEE International Conference on Communications. IEEE, 2012. pp. 6774-6779.
[21] DOLEV, Danny; EVEN, Shimon; KARP, Richard M., “On the security of ping-pong protocols.” Information and Control, 1982, 55.1: pp. 57-68.
[22] SUN, Mingqiu; TONN, Jeffrey. Network health monitoring through real-time analysis of heartbeat patterns from distributed agents. 2001. Pub. No.: US 2003/0061340 A1
[23] MCINTYRE, Michael S., et al. “Network controller system that uses multicast heartbeat packets.” U.S. Patent No 6,272,113, 2001.
[24] DARWIN, Sam; FALCO, Vincent; NICPONSKI, Dave. Peer-to-peer network heartbeat server and associated methods. U.S. Patent Application 10/881,570, 2004.
[25] LE, Hung; TENE, Gil. Server fail-over system. U.S. Patent No 6,145,089, 2000.
[26] GADIR, Omar MA, et al. High-availability cluster virtual server system. U.S. Patent No 6,944,785, 2005.
[27] GRAY, Jim; SIEWIOREK, Daniel P. High-availability computer systems. Computer, 1991, 24.9: pp. 39-48.
[28] Hoi Chan and Trieu Chieu. 2012. An approach to high availability for cloud servers with snapshot mechanism. In Proceedings of the Industrial Track of the 13th ACM/IFIP/USENIX International Middleware Conference (MIDDLEWARE '12). ACM, New York, NY, USA, Article 6, 6 pages.
[29] Yihan Wu and Gang Huang. 2013. Model-based high availability configuration framework for cloud. In Proceedings of the 2013 Middleware Doctoral Symposium (MDS '13). ACM, New York, NY, USA, Article 6, 6 pages.
[30] Kanwardeep Singh Ahluwalia and Atul Jain. 2006. High availability design patterns. In Proceedings of the 2006 conference on Pattern languages of programs (PLoP '06). ACM, New York, NY, USA, Article 19, 9 pages.
[31] Balazs Gerofi and Yutaka Ishikawa. 2012. Enhancing TCP throughput of highly available virtual machines via speculative communication. In Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments (VEE '12). ACM, New York, NY, USA, pp. 87-96.
[32] Michael Pearce, Sherali Zeadally, and Ray Hunt. 2013. Virtualization: Issues, security threats, and solutions. ACM Comput. Surv. 45, 2, Article 17 (March 2013), 39 pages.
[33] Daniel J. Scales, Mike Nelson, and Ganesh Venkitachalam. 2010. The design of a practical system for fault-tolerant virtual machines. SIGOPS Oper. Syst. Rev. 44, 4 (December 2010), pp. 30-39.
[34] Oreste Villa, Sriram Krishnamoorthy, Jarek Nieplocha, and David M. Brown, Jr.. 2009. Scalable transparent checkpoint-restart of global address space applications on virtual machines over infiniband. In Proceedings of the 6th ACM conference on Computing frontiers (CF '09). ACM, New York, NY, USA, pp. 197-206.
[35] Joshua B. Leners, Hao Wu, Wei-Lun Hung, Marcos K. Aguilera, and Michael Walfish. 2011. Detecting failures in distributed systems with the Falcon spy network. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles (SOSP '11). ACM, New York, NY, USA, pp. 279-294
[36] Mark L. McKelvin, Jr., Gabriel Eirea, Claudio Pinello, Sri Kanajan, and Alberto L. Sangiovanni-Vincentelli. 2005. A formal approach to fault tree synthesis for the analysis of distributed fault tolerant systems. In Proceedings of the 5th ACM international conference on Embedded software (EMSOFT '05). ACM, New York, NY, USA, pp. 237-246.
[37] Neil B. Harrison, Paris Avgeriou, and Uwe Zdun. 2010. On the impact of fault tolerance tactics on architecture patterns. In Proceedings of the 2nd International Workshop on Software Engineering for Resilient Systems (SERENE '10). ACM, New York, NY, USA, pp. 12-21.
[38] Yuriy Brun and Nenad Medvidovic. 2007. Fault and adversary tolerance as an emergent property of distributed systems' software architectures. In Proceedings of the 2007 workshop on Engineering fault tolerant systems (EFTS '07). ACM, New York, NY, USA, , Article 7 .
[39] Alexander B. Romanovsky. 1992. Synchronization as a framework for distributed system fault-tolerance design. In Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring (EW 5). ACM, New York, NY, USA, 1-5.
[40] Ozgur Koray Sahingoz and A. Coskun Sonmez. 2006. Fault tolerance mechanism of agent-based distributed event system. In Proceedings of the 6th international conference on Computational Science - Volume Part III (ICCS'06), Vassil N. Alexandrov, Geert Dick Albada, Peter A. Sloot, and Jack Dongarra (Eds.), Vol. Part III. Springer-Verlag, Berlin, Heidelberg,
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外完全公開 unrestricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code