Đề tài nghiên cứu, đánh giá và phát triển các mô hình cluster server

98 7 0
Đề tài 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

Khoa CNTT Báo cáo Luận văn Tốt nghiệp 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 Nguyễn Trường An Phạm Thanh Phong MSSV: 9912501 MSSV: 9912645 Tp HCM Tháng 07/2003 Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Z Với nhiều giúp đỡ vô quý báu Quý Thầy, Cô khoa Công Nghệ Thông Tin, bảo nhiệt tình Anh, chị khóa trước với hỗ trợ từ bạn bè, chúng em hoàn thành Luận Văn Tốt Nghiệp Để 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, dạy cho em kiến thức quan trọng để chúng em hoàn thành Luận Văn • Đặ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 dẫn, truyền đạt kiến thức cho chúng em suốt thời gian làm Luận Văn Tốt Nghiệp lòng biết ơn sâu sắc • Xin chân thành cảm ơn Anh chị khóa trước, bạn học khóa nhiệt tình góp ý giúp đỡ chúng em hoàn chỉnh luận văn Cuối cùng, chúng em xin kính chúc sức khỏe Quý Thầy, Cô, anh chị bạn Xin chân thành cảm ơn ! Trân trọng kính chào Nhóm thực đề tài Nguyễn Trường An & Phạm Thanh Phong Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp MỤC LỤC Đặt vấn đề ( toán) Giới thiệu 2.1 Single Server Solution 2.2 Cluster Server Solution Các giải pháp chia tải Server .3 3.1 DNS Load balancing (DNS Round Robin) 3.1.1 Giới thiệu 3.1.2 Cấu hình 3.1.3 Đánh giá ưu khuyết điểm 3.2 Hardware-based Load balancing 3.2.1 Giới thiệu 3.2.2 Mô hình hoạt động 10 3.2.3 Cisco LocalDirector 4000 series 11 3.2.4 Đặc điểm 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 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 Oracle 9i cluster 49 B Cấu trúc phân cấp Enterprise Manager Oracle 9iAS 57 C Instance- specific 58 D Software & Hardware failure treân Oracle9iAS 59 E Cấu hình clustering load balancing 60 F Cấu hình OC4J Instance Oracle9i AS 63 3.5 Mô hình cải tiến ( phát triển) 64 3.5.1 Apache/mod_jk/Tomcat với session replication 64 Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Baùo cáo Luận văn Tốt nghiệp A Giới thiệu session replication 64 B Cơ chế hoạt động 65 C Nâng cấp mô 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 keát hợp LVS với Reverse proxy 68 A Tại phải chia tải theo nội dung yêu cầu ( content-based)? 68 B Hướng giải - cluster of cluster 68 C Cài đặt cluster of cluster 71 3.5.3 Giải single point of failure 74 Cluster testing vaø Results 75 4.1 Testing plan 75 4.2 Results 78 Hướng phát triển 80 Kết luận 80 Tài liệu Tham khảo 82 Phuï luï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 báo cáo 86 8.3 Phụ lục Cấu trúc CD báo cáo 88  DAN H MỤC HÌNH ẢNH Hình 2-1 Tổng quan cluster server .2 Hình 3-1 DNS lookup yêu cầu Hình 3-2 DNS load balancing Hình 3-3 Cấu hình DNS Load balancing Hình 3-4 Server bị lỗi 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 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 LVS .21 Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Hình -13 Failover mức load balancer LVS 23 Hình 3-14 Các thành phaàn 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 LVS-TUN .29 Hình 3-19 LVS-DR 30 Hình 3- 20 Hoạt động cuûa LVS-DR .31 Hình 3-21 Basic clustering .45 Hình 3-22 Two tier clustering (webtier presentation tier chung 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 Oracle 9iAS 49 Hình 3-26 Kiến truùc cluster Oracle9iAS .50 Hình 3-27 kiến trúc farm cluster Oracle9iAS 51 Hình 3-28 Minh hoï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 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 Application Server Instance 61 Hình 3-35 Demo tạo cluster Giao diện web-based .61 Hình 3-36 Demo thêm instance vào cluster giao diện web-based 62 Hình 3-37 Demo việc quản lý cluster farm 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 mạng 71 Hình 3-44 cài đặt reverse proxy thuộc hai mạng khác .72 Hình 3-45 Mô hình giải pháp “single point of failure” .75 Hình 4-1 Sơ đồ mạng testing mô hình Apache/mod_jk/Tomcat .76 Hình 4-2 Sơ đồ mạng testing mô hình LVS 77 Hình 4-3 Kết testing mô hình Apache/mod_jk/Tomcat 78 Hình 4-4 Kết testing mô hình LVS 79  Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp 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 Baûng 3-3 Bảng giátham khảo http://www.alliancedatacom.com/manufacturers/ciscosystems/prices/index_full.asp 13 Baûng 3-4 Bảng giá tham khảo 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 Baûng 4-3 Cấu hình Apache load balancer 77 Bảng 4-4 Cấu hình LVS Director 77  Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Baùo caùo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Đặt vấn đề ( toán) Ngày nay, với bùng nổ số lượng người sử dụng Internet đặc biệt ứng dụng Web, thương mại điện tử …cùng với phát triển trang web có nội dung động (dynamic content) làm gia tăng đáng kể khả xử lý server Đến thời điểm server đáp ứng với số lượng lớn yêu cầu đồng thời, giải pháp đưa thay nâng cấp server server khác có cấu hình mạnh, khả xử lý cao giải pháp không khả thi lý sau: • Với server thay tương lai gần lại đáp ứng số lượng yêu cầu lớn lại phải thay nâng cấp server server khác có cấu hình mạnh mẽ điều tiếp tục ??? • Với công đoạn thay hay nâng cấp server chi phí phải trả cho thiết bị phần cứng cao, giải pháp xem không mang lại hiệu kinh tế cho Từ vấn đề , người ta đưa khái niệm “cluster server”? Giới thiệu Tim Berners-Lee phát triển World Wide Web (WWW) năm 1990 ông làm việc CERN ( the European Laboratory for Particle Physics -Boutell) Kể từ đó, web trở thành nguồn chủ lực tất loại thông tin Web trở nên không hạn chế Marc Andreessen thuộc The National Center for Supercomputing Applications cho đời Mosaic, trình WWW client phổ biến Trong vài năm gần đây, ứng dụng web gia tăng đáng kể từ vài trăm pages lên đến hàng triệu web sites Số lượng người dùng online ngày cao điển : Yahoo, Amazon.com, Microsoft, …Một webserver thông thường đáp ứng hàng ngàn requests lúc Đối mặt với vấn đề này, sites có lượng traffic cao thường có hai giải pháp lựa chọn : thay webserver cũ webserver nhanh thêm vào server khác để làm tăng khả đáp ứng ( giải pháp thêm nhiều server hoạt động đồng thời gọi cluster server) 2.1 Single Server Solution Để giải vấn đề gia tăng đáng kể yêu cầu từ client, nhà quản trị thay server cũ (hardware) server mới, mạnh nhanh để đáp ứng tốt yêu cầu Với hướng tiếp cận này, giải vấn đề mà nội dung cung cấp hầu hết trang web tónh ( HTML, ) Mặc dù server mạnh đáp ứng lượng lớn yêu cầu web động (dynamic content) internet Hơn nữa, giải pháp single server lại mang nhiều khuyết điểm: Giá thành cao ( đầu tư hardware mạnh) Không có khả mở rộng hệ thống ( scalability) Không có tính chịu lỗi cao ( fault tolerance) Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server Trang / 98 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp 2.2 Cluster Server Solution Khái niệm “cluster” thật định nghóa không chuẩn xác làm cho người ta hiểu theo nhiều nghóa khác Trước kia, học nhập môn hệ điều hành khái niệm “cluster” nhóm disk sectors, đơn vị đóa cứng Còn hầu hết người dùng Windows 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ẽ gắn liền khái niệm “cluster” với cluster computing, giải pháp máy tính bó xử lý song song nhằm giải toán lớn (nổi bật đề án Beowulf- super computer xử lý hàng tỉ thị giây) Nhưng bây giờ, nghiên cứu cluster server solution, hiểu “cluster” theo nghóa khác “Cluster Server” nhóm server hoạt động để chia tải công việc, cung cấp độ tin cậy khả xử lý cao cho hệ thống Đối với client, cluster server hoạt động giống server đơn lẻ thực chất nhóm nhiều servers Trong đề tài này, bàn vào vài giải pháp clustering phía server hay gọi “business side of clustering” Giải pháp đặ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 coi load balancer cho phép hệ thống servers ta đáp ứng số lượng lớn yêu cầu đồng thời single server Hơn nữa, với cách nâng cấp “piece by piece”, 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 ảnh hưởng đến yêu cầu dịch vụ client Một ưu điểm hệ thống cluster giá thành thấp hệ thống cluster server bao gồm nhóm servers hoạt động nên server xử lý tất yêu cầu; đầu tư server máy tính rẽ, giá thành kinh tế thấp Hình 2-1 Tổng quan cluster server Các mô hình nghiên cứu đề tài là: LVS ( Linux Virtual Server), Cisco LocalDirector, mô hình server Apache front ends to Java applications servers (nhö: mod_jk Tomcat) Tất mô hình gồm : font-end server điều phối cho nhiều back-end servers Các đánh giá ưu khuyết điểm cho mô hình nghiên cứu , song song có cải tiến ( đề nghị cải tiến) cho mô : trì session server (session Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server Trang / 98 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp replication) , cân tải hệ thống dựa nội dung cung caáp ( load balancing based on contents) Các giải pháp chia tải Server Trên mô hình client/server, phía client phía lại server tồn proxy proxy server cho dịch vụ web Dựa vào đặc điểm này, thấy có nhiều cách để điều phối yêu cầu đến cluster server nhiều cấp độ khác Thông thường server cluster chạy dịch vụ nội dung cung cấp Nội dung “nhân bản” đóa local servers, hệ thống share file chung hệ thống file phân tán chung Các giải pháp đề nghị cho việc phân tán yêu cầu phục vụ kể sau: Hướng xây dựng phía Client Berkeley’s Smart Client đề nghị cung cấp applet chạy phía client, applet tạo yêu cầu đến cluster lấy thông tin trạng thái tất servers, sau lựa chọn server phục vụ cho yêu cầu dựa vào thông tin trạng thái forward yêu cầu đến server Applet thực gửi yêu cầu cho server khác server phục vụ “down” Một hướng khác , tác giả phát triển công nghệ lựa chọn server phục vụ dựa vào băng thông, client thăm dò băng thông client server cộng với khả ước lượng tắc nghẽn đường mà định lựa chọn đường đến server phục vụ tối ưu Với hướng tiếp cận không “trông suốt” với client (client-transparent), đòi hỏi phía client phải bổ sung code cho ứng dụng, triển khai cho tất dịch vụ TCP/IP Hơn nữa, làm tăng network traffic phải sử dụng thêm nhiều query thao tác thăm dò Hướng xây dựng phía server – Round Robin DNS Sự mở rộng web server sử dụng Round Robin DNS ( RFC 1794) DNS server ánh xạ tên thành nhiều địa IP khác cách round–robin lượt truy cập khác client chuyển đến server khác cluster, phân tán yêu cầu cho server Tuy nhiên, chế caching IP client hệ thống phân cấp DNS server nên phương pháp không động việc load balancing cho cluster server có nhiều khuyết điểm (xem chi tiết mục 3.1) Hướng tiếp cận phía server, xây dựng kỹ thuật load balancing mức application EDDIE , Reverse-proxy , SWEB sử dụng thuật toán load balancing mức application để xây dựng hệ thống web cluster Bằng cách forward HTTP requests đến webservers sau lấy kết trả cuối trả cho clients Tuy nhiên, cách đòi hỏi phải thiết lập kết nối TCP cho yêu cầu, client load balancer, load balancer servers , có độ trễ cao Khả xảy overhead load balancer phải phân phối request nhận kết trả Trong hướng tiếp cận nghiên cứu mô hình : sử dụng Server Apache + module mod_jk load balancer phân phối yêu cầu đến Server chạy http://now.cs.berkeley.edu/ “Using Smart Clients to Build Scalable Services” http://www.ncstrl.ogr/ “Dynamic Server selection using Bandwidth probing in WAN” http://www.eddieware.org/ “A robust and scalable internet server” http://www.webtechniques.com/ “practical approaches for distributing http traffic ” http://www.cs.ucsb.edu/Research/rapid_sweb/SWEB.html Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server Trang / 98 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Hard Drive OS Network Interface IDE 40GB WindowsXP / Windows2K pro 100MB Ethernet Bảng 4-2 Cấu hình Server Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 77 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Apache Load balancer ( Apache 1.13 + mod_jk) Processor AMD K62 400MHz Memory 128 MB Hard Drive IDE 10GB OS Windows2Kpro Network Interface 100MB Ethernet Bảng 4-3 Cấu hình Apache load balancer Tất máy nối vào Switch REPOTEC 100 Sơ đồ mạng tiến hành testing mô hình LVS Hình 4-2 Sơ đồ mạng testing mô hình LVS Các máy tính tiến hành testing mô hình LVS có cấu hình giống mô hình Apache nêu trên, riêng load balancer (LVS director) sử dụng NIC, yêu cầu kiến trúc phải xây dựng mạng riêng cho client server LVS Director Processor Memory Hard Drive OS Network Interface AMD K62 400MHz 128 MB IDE 10GB Linux RedHat 7.3 (kernel 2.4) x NIC 100MB Ethernet (Compex) Bảng 4-4 Cấu hình LVS Director Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 78 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp * Kịch testing : Máy client chạy phần mềm “Web performance Trainer version 2.5http://www.webperformanceinc.com/ ”- trial, benchmark software dùng để đo khả performance website - Mỗi lần test thời gian phút - Bắt đầu user, phút tăng thêm users ( giới hạn tối đa 10 user trial ) - Thiết đặt tốc độ mạng test client 56 Kbit/s (bằng tốc độ đường dial-up thông thường) - Mỗi user tiến hành tạo request yêu cầu trang jsp/servlet /examples Tomcat Server, gồm: http ://www.mysite.com/examples/jsp/num/numguess.jsp http:// www.mysite.com/examples/jsp/dates/date.jsp http:// www.mysite.com/examples/jsp/snp/snoop.jsp http:// www.mysite.com/examples/jsp/error/error.html http:// www.mysite.com/examples/servlet/RequestInfoExample http:// www.mysite.com/examples/servlet/RequestHeaderExample http:// www.mysite.com/examples/servlet/RequestParamExample Caùc testcase thực với back-end servers, , servers Kết sau thực tạo biểu đồ thống kê trung bình chung cho trường hợp 4.2 Results Sau kết đạt Hình 4-3 Kết testing mô hình Apache/mod_jk/Tomcat Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 79 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Hình 4-4 Kết testing mô hình LVS * Chú thích : - Cột nằm ngang trục thời gian (từng giai đoạn trình testing : – phút) - Cột thẳng đứng giá trị biểu đồ - Đường màu xanh số users (clients) theo thời gian testing : từ – 10 clients - Đường màu hồng độ throughput (Bytes/s) hệ thống tương ứng với số users (đường màu xanh) tạo yêu cầu theo thời gian Giá trị Bytes/s tra theo cột giá trị nhân với tỉ lệ x 1000 lần (Hình 4-4) , nhân với tỉ lệ x100 lần (Hình 4-3) * Phân tích kết nhận xét chung: - Kịch test mô hình giống :số lượng users giống điểm thời gian testcase, thời gian thực phút - Dựa vào biểu đồ kết ta thấy độ throghput (Bytes/s) hệ thống có kết khác nhau: + Đường màu hồng hình 4-4 độ throughput hệ thống LVS ( tra theo tỉ lệ x1000 lần, giá trị throughput số clients chênh lệch nhiều nên biểu đồ vẽ với tỉ lệ x1000 cho dễ quan sát) + Độ throughput hệ thống Apache/mod_jk/Tomcat ( đường màu hồng hình 4-3 ) nhân với tỉ lệ x100 lần Ta thấy, số Bytes/s mô hình LVS với 10 users phút 2:50 ~3x1000 = 3000 Bytes/s ~3 Kbytes/s nhanh nhiều so với mô hình Apache/mod_jk/Tomcat ( 10 users phút 2:50 giá trị ~3 x100 Bytes/s ~0,3 Kbytes/s) Tương tự với khoảng thời gian lại Nhìn chung LVS nhanh nhiều, thời gian đáp ứng hệ thống LVS nhanh nên Hits đến nhiều => số lượng Bytes/s lớn - Với kết đạt này, lần khẳng định kiến trúc load balancing mức IP đạt tốc độ điều phối nhanh mức Application - Điểm hạn chế, sử dụng phần mềm test (web performance trainer) trial nên bị giới hạn số client => không xác định khả đáp ứng tối đa users đồng thời (request rate) Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 80 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Baùo cáo Luận văn Tốt nghiệp Mặc khác để đo request rate hệ thống ta cần phải có hệ thống phân tán client rộng lớn có khả tạo số lượng yêu cầu đồng thời đủ lớn đến hệ thống Hướng phát triển Trong tương lai, hy vọng có thời gian điều kiện cho phép, nhóm nghiên cứu tiến hành cải tiến thêm thuật toán điều phối kiến trúc LVS để phù hợp với nhiều mô hình mạng khác Như thuật toán “fast reponse”, thực sách thông minh việc gán giá trị trọng “weight” cho server dựa vào thời gian response nó, đảm bảo thời điểm server có thời gian đáp ứng nhanh có “weight” lớn Song song xây dựng công cụ quản lý tập trung việc cấu hình triển khai ứng dụng server cluster (ví dụ Tomcat Server sử dụng file cấu hình chung, việc deploy ứng dụng Tomcat Server tự động cập nhật server khác), với công cụ giúp nhiều cho người quản trị việc xây dựng hệ thống cluster dễ dàng Hiện nay, đa số mô hình sử dụng hệ thống share file database chung để lưu trữ nội dung cung cấp Với việc dùng chung database xãy “thắt cổ chai” servers tranh lấy liệu từ database Nếu có điều kiện tiến hành triển khai mô hình cluster server dùng hệ thống sở liệu phân tán ( nghiên cứu hệ thống file phân tán CODA) Khi mô hình cluster việc nâng cao khả xử lý có khả phục vụ tốt nội dung cung cấp Kết luận Với gia tăng internet nhu cầu web động trở nên phổ biến, server cluster trở nên cần thiết với website lớn Trong mục báo cáo này, nêu lên số giải pháp chia tải hệ thống tập trung phía server “bussiness side of clustering” – high availability virtual servers, giới thiệu công nghệ phát triển để làm giảm lỗi cho hệ thống số công cụ triển khai Từ giải pháp chia tải đơn giản round robin DNS đến triển khai virtual servers - LVS (Linux Virtual Server) , giải pháp phần cứng với Cisco Local Director, hay Apache frond-end server với Java Application Servers (mod_jk Tomcat Servers) Các mô hình bao gồm front-end server điều phối đến nhiều back-end servers Giải pháp chia tải hệ thống cho phép hệ thống server đáp ứng số lượng yêu cầu cao nhiều so với hệ thống server ( màhầu server đơn lẻ) Hơn nữa, việc mở rộng hay bảo trì hệ thống cluster đơn giản việc “add” vào hay “remove” mà không ảnh hưởng đến dịch vụ cung cấp hay ảnh hưởng đến phía người dùng (client), không ảnh hưởng đến thời gian “downtime” hệ thống Ngày nay, có nhiều công nghệ clustering nhiều công cụ để triển khai Trước áp dụng giải pháp nào, ta phải lựa chọn cho phù hợp với hoàn cảnh (hệ thống mạng tình hình kinh tế ) Clustering vấn đề quan trọng, cần thiết để nắm bắt Tuy nhiên, chưa phải hoàn hảo nhiều hạn chế thân Do đó, trước triển khai áp dụng thực tế ta cần tham khảo thêm thủ thuật (“trick and traps”) để hiểu rõ vấn đề trước thực Một điều quan trọng là, với giải pháp clustering nào, mô hình tốt hoạt động, có nghóa cần phải giám sát chặt chẽ, cần phải backup bảo trì thường xuyên Khi triển khai áp dụng hệ thống cluster cần phải quản lý chặt chẽ, đề phòng khả xảy cố hệ Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 81 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp thống ta vận hành liên tục, thiết bị phần cứng không vónh cửu xảy lỗi số trường hợp Và bây giờ, nhóm nghiên cứu đề tài xin tạm dừng phần trình bày báo cáo Hy vọng tương lai, với điều kiện khả cho phép gặp báo cáo khác với chủ đề “nóng bỏng” lónh vực IT networking Xin cảm ơn quan tâm đến phần trình bày / Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 82 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Tài liệu Tham khảo [1] Linux Virtual Server for Scalable Network Services -Wensong Zhang wensong@gnuchina.org Ottawa Linux Symposium 2000 July 22th, 2000 Introduction Explosive www.linux-vs.org/ols/ols.ag.pdf [2] RFC 1794 (rfc1794) - DNS Support for Load Balancing Network Working Group T Brisco Request for Comments: 1794 Rutgers University Category: Informational April 1995 DNS Support for Load DNS Support for Load Balancing T Brisco April 1995 www.faqs.org/rfcs/rfc1794.html [3] Oracle9iAS Clustering otn.oracle.com/tech/java/oc4j/doc_library/ 902/A95880_01/html/cluster.htm [4] TOC - Clustering with Linux Putting System Together - Clustering with Linux www.patch.com/computing/clustering/ Putting_System_Togther.html [5] Internet Technologies 2, Session 5: Load balancing: Tomcat, LVS Internet Technologies 2, Session March 02 Load balancing: Tomcat, LVS Tomcat/Apache/mod_jk bob.marlboro.edu/~msie/2002/it2/s5.html [6] ONJava.com: EJB Clustering with Application Servers EJB Clustering with Application Servers www.oreillynet.com/pub/a/onjava/ 2000/12/15/ejb_clustering.html [7] Oracle9iAS Daily Features - Oracle9iAS Containers for J2EE: Using EJB clustering in Oracle9iAS, you can build highly available, highly scalable J2EE applications based on Enterprise JavaBeans otn.oracle.com/products/ias/daily/jan16.html [8] ORACLE9 i AS JAVA EDITION DATA SHEET ADVANCED CLUSTERING With Oracle9iAS Java Edition advanced clustering features, developers www.oracle.com/ip/deploy/ias/docs/java_edition.pdf [9] New Architect: Features Load Balancing Your Web Site Practical Approaches for Distributing HTTP Traffic By Ralf S Engelschall Round-Robin DNS vs Proxying From: Web Techniques Magazine, May 1998 www.webtechniques.com/archives/1998/05/engelschall/ [10] How to : Scalability - Load-Balancing - Fault-tolerance with The Java Apache Project How to : Scalability - Load-Balancing - Fault tolerance Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 83 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp with Apache JServ 1.1 document version: 1.2.1 (03 Feb 2000) java.apache.org/jserv/howto.load-balancing.html [11] ViSolve - White Paper Implementing Reverse Proxy in Squid squid.visolve.com/white_papers/reverseproxy.pdf [12] Scalable Internet Servers BRIGHAM YOUNG UNIVERSITY Cost Efficient Scalable Internet Servers BY KEVIN TEW MAY 5, 2000 ncl.cs.byu.edu/research/public/webcluster/linuxnetworks_research/ ScalableFinalHTML.htm [13] Building a Two-Node Linux Cluster with Heartbeat Linux Style: Building a Two-Node Linux Cluster with Heartbeat Posted on Monday, March 11, 2002 by CT Leung, www.linuxjournal.com/article.php?sid=5862 [14] Load Balancing The UK National JANET Web Cache Service Using Load Balancing The UK National JANET Web Cache Service Using Linux Virtual Servers Michael Sparks , November 1999 wwwcache.ja.net/JanetService/PilotService.html [15] Apache 1.3.23 + Tomcat 4.0.2 + Load Balancing UBEANS, Technologies Apache 1.3.23 + Tomcat 4.0.2 + Load Balancing Important update (October 2002) www.ubeans.com/tomcat/ [16] Working with mod_jk The Jakarta Project By Gal Shachor jakarta.apache.org/tomcat/tomcat-3.3-doc/ mod_jk-howto.html [17] LVS Cluster Configuration HOWTO Wayne Sherrill (sherrill@redhat.com) Copyright © 1999 by Red Hat, Inc www.ibiblio.org/oswg/oswg-nightly/oswg/en_US.ISO_8859-1/ articles/cluster-howto/cluster-howto/ [18] TheServerSide.com J2EE Community The initial implementation of the in memory session replication by Filip Hanik www.theserverside.com/resources/article.jsp?l=Tomcat [19] Setting Up A JBoss Cluster (Clustering) For the record, 3.0.6 is currently the best version for clustering (it's got various bug fixes), as of March 2003 www.yorku.ca/dkha/jboss/docs/Cluster.htm [20] Oracle 9i Application Server - The Application Platform for Linux The scalability of the Oracle9iAS infrastructure (Servlet engine, EJB container, load balancing and failover, clustering) https://www.redhat.com/whitepapers/ rhel/OracleAppServer.pdf Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 84 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Baùo cáo Luận văn Tốt nghiệp [21] Creating Linux Virtual Servers Wensong Zhang, Shiyao Jin, Quanyuan Wu National Laboratory for Parallel & Distributed ProcessingChangsha, Hunan 410073, China http://lvs.tale.net/clvs.ps.gz [22] LVS-mini-HOWTO is posted to the LVS site, http://www.linuxvirtualserver.org/Joseph.Mack/HOWTO/ v2002.05 May 2002, move all into v2003.05 May 2003 www.linuxvirtualserver.org/Joseph.Mack/ HOWTO/LVS-HOWTO.introduction.html [23] LVS-HOWTO by Joseph Mack jmack (at) wm7d (dot) net Copyright © 1999, 2000, 2001, 2002, 2003 Joseph Mack v2003.06 Jun 2003, released under GPL www.linuxvirtualserver.org/Joseph.Mack/HOWTO/ [24] IP Load Balancing (Piranha) from UK Linux Support www.forlinux.co.uk/ modules.php?name=News&new_topic=2 [25] Virtual Server Scheduling Algorithms This page describes some scheduling algorithms implemented on Linux virtual server Round-Robin Scheduling www.linuxvirtualserver.org/docs/scheduling.html [26] YoLinux Tutorial: Java Servlets, JSP, Jakarta-Tomcat, a Database (PostgreSQL or MySQL), Apache and Linux www.yolinux.com/TUTORIALS/LinuxTutorialTomcat.html [27] JavaLobby Forums - Is a HA clustered solution possible with Open Source www.javalobby.com/thread.jsp?forum=61&thread=6874 [28] ZDNet Australia: Builder: Know your clustering architectures by Rahul Tyagi, builder@zdnet.com.au | 16 September 2002 www.zdnet.com.au/builder/architect/sdi/ story/0,2000035062,20268242,00.htm [29] September 2001 Edition Volume Number SAGE Advice : The Journal of The System Administrators Guild of Australia Linux Clustering - Advanced Concepts Brad Marshall (bradm@linux.com) www.sage-au.org.au/newsletters/newsletter_sep01.pdf [30] ONJava.com: Clustering with Tomcat [Jul 17, 2002] Clustering with Tomcat by Shyam Kumar Doddavula 07/17/2002 www.onjava.com/pub/a/onjava/2002/07/17/tomcluster.html Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 85 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp [31] A Reverse Proxy Is A Proxy By Any Other Name By Art Stricek Version 1.2f January 10, 2002 You just spent the last few months installing, configuring, testing www.sans.org/rr/papers/65/302.pdf […] … * Các tài liệu tham khảo tham khảo CD báo cáo Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 86 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Phụ lục 8.1 Phụ lục Các internet site xử dụng Cluster server với LVS * Nguồn từ http://www.linuxvirtualserver.org/ * Khái niệm Director LoadBalancer tương đương Site Description Notes linux.com sourceforge.net The Linux Portal The largest open source development site themes.org The largest interface/themes site for the X Window System UK National JANET Web Cache Service LVS web cluster LVS (load balancing HTTP, HTTPS, FTP, SSH, CVS) themes.org wwwcache.ja.net http://www.zope.org/ http://www.greenheck.com/ anandtech.com http://www.tiscover.com/ http://www.cycosmos.com/ http://www.mybiz.com/ Undergraduate Compute Cluster datingfaces.com The leading Open Source web application server Leading manufacturer of air movement and control equipment a big hardware review site The 3rd largest Portal Site in Austria with more than 500,000 visits per day An virtual community website in United Kingdom and Germany mybiz provides customer service and marketing tools that enable small businesses to build stronger and more profitable customer relationships Undergraduate Students in the Electronics and Computer Science Department at the University of Southampton (England) use it for compilation, and running software remotely Online dating site yescall.com One of the largest yellowpage site in Korea http://www.songn.com/ Music portal Site with soribada(famous mp3 p2p in Korea) in Korea University of Nottingham University of Nottingham Web Caching Service http://www.real.com/ Real Networks, Inc ….and more than that … Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 40 Squid cache (http://www.squidcache.org/)servers in three LVS clusters, ~900GB content shipped/day for more information (http://marc.theaimsgroup.com/?l=linuxvirtual-server&m=97939428525557&w=2) web cluster, for more information (http://www.zope.org/About) LVS web cluster (5 node) From:Cliff.Baeseman@greenheck.com two primary-backup load balancers and eleven web servers, more information (http://anandtech.com/showdoc.html?i=1456) LVS web cluster LVS web cluster LVS cluster handling just about every public service, mainly web, plus back-end clusters for in-house daemons managed by tc lewis It consists of dual processor real servers and balances telnet and ssh connections More information (https://www.ecs.soton.ac.uk/ug/cluster.shtml) A LVS cluster with directors (VS/DR) and 10 real servers handles about 1.6-2 million hits per day More information (http://www.linuxbofh.com/pictures/sonic/) director/load balancer(single Pentium3 SuseLinux 7.3) and 4+ FreeBSD 4.X web server cover about 12mil hits/day static HTTP traffic by Direct Routing Setup by SangSeok Park (pss@psshee.com) (under consideration to increase director and realserver for performance and highavailability) One LVS director running in VS/DR mode with 6+ nodes of Windows 2000 servers, setup by Wonyoung Choi (wonzero@yahoo.com) The Web Caching Service runs in a cluster of four Intel Pentium-based servers managed by two LVS directors More information (http://www.nottingham.ac.uk/ www/cache/tech.html) LVS media cluster (>20 nodes) Trang 87 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Baùo cáo Luận văn Tốt nghiệp Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 88 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp 8.2 Phụ lục Một số Thuật ngữ chuyên ngành sử dụng báo cáo Thuật ngữ AJP ( Apache JServ Protocol) Availability Bottleneck Back-end Server(Real Server) Direct Routing (Direct Reply) Encapsulation EJB Container Enterprise Java Bean ( EJB) Failover (fault tolerant) Diễn giải Là server-to-server protocol, cho phép truyền thông server với AJP sử dụng để thiết lập môi trường cộng tác server (server distributed environment) Ví dụ Apache-Tomcat-JBoss Tính sẵn sàng đáp ứng yêu cầu client Khi server bị lỗi yêu cầu không chuyển tới server mà chuyển tới server khác (đang hoạt động tốt) Hiện tượng “thắt cổ chai” Nhiều truy cập đồng thời khả cho phép tới nguồn tài nguyên Các server nằm phía sau Load balancer đảm nhiệm xử lý yêu cầu đến từ Load balancer Khả cho phép tự động chuyển hướng yêu cầu đến mạng khác Direct routing mang lại linh động cho mô hình cluster- Cho phép Real Server sau xử lý xong yêu cầu trả kết cho clients trực tiếp mà không thông qua Load Balancer Là công nghệ đóng gói IP datagram vào IP datagram khác, định hướng IP datagram từ IP address đến IP address khác Decapsulation ngược lại với trình encapsulation Cung cấp chức để quản lý triển khai ứng dụng Enterprise Java Bean (bao gồm lưu trữ thuộc tính bean, quản lý database connection…) Là component sử dụng để xây dựng ứng dụng theo mô hình Enterprise Models (business logic), ứng dụng phân tán Khả dò tìm lỗi servers (bao gồm phần cứng phần mềm) Khi có lỗi xảy thay chuyển tới server bị lỗi này, yêu cầu chuyển hướng (redirect) đến server khác (đang hoạt động tốt) cluster Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 89 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp Front-end server (Load balancer) GUI (Graphics User Interfaces) IP Masquerading JVM Manageability features Persistence Rewritten Replica-aware stub Scalability Server farm(server pool) Session Replication (Session Affinity) Tier Tunneling Đảm nhận việc điều phối yêu cầu từ client đến backen-server Clients không trực tiếp truy cập back-end server mà phải thông qua Load balancer mô hình cluster Giao diện hướng dẫn người dùng step-bystep nh xạ nhóm server mạng cục thành địa IP Internet Java Virtual Machine (máy ảo dùng để chạy ứng dụng Java) Chức cho phép đem Server khỏi hệ thống mạng để bảo trì hay nâng cấp mà không xảy thời gian downtime ( thời gian ngưng cung cấp dịch vụ) cho toàn hệ thống Cùng Server đáp ứng cho yêu cầu client mô hình cluster Mở gói IP chỉnh sửa thông số , kỹ thuật để chuyển hướng IP datagram Chứa đựng thông tin để xác định đối tượng (đối tượng EJB class, RMI class…) triển khai cluster Khi client truy cập clustered object, client truy cập qua replica-aware stub nhận kết trả từ replica-aware stub khả mở rộng (thêm vào server) dễ dàng mô hình cluster, đáp ứng số lượng lớn yêu cầu đồng thời Là lớp (layer) gồm back-end server Một chế trì (nhân bản) session nhiều server khác Khái niệm ‘tier’ sử dụng để mô tả layer, gồm nhiều máy tính trang bị softwares modules đảm nhiệm chức network Cho phép server mạng khác kết nối gia nhập vào mạng cục (LAN) Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 90 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Báo cáo Luận văn Tốt nghiệp 8.3 Phụ lục Cấu trúc CD báo cáo Documents : Thư mục chứa tài liệu tham khảo trình thực đề tài Tools : Các công cụ phần mềm dùng để triển khai Report : Các file báo cáo viết Conf : Một vài file cấu hình mẫu kết triển khai Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server 98 Trang 91 / LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... servers Các đánh giá ưu khuyết điểm cho mô hình nghiên cứu , song song có cải tiến ( đề nghị cải tiến) cho mô : trì session server (session Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server. .. testing mô hình LVS 77 Hình 4-3 Kết testing mô hình Apache/mod_jk/Tomcat 78 Hình 4-4 Kết testing mô hình LVS 79  Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server. .. Robin tất yêu cầu gửi đến đáp ứng luân phiên server cluster Vì các nodes mô hình cluster phục vụ mạng Nghiên cứu, Đánh giá & Phát triển mô hình Cluster Server Trang / 98 LUAN VAN CHAT LUONG download

Ngày đăng: 01/11/2022, 15:21

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

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

Tài liệu liên quan