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

支援瞭解需求內容分配及負載平衡的虛擬機器伺服器叢集之設計與實作

Design and Implementation of a VM-based Server Cluster with Content-Aware Request Distribution and Load Balancing

指導教授 : 姜美玲

摘要


網際網路使用人口爆炸性的成長,使得伺服器的技術面臨諸多挑戰。伺服器叢集(Server Cluster)利用多台實體伺服器來共同分擔系統的負載,可以有效地解決使用人數暴增與單台實體伺服器承載限制的問題。近年來因多核心處理器技術的成熟與強大,在硬體成本與維護便捷等考量下,企業利用虛擬化技術將伺服器建立在虛擬機器上,伺服器叢集轉型成虛擬伺服器叢集(VM Cluster),虛擬機器管理、虛擬機器分配、負載平衡(Load Balancing)等議題成為研究的重點。 本論文設計與實作以Linux Virtual Server with Content-Aware Distribution (LVS-CAD)為基礎的VM Cluster,在我們實作的VM-based LVS-CAD Cluster架構中,是將一台實體伺服器建置成負載平衡器(即Front-end Server),而其餘的實體伺服器上皆建立多台虛擬機器作為實際負責提供服務的Back-end Servers。當負載平衡器收到含有URL的Request時,可以分析URL來挑選合適的Server來處理該Request。由於虛擬機器與實體機器實際上是不同的,且相同的實體機器上的各個虛擬機器實際上是共享系統資源的,因此針對虛擬機器與實體機器的不同,我們提出三種Content-Aware的Request Distribution負載排程法,依URL和伺服器負載來挑選最合適的Server來處理該Request。 實驗結果證明對VM Cluster而言,負載排程若有考量虛擬機器與實體伺服器的不同,將能夠達到更佳的負載平衡,並且Content-Aware Dispatching的負載排程法,比起Content-blind的負載排程法而言,因為可以依據Request內容來挑選合適的Server來處理,可以提升伺服器讀取網頁的快取命中率,降低讀取網頁所需的Disk I/O,因此有較佳的效能。

並列摘要


With the explosive growth of the Internet population, the server technology is confronted with a lot of design challenges. Server cluster that uses multiple physical servers to share the system load can effectively solve the service limitation from a single server. Recently, the technology of multi-core processor becomes mature and powerful. Uder the consideration of both the cost of hardware equipment and the convience of maintenance, enterprises utilize virtualization technology to deploy their servers on the virtual machines. Thus, server cluster transforms into virtual machine cluster (VM Cluster). Many studies have been proposed for virtual machine management, virtual machine allocation, and load balancing. In this study, we have designed and implemented a virtual machine cluster which is based on the Linux Virtual Server with Content-Aware Dispatching (LVS-CAD). In the architecture of our VM-based LVS-CAD cluster, the front-end server that is served as the load balancer for request dispatching is built inside the host operation system on a physical server. All the back-end servers that actually provide services are built in virtual machines on other physical servers. When receiving client request containing URL, the load balancer can analyze the URL and then choose the most suitable back-end servers to handle the request. In fact, virtual machines and physical machines are different and the VM servers in the same physical server share system resource. To take into account the difference between virtual machines and physical machines, we have designed and implemented three kinds of content-aware request scheduling algorithms that dispatch requests to the most suitable back-end servers according to the URLs in the requests and server loads. The experimental results demonstrate that VM clusters can obtain the better load balancing if their request scheduling algorithms consider the difference between physical servers and VM servers. Furthermore, utilizing content-aware dispatching algorithms can have higher performance than content-blind dispatching algorithms because those can select the most suitable back-end servers by analyzing requests with URL. The performance is improved due to the increase of cache hit rate and the decrease of disk I/O for servers to read Web pages.

參考文獻


[1] W. Zhang, “Linux virtual server for scalable network services”, Ottawa Linux Symposium, 2000.
[2] Joseph Mack, “LVS-HOWTO”, http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/, accessed on Nov. 24, 2016.
[3] W. Zhou, S. Yang, J. Fang, X. Niu, and H. Song, “VMCTune: A Load Balancing Scheme for Virtual Machine Cluster Based on Dynamic Resource Allocation”, International Conference on Ninth of Grid and Cloud Computing, 2010.
[4] H. H. Liu, M. L. Chiang, and M. C. Wu, “Efficient support for content-aware request distribution and persistent connection in Web clusters”, Software Practice & Experience, vol. 37, pp. 1215-1241, 2007.
[5] H. H. Liu and M. L. Chiang, “TCP rebuilding for content-aware request dispatching in web clusters”, Journal of Internet Technology, vol. 6, pp. 231-240, 2005.

延伸閱讀