Nghiên cứu đánh giá và phát triển các mô hình Cluster Server

98 908 3
Nghiên cứu đánh giá và phát triển các mô hình Cluster Server

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu đánh giá và phát triển các mô hình Cluster Server

Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Trường Đại Học Khoa Học Tự Nhiên Tp HCM Khoa Công nghệ Thông tin Bộ môn Mạng máy tính & Viễn thông Báo cáo Đề tài : Giáo viên hng dn Phm Nguyn Anh Huy Sinh viên thc hin Nguyn Trng An MSSV: 9912501 Phm Thanh Phong MSSV: 9912645 Tp HCM Tháng 07/2003 Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server x  y Với nhiều sự giúp đỡ vô cùng quý báu của Quý Thầy, Cô khoa Công Nghệ Thông Tin, sự chỉ bảo nhiệt tình của các Anh, chò khóa trước cùng với sự hỗ trợ từ bạn bè, chúng em đã hoàn thành Luận Văn Tốt Nghiệp này. Để bày tỏ lòng biết ơn to lớn ấy, chúng em xin chân thành cảm ơn: • Quý Thầy, Cô khoa Công Nghệ Thông Tin đã tận tình dìu dắt, chỉ dạy cho em những kiến thức quan trọng để chúng em hoàn thành Luận Văn này. • Đặc biệt, chúng em xin kính gửi đến Giáo viên Hướng dẫn - Thầy Phạm Nguyễn Anh Huy - Người đã tận tâm chỉ dẫn, truyền đạt kiến thức cho chúng em trong suốt thời gian làm Luận Văn Tốt Nghiệp lòng biết ơn sâu sắc nhất. • Xin chân thành cảm ơn các Anh chò khóa trước, các bạn học cùng khóa đã nhiệt tình góp ý giúp đỡ chúng em hoàn chỉnh luận văn này. Cuối cùng, chúng em xin kính chúc sức khỏe Quý Thầy, Cô, các anh chò các bạn. Xin chân thành cảm ơn ! Trân trọng kính chào. Nhóm thực hiện đề tài Nguyễn Trường An & Phạm Thanh Phong Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server MỤC LỤC 1. Đặt vấn đề ( bài toán) .1 2. Giới thiệu 1 2.1 Single Server Solution 1 2.2 Cluster Server Solution 2 3. Các giải pháp chia tải Server .3 3.1 DNS Load balancing (DNS Round Robin) . 4 3.1.1 Giới thiệu 4 3.1.2 Cấu hình . 6 3.1.3 Đánh giá ưu khuyết điểm 8 3.2 Hardware-based Load balancing 9 3.2.1 Giới thiệu 9 3.2.2 hình hoạt động 10 3.2.3 Cisco LocalDirector 4000 series 11 3.2.4 Đặc điểm của thiết bò . 11 3.2.5 Cấu hình thiết bò . 13 3.2.6 Bảng giá tham khảo 13 3.3 Software-based Load balancing . 14 3.3.1 Application level load balancing với Apache/mod_jk/Tomcat 14 A. Giới thiệu 14 B. Cài đặt . 15 3.3.2 Kỹ thuật IP load balancing với LVS (Linux Virtual Server) . 19 A.Giới thiệu . 19 B. Kiến trúc hệ thống . 20 C. Kỹ thuật IP load balancing 25 D. Các thuật toán load balancing trong LVS 31 E. Các công cụ dùng để quản trò LVS 34 F. Cài đặt cấu hình LVS cluster 35 G. Đánh giá ưu khuyết điểm 42 H. Kết luận . 43 3.4 Oracle 9iAS clustering . 43 3.4.1 Kiến trúc n-tier clustering 43 A. Single tier-clustering ( basic clustering) 44 B. Two tier-clustering 45 C. Multi tier-clustering . 47 3.4.2 n-tier clustering với Oracle 9iAS 48 A. Kiến trúc của một Oracle 9i cluster . 49 B. Cấu trúc cây phân cấp của Enterprise Manager trên Oracle 9iAS 57 C. Instance- specific 58 D. Software & Hardware failure trên Oracle9iAS . 59 E. Cấu hình clustering load balancing . 60 F. Cấu hình OC4J Instance trên Oracle9i AS . 63 3.5 hình cải tiến ( phát triển) . 64 3.5.1 Apache/mod_jk/Tomcat với session replication 64 Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server A. Giới thiệu session replication 64 B. Cơ chế hoạt động . 65 C. Nâng cấp hình Apache/mod_jk/Tomcat với Session Replication 66 D. Nhận xét ưu khuyết điểm 68 3.5.2 Content-based load balancing kết hợp LVS với Reverse proxy . 68 A. Tại sao phải chia tải theo nội dung yêu cầu ( content-based)? . 68 B. Hướng giải quyết - cluster of cluster . 68 C. Cài đặt cluster of cluster 71 3.5.3 Giải quyết single point of failure 74 4. Cluster testing Results .75 4.1 Testing plan 75 4.2 Results 78 5. Hướng phát triển .80 6. Kết luận 80 7. Tài liệu Tham khảo 82 8. Phụ lục .85 8.1 Phụ lục Các internet site xử dụng Cluster server với LVS 85 8.2 Phụ lục Một số Thuật ngữ chuyên ngành sử dụng trong báo cáo 86 8.3 Phụ lục Cấu trúc CD báo cáo .88 3 DAN H MỤC HÌNH ẢNH Hình 2-1 Tổng quan về cluster server .2 Hình 3-1 DNS lookup một yêu cầu .5 Hình 3-2 DNS load balancing 5 Hình 3-3 Cấu hình DNS Load balancing 6 Hình 3-4 Server bò lỗi trong DNS Round Robin .8 Hình 3-5 sơ đồ phân tải luồng TCP/IP sử dụng LocalDirector(không có failover ở mức load balancer) 10 Hình 3-6 sơ đồ phân tải luồng TCP/IP sử dụng LocalDirector(có failover ở mức load balancer) .11 Hình 3-7 Front view LocalDirector 430 / 416 .11 Hình 3-8 Front view LocalDirector 417 .12 Hình 3-9 Rear view (với kết nối cáp failover giữa primary backup load balancer) LocalDirector 430 / 416 .12 Hình 3-10 Kiến trúc Apache/Tomcat load balancing 14 Hình 3-11 n-tier clustering với Apache load balancer .15 Hình 3-12 Tổng quan về LVS .21 Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Hình 3 -13 Failover mức load balancer trong LVS 23 Hình 3-14 Các thành phần trong LVS 24 Hình 3-15 LVS-NAT 25 Hình 3-16 Một ví dụ LVS-NAT 26 Hình 3-17 LVS-TUN 28 Hình 3-18 Hoạt động của LVS-TUN .29 Hình 3-19 LVS-DR 30 Hình 3- 20 Hoạt động của LVS-DR .31 Hình 3-21 Basic clustering .45 Hình 3-22 Two tier clustering (webtier presentation tier chung một host) .46 Hình 3-23 Two tier clustering ( presentation tier object tier chung host) .47 Hình 3-24 Multi tier clustering .48 Hình 3-25 Kiến trúc n-tier clustering trên Oracle 9iAS .49 Hình 3-26 Kiến trúc cluster Oracle9iAS .50 Hình 3-27 kiến trúc của farm cluster trên Oracle9iAS 51 Hình 3-28 Minh họa OHS .55 Hình 3-29 Minh họa OC4J Instance 56 Hình 3-30 Minh họa Islands .57 Hình 3-31 Minh họa cấu trúc cây của Cluster .58 Hình 3-32 Minh họa Software failure .59 Hình 3-33 Minh họa hardware failure 60 Hình 3-34 Minh họa load balancing trên Application Server Instance .61 Hình 3-35 Demo tạo cluster bằng Giao diện web-based .61 Hình 3-36 Demo thêm một instance vào cluster bằng giao diện web-based .62 Hình 3-37 Demo việc quản lý cluster farm bằng giao diện web-based 62 Hình 3-38 Giao diện Web-based cấu hình web session replicate 63 Hình 3- 39 Cấu hình Apache/Tomcat với session replication .64 Hình 3- 40 Session replication over IP multicast 66 Hình 3-41 Hoạt động Reverse proxy .69 Hình 3-42 LVS Load balancer kết hợp với Reverse proxy .70 Hình 3-43 Cài đặt Reverse proxy trong cùng một mạng .71 Hình 3-44 cài đặt reverse proxy thuộc hai mạng khác nhau .72 Hình 3-45 hình giải pháp “single point of failure” .75 Hình 4-1 Sơ đồ mạng testing hình Apache/mod_jk/Tomcat .76 Hình 4-2 Sơ đồ mạng testing hình LVS .77 Hình 4-3 Kết quả testing hình Apache/mod_jk/Tomcat 78 Hình 4-4 Kết quả testing hình LVS .79 3 Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server DANH MỤC CÁC BẢNG Bảng 3-1 Cấu hình Local Director 416/430 . 13 Bảng 3-2 Cấu hình Local Director 417 13 Bảng 3-3 Bảng giátham khảo tại http://www.alliancedatacom.com/manufacturers/cisco- systems/prices/index_full.asp . 13 Bảng 3-4 Bảng giá tham khảo tại http://www.vimcom.ru/prices/newpricewww/enduser/pr_cisco19_v.htm 14 Bảng 4-1 Cấu hình Client . 76 Bảng 4-2 Cấu hình Server 76 Bảng 4-3 Cấu hình Apache load balancer 77 Bảng 4-4 Cấu hình LVS Director . 77 3 Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Trang 1 / 98 1. Đặt vấn đề ( bài toán) Ngày nay, với sự bùng nổ số lượng người sử dụng Internet đặc biệt là các ứng dụng Web, thương mại điện tử …cùng với sự phát triển của các trang web có nội dung động (dynamic content) đã làm gia tăng đáng kể khả năng xử lý của server. Đến một thời điểm nào đó server sẽ không thể đáp ứng với số lượng lớn các yêu cầu đồng thời, giải pháp được đưa ra là thay thế hoặc nâng cấp server hiện tại bằng server khác có cấu hình mạnh, khả năng xử lý cao nhưng giải pháp này không được khả thi bởi vì các lý do sau: • Với server mới được thay thế này thì trong tương lai gần lại không thể đáp ứng được số lượng các yêu cầu lớn hơn chúng ta lại phải thay thế hoặc nâng cấp server này bằng server khác có cấu hình mạnh mẽ hơn điều này sẽ còn tiếp tục cho đến khi nào ??? • Với mỗi công đoạn thay thế hay nâng cấp server thì chi phí phải trả cho thiết bò phần cứng khá cao, giải pháp này xem ra không mang lại hiệu quả kinh tế cho lắm. Từ các vấn đề trên , người ta đưa ra khái niệm “cluster server”? 2. Giới thiệu Tim Berners-Lee đã phát triển World Wide Web (WWW) năm 1990 khi ông đang làm việc tại CERN ( the European Laboratory for Particle Physics -Boutell). Kể từ đó, web đã trở thành nguồn chủ lực trong tất cả các loại thông tin. Web đã trở nên không còn hạn chế nữa khi Marc Andreessen thuộc The National Center for Supercomputing Applications cho ra đời Mosaic, một trình WWW client rất phổ biến. Trong vài năm gần đây, các ứng dụng web đã gia tăng rất đáng kể từ vài trăm pages đã lên đến hàng triệu web sites như hiện nay. Số lượng người dùng online ngày càng cao điển hình như : Yahoo, Amazon.com, Microsoft, …Một webserver thông thường sẽ không thể nào đáp ứng được hàng ngàn các requests cùng lúc được. Đối mặt với vấn đề này, các sites có lượng traffic cao thường có hai giải pháp lựa chọn : thay thế webserver cũ bằng webserver mới nhanh hơn hoặc thêm vào các server khác để làm tăng khả năng đáp ứng ( giải pháp thêm nhiều server hoạt động đồng thời này gọi là cluster server). 2.1 Single Server Solution Để giải quyết vấn đề gia tăng đáng kể các yêu cầu từ client, nhà quản trò thay thế server cũ (hardware) bằng server mới, mạnh hơn nhanh hơn để có thể đáp ứng được tốt các yêu cầu. Với hướng tiếp cận này, có thể giải quyết được vấn đề khi mà nội dung cung cấp hầu hết là những trang web tónh ( HTML, ). Mặc dù server hiện tại có thể mạnh nhưng cũng không thể nào đáp ứng được lượng lớn yêu cầu web động (dynamic content) trên internet. Hơn nữa, giải pháp single server này lại mang nhiều khuyết điểm: X Giá thành cao ( do đầu tư hardware mạnh) X Không có khả năng mở rộng hệ thống ( scalability) X Không có tính chòu lỗi cao ( fault tolerance) Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Trang 2 / 98 2.2 Cluster Server Solution Khái niệm “cluster” thật sự là một đònh nghóa không được chuẩn xác lắm đôi khi nó làm cho người ta hiểu theo nhiều nghóa khác nhau. Trước kia, khi học nhập môn hệ điều hành khái niệm “cluster” là nhóm các disk sectors, một đơn vò trong đóa cứng. Còn hầu hết những người dùng Windows chắc cũng quen thuộc với thông báo lỗi “lost clusters- something that can be rectified by running the defrag utility”. Một số người dùng Unix cao cấp có lẽ sẽ gắn liền khái niệm “cluster” với cluster computing, một giải pháp máy tính bó xử lý song song nhằm giải quyết một bài toán lớn (nổi bật là đề án Beowulf- super computer xử lý hàng tỉ chỉ thò giây). Nhưng bây giờ, khi nghiên cứu cluster server solution, chúng ta sẽ hiểu “cluster” theo một nghóa khác. “Cluster Server” là một nhóm các server hoạt động cùng nhau để chia tải công việc, cung cấp độ tin cậy khả năng xử lý cao cho hệ thống. Đối với client, cluster server hoạt động giống như một server đơn lẻ nhưng thực chất nó là một nhóm nhiều servers. Trong đề tài này, chúng ta bàn vào một vài giải pháp clustering ở phía server hay còn gọi là “business side of clustering”. Giải pháp này đặc biệt thích hợp cho việc xây dựng hệ thống virtual server- high availability. Với giải pháp cluster server, font-end server được coi như là load balancer nó cho phép hệ thống servers của ta đáp ứng được một số lượng rất lớn các yêu cầu đồng thời hơn single server. Hơn nữa, với cách nâng cấp “piece by piece”, khi server hỏng ta remove chúng khỏi hệ thống để bảo trì, sau đó ta add thêm server vào hệ thống mà không đòi hỏi thời gian downtime hoặc ảnh hưởng đến yêu cầu dòch vụ của client. Một ưu điểm của hệ thống clustergiá thành thấp bởi vì hệ thống cluster server bao gồm một nhóm các servers hoạt động cùng nhau nên một server sẽ không phải xử lý tất cả yêu cầu; do đó đầu tư các server này có thể là những máy tính rẽ, giá thành kinh tế thấp. Hình 2-1 Tổng quan về cluster server Các hình nghiên cứu trong đề tài là: LVS ( Linux Virtual Server), Cisco LocalDirector, hình server Apache front ends to Java applications servers (như: mod_jk Tomcat). Tất cả các hình đều gồm : một font-end server sẽ điều phối cho nhiều back-end servers. Các đánh giá ưu khuyết điểm cho từng hình nghiên cứu , song song đó có cải tiến ( hoặc đề nghò cải tiến) cho từng hình như : duy trì session trên các server (session Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các hình Cluster Server Trang 3 / 98 replication) , cân bằng tải hệ thống dựa trên nội dung cung cấp ( load balancing based on contents) 3. Các giải pháp chia tải Server Trên hình client/server, một phía là client phía còn lại là server có thể tồn tại proxy ở giữa như proxy server cho các dòch vụ web. Dựa vào đặc điểm này, chúng ta thấy có nhiều cách để điều phối yêu cầu đến cluster server ở nhiều cấp độ khác nhau. Thông thường các server cluster sẽ chạy cùng dòch vụ cùng một nội dung cung cấp. Nội dung này có thể được “nhân bản” trên đóa local các servers, hệ thống share file chung hoặc có thể là một hệ thống file phân tán chung. Các giải pháp đề nghò cho việc phân tán các yêu cầu phục vụ có thể kể ra như sau: X Hướng xây dựng phía Client Berkeley’s Smart Client 1 đề nghò cung cấp một applet chạy phía client, khi đó applet tạo các yêu cầu đến cluster lấy thông tin trạng thái của tất cả servers, sau đó lựa chọn server phục vụ cho yêu cầu của mình dựa vào thông tin trạng thái đó forward yêu cầu đó đến server. Applet sẽ thực hiện gửi yêu cầu cho server khác nếu server đang phục vụ nó “down”. Một hướng khác 2 , tác giả phát triển một công nghệ lựa chọn server phục vụ dựa vào băng thông, khi đó client sẽ thăm dò băng thông giữa client server cộng với khả năng ước lượng sự tắc nghẽn trên mỗi đường đi mà ra quyết đònh lựa chọn đường đi đến server phục vụ tối ưu nhất. Với hướng tiếp cận này thì không “trông suốt” với client (client-transparent), nó đòi hỏi phía client phải bổ sung code cho ứng dụng, vì vậy nó không thể triển khai cho tất cả các dòch vụ TCP/IP. Hơn nữa, nó sẽ làm tăng network traffic do phải sử dụng thêm nhiều query hoặc các thao tác thăm dò. X Hướng xây dựng phía server – Round Robin DNS Sự mở rộng web server đầu tiên sử dụng Round Robin DNS ( RFC 1794) . DNS server sẽ ánh xạ một tên thành nhiều đòa chỉ IP khác nhau một cách round–robin mỗi lượt truy cập khác nhau của client sẽ được chuyển đến các server khác nhau trong cluster, phân tán yêu cầu cho các server. Tuy nhiên, do cơ chế caching IP của client hệ thống phân cấp DNS server nên phương pháp này không năng động trong việc load balancing cho cluster server nó có nhiều khuyết điểm (xem chi tiết mục 3.1). X Hướng tiếp cận phía server, xây dựng kỹ thuật load balancing mức application EDDIE 3 , Reverse-proxy 4 , SWEB 5 sử dụng các thuật toán load balancing ở mức application để xây dựng hệ thống web cluster. Bằng cách forward các HTTP requests đến các webservers sau đó lấy kết quả trả về cuối cùng trả về cho clients. Tuy nhiên, cách này đòi hỏi phải thiết lập 2 kết nối TCP cho mỗi yêu cầu, 1 giữa client load balancer, 1 là giữa load balancer servers , có độ trễ cao. Khả năng xảy ra overhead trên load balancer do phải phân phối các request nhận kết quả trả về. Trong hướng tiếp cận này chúng ta sẽ nghiên cứu một hình : sử dụng một Server Apache + module mod_jk như một load balancer phân phối yêu cầu đến các Server chạy 1 http://now.cs.berkeley.edu/ “Using Smart Clients to Build Scalable Services” 2 http://www.ncstrl.ogr/ “Dynamic Server selection using Bandwidth probing in WAN” 3 http://www.eddieware.org/ “A robust and scalable internet server” 4 http://www.webtechniques.com/ “practical approaches for distributing http traffic ” 5 http://www.cs.ucsb.edu/Research/rapid_sweb/SWEB.html . nghiệp Nghiên cứu, Đánh giá & Phát triển các mô hình Cluster Server Khoa CNTT Báo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các mô hình. Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển các mô hình Cluster Server Trang 2 / 98 2.2 Cluster Server Solution Khái niệm cluster thật sự

Ngày đăng: 08/12/2013, 09:42

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan