TỔNG QUAN VỀ HỆ THỐNG CÂN BẰNG TẢI SERVER 1.1 Tại sao phải xây dựng hệ thống cân bằng tải? Mạng máy tính đóng vai trò ngày càng quan trọng hơn trong hoạt động của các doanh nghiệp, tổ chức cũng như các cơ quan nhà nước. Mạng máy tính có thể ví như hệ thần kinh điều khiển hoạt động của toàn doanh nghiệp. Các máy chủ là trái tim của của mạng máy tính, nếu máy chủ mạng hỏng, hoạt động của hệ thống sẽ bị ngưng trệ. Hỏng hóc đối với các thiết bị mạng nói chung và các máy chủ nói riêng là điều không thể tránh khỏi. . Do vậy, vấn đề đặt ra là cần có một giải pháp để đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng Việc lựa chọn một server đơn lẻ có cấu hình cực mạnh để đáp ứng nhu cầu này sẽ kéo theo chi phí đầu tư rất lớn và không giải quyết được các vấn đề đặt ra của các tổ chức. Giải pháp hiệu quả được đưa ra là sử dụng một nhóm server cùng thực hiện một chức nǎng dưới sự điều khiển của một công cụ phân phối tải Giải pháp cân bằng tải.
TỔNG QUAN VỀ HỆ THỐNG CÂN BẰNG TẢI SERVER 1.1 Tại phải xây dựng hệ thống cân tải? Mạng máy tính đóng vai trò ngày quan trọng hoạt động doanh nghiệp, tổ chức quan nhà nước Mạng máy tính ví hệ thần kinh điều khiển hoạt động toàn doanh nghiệp Các máy chủ trái tim của mạng máy tính, máy chủ mạng hỏng, hoạt động hệ thống bị ngưng trệ Hỏng hóc thiết bị mạng nói chung máy chủ nói riêng điều tránh khỏi Do vậy, vấn đề đặt cần có giải pháp để đảm bảo cho hệ thống hoạt động tốt có cố xảy máy chủ mạng Việc lựa chọn server đơn lẻ có cấu hình cực mạnh để đáp ứng nhu cầu kéo theo chi phí đầu tư lớn không giải vấn đề đặt tổ chức Giải pháp hiệu đưa sử dụng nhóm server thực chức nǎng điều khiển công cụ phân phối tải - Giải pháp cân tải 1.1.1.So sánh hệ thống cân tải hệ thống thông thường Kịch A Kịch B Tính sẵn sàng cao Có Không Tính mở rộng Có Không Ứng dụng Xử lý đa nhiệm Xử lý nhanh đơn nhiệm Ưu điểm cân tải • Tính mở rộng: thêm bỏ bớt server cách dễ dàng • Tính sẵn sàng cao hệ thống dùng nhiều Server Vì hệ thống có tính dự phòng • Tính quản lý: Theo dõi quản lý tập trung hệ thống Server, bảo dưỡng hệ thống server mà không cần tắt dịch vụ • Có thể tách ứng dụng khỏi server • Làm việc với nhiều hệ điều hành • Hiệu suất cao • Server nhóm lại thực đa nhiệm vụ tốt • Tất Server hoạt động công suất tình trạng Server làm việc tải server khác lại “nhàn rỗi” Những tổ chức cần có giải pháp cân tải • Các doanh nghiệp • Nhà cung cấp dịch vụ ISP • Trung tâm xử lý liệu • Chính phủ • Phòng thí nghiệm • Trường đại học, viện nghiên cứu… 1.2.Các giải pháp chia tải giới 1.2.1 Chia tải phần mềm cài máy chủ Kết hợp nhiều server cách chặt chẽ tạo thành server ảo (virtual server) Các hệ điều hành cho máy chủ hệ hãng Microsoft, IBM, HP hầu hết cung cấp khả này, số hãng phần mềm khác Veritas(Symantec) cung cấp giải pháp theo hướng 1.2.2 Chia tải nhờ proxy Nhóm thường tận dụng khả chia tải sẵn có phần mềm proxy ISA Proxy Microsoft hay Squid Proxy thực nhiệm vụ chia tải server cho hợp lý Giải pháp hoạt động mức ứng dụng nên có khả caching (là công nghệ lưu trữ cục liệu truy cập với tần suất cao) khả firewall tầng ứng dụng Vì sử dụng máy phổ dụng nên giải pháp có ưu điểm chi phí thấp, khả mở rộng tốt cài đặt máy độc lập, dễ quản trị Nhược điểm lớn giải pháp dòng thường có tính ổn định kém, hiệu thấp, dễ mắc lỗi Đây điều chấp nhận hệ thống đòi hỏi tính sẵn sàng cao ngân hàng, tài 1.2.3 Chia tải nhờ thiết bị chia kết nối Nhóm thường sử dụng mođun cắm thêm thiết bị chuyên dụng Bộ định tuyến (Router) hay hay chuyển mạch (Switch) để chia tải theo luồng, thường hoạt động từ layer trở xuống Vì sử dụng thiết bị chuyên dụng nên có hiệu cao, tính ổn định cao, khả mở rộng tốt khó phát triển tính bảo mật phức tạp giải pháp proxy, thường thuật toán chia tải đơn giản DNS round-robin (đây thuật toán chia tải phổ biến đơn giản, nhiên cứng nhắc hiệu 1.3 Các thành phần SLB 1.3.1 Chức thành phần SLB Một giải pháp cân tải phải (Server Load Balancer) có chức sau đây: • Can thiệp vào luồng liệu mạng tới điểm đích • Chia luồng liệu thành yêu cầu đơn lẻ định máy chủ xử lý yêu cầu • Duy trì việc theo dõi máy chủ hoạt động, đảm bảo máy chủ đáp ứng yêu cầu đến Server Load Balancers: Load Balancer thiết bị phân phối tải máy tính với máy tính xuất máy tính Phần thảo luận chi tiết thành phần thiết bị SLB VIPs: Virtual IP (VIP): Là địa IP thường gán Load balancer Tất yêu cầu client gởi tới IP ảo Các máy chủ (Servers): Máy chủ chạy dịch vụ chia sẻ tải dịch vụ khác Nhóm (Groups): Dùng để nhóm máy chủ cân tải Các thuật ngữ “farm” “server farm” có ý nghĩa với thuật ngữ Cấp độ người dùng truy nhập (User - Access Levels): Là nhóm quyền gán cho người dùng đăng nhập vào thiết bị cân tải • Read-only: Cấp độ truy cập đọc (Read-only) không cho phép thay đổi thực • Superuser: Superuser cấp độ truy cập cho phép người dùng có đầy đủ quyền điều khiển hệ thống Superuser thêm tài khoản khác, xóa file, cấu hình lại hệ thống với tham số • Các cấp độ khác: Rất nhiều sản phẩm cung cấp thêm vài cấp độ người dùng trung gian hai cấp độ trên, có quyền giới hạn hệ thống Giải pháp dự phòng (Redundancy) Giải pháp dự phòng đơn giản: thiết bị gặp trục trặc, thiết bị thay thiết bị khác mà không gây ảnh hưởng đến hoạt động toàn hệ thống Có vài cách để thực khả Cách thông thường sử dụng hai thiết bị Một giao thức sử dụng hai thiết bị để kiểm tra tình trạng hoạt động thiết bị lại - Active - Standby Kịch dự phòng hoạt động - chờ cách dễ để thực Một thiết bị nhận toàn luồng liệu đến, thiết bị lại chờ tình trục trặc Hình 2.1: Kịch Active – Standby Nếu thiết bị hoạt động gặp trục trặc, thiết bị xác định trục trặc nhận xử lý toàn luồng liệu đến Hình 2.2: Hoạt động kịch Active - Standby - Kịch Active - Active Trong tất trường hợp, hai thiết bị chấp nhận xử lý luồng liệu đến Trong tình hai thiết bị gặp trục trặc thiết bị lại nhận thực thi chức thiết bị gặp trục trặc Hình 2.3: Kịch Active-Active 1.3.2 Hoạt động hệ thống cân tải server Ở phần tìm hiểu khái niệm thành phần hệ thống cân tải server Phần trình bày SLB hoạt động nhìn khía cạnh mạng Mô hình SLB đơn giản mô tả hình Hình 2.5: Hệ thống SLB đơn giản SLB mở rộng hiệu nǎng server ứng dụng, chẳng hạn Web server, nhờ phân phối yêu cầu client cho server nhóm (cluster) Các host nhóm đồng thời đáp ứng yêu cầu khác client, cho dù client đưa nhiều yêu cầu Mỗi host nhóm định mức tải mà xử lý tải phân phối cách đồng host Nhờ sử dụng việc phân phối tải này, server lựa chọn xử lý phần tải host Tải client gửi đến phân phối cho server nhận số lượng yêu cầu theo phần tải định Sự cân tải điều chỉnh động host tham gia vào rời khỏi nhóm 1.3.4 Phân phối lưu lượng SLB NAT (Network Address Translation) Như ta thấy hình máy khách có địa 188.1.1.100, VIP có địa 141.149.65.3 máy chủ web thực có địa 10.10.10.20 Để duyệt web, người dùng cuối sử dụng URL xác định vị trí website mà ánh xạ tới địa VIP 141.149.65.3 Gói liệu với địa nguồn 188.1.1.100 địa đích 141.149.65.3 Thiết bị cân tải thay trả lời yêu cầu từ máy khách, lưu lại gói liệu viết lại thông tin điều khiển gói liệu việc thay đổi địa đích gói liệu thành 10.10.10.20 cho chuyển tiếp gói liệu tới máy chủ web thật có địa 10.10.10.20 Như giai đoạn địa nguồn 188.1.1.100 đích 10.10.10.20 Máy chủ thực nhận yêu cầu gửi thông tin phản hồi tới người dùng cuối Trong giai đoạn địa nguồn trở thành 10.10.10.20 đích trở thành 188.1.1.100, nảy sinh vấn đề Người dùng bỏ qua gói tin đáp lại từ địa 10.10.10.20 kết nối không gửi đến máy có địa mà đến địa 141.149.65.3 SLB giải vấn đề cách thay đổi đường mặc định máy chủ thực thay đổi địa nguồn gói tín thành địa VIP 141.149.65.3 trước gửi trở lại máy khách Trong giai đoạn địa nguồn 141.149.65.3 đích 188.1.1.100 Với lần thay đổi thông tin cuối này, gói liệu hoàn thành chuyến khởi tạo thành công kết nối Nhìn từ phía máy khách, dường kết nối thông thường tới máy chủ, mà thực tế có vài đến hàng trăm máy chủ thực phía sau trả lời yêu cầu DSR (Direct server return) DSR phương pháp phân phối lưu lượng thiết bị cân tải từ kết nối bên Phương pháp phân phối làm tăng thực thi thiết bị cân tải việc giảm cách đáng kể lưu lượng qua thiết bị trình xử lý viết lại thông tin điều khiển gói liệu bước phần DSR làm điều việc bỏ qua giai đoạn bảng xử lý Bởi việc lợi dụng máy chủ thực phía gửi gói liệu với địa nguồn viết lại địa nguồn VIP DSR thực điều cách điều khiển khung liệu lớp để thực SLB Xử lý biết đến MAT (MAC Address Translation) Địa vật lý Card mạng (Network Interface Card – NIC): Đó số 48 bit, thường biểu diễn 12 số hexa (cơ số 16), 24 bit đầu mã số công ty sản xuất Card mạng, 24 bit sau số seri Card mạng hãng sản xuất Như người ta bảo đảm hai Card mạng trùng địa vật lý, nói xác số “Identification” Card mạng Trên mạng Ethernet, địa MAC giúp cho gói tin IP tìm thiết bị vật lý cần nhận gói tin Theo nguyên tắc hoạt động mạng tồn hai máy có địa IP hai địa MAC kết hợp tới địa IP Để giải vấn đề này, thay việc cấu hình địa IP VIP tới giao diện mạng máy chủ thực ta kết hợp với giao diên loopback Giao diện loopback giao diện ảo sử dụng cho việc truyền thông bên máy chủ thông thường tác động tới cấu hình hay hoạt động máy chủ Địa IP giao diện loopback thường 127.0.0.1, cấu hình nhiều địa IP giao diện (thường biết đến địa IP bí danh) giao diện loopback không nằm khả Như địa VIP cấu hình giao diện loopback mà không ảnh hưởng tới hoạt động mạng, không gây xung đột với máy chủ khác mạng Bước thực tế yêu cầu có lưu lượng tới giao diện loopback máy chủ thực Để giải vấn đề SLB sử dụng kĩ thuật gọi MAT (MAC address Translation) DSR sử dụng MAT để biến đổi địa MAC đích Máy chủ thông thường loại bỏ lưu lượng địa IP VIP, giải pháp SLB địa của VIP cấu hình giao diện loopback của máy chủ thực nên “lừa” máy chủ chấp nhận lưu lượng gửi tới NLB(Network load balancing) NLB dễ dàng cài đặt, cấu hình bảo dưỡng Có thể sử dụng phần cứng phần mền có máy tính không cần cài thêm phần mền Chúng ta sử dụng ứng dụng Network load balancing windows server để tạo,quản lí,điều khiển nhóm Một nhóm NLB bao gồm tối đa 32 server,được xem host.Mỗi host chạy ứng dụng giống để cung cấp tới client.NLB làm việc cách tạo host card mạng ảo đại diện cho nhóm(còn gọi card nhóm) Card ảo có địa IP địa MAC,độc lập với địa gán card mạng vật lý máy tính Client gửi yêu cầu đến địa IP nhóm thay gửi đến địa riêng host Khi gói tin yêu cầu client gửi tới địa IP nhóm tất server nhóm nhận xử lý gói tin Trên host nhóm NLB, dịch vụ NLB xem lọc card nhóm tầng giao thức TCP/IP máy tính.Bộ lọc tính toán định host nhóm nên đáp trả lại gói tin request từ client Mỗi host thực tính toán giống cách độc lập định nên xử lý gói yêu cầu không Thuật toán host sử dụng để tính toán thay đổi host thêm vào gỡ bỏ khỏi nhóm NLB có hai mode unicast multicast.Trong chế độ unicast NLB thay địa MAC card mạng vật lý server với địa MAC card mạng ảo đại diện cho nhóm Server không sử dụng địa MAC gốc nó,đây kết việc chuyển đổi từ card mạng vật lý sang card mạng nhóm ARP ánh xạ địa IP gốc server tới địa MAC card mạng gốc server địa IP nhóm tới địa MAC card nhóm Bởi card mạng tất server nhóm có chung địa MAC server nhóm giao tiếp với server khác theo cách thông thường (sử dụng địa MAC cá nhân nó).Tuy nhiên server giao tiếp với máy tính khác subnet giống nhau,và với máy tính subnet khác miễn IP datagrams không chứa địa MAC nhóm Đây trở ngại web server chuyên dụng giống nhau.Ví dụ không cần giao tiếp với webserver khác điều kiện bình thường.Tuy nhiên xác định cần thiết cho server nhóm NLB để giao tiếp với có hai giải pháp: Cấu hình sever nhóm chế độ multicast Trong chế độ multicast NLB gán địa MAC nhóm tới card mạng vật lý giữ lại địa MAC gốc.IP nhóm ánh xạ đến địa MAC nhóm,địa IP gốc server ánh xạ đến địa MAC gốc.Trong cấu hình Router mạng phải hỗ trợ sử dụng địa multicast Cài đặt thêm card mạng vật lý thứ hai server.Một số chúng trở thành card nhóm với địa MAC gốc thay đổi địa MAC nhóm.Cả hai địa IP nhóm IP gốc server ánh xạ đến địa MAC nhóm.Hệ thống không sử dụng địa MAC gốc.Giống card mạng đơn chế độ unicast,card nhóm giao tiếp với server khác nhóm.Card mạng thứ hai giữ lại địa MAC gốc gán địa IP bắt tay(handle) với tất mạng nhóm Tóm lại,một server nhóm NLB có card mạng nhiều card mạng,và chạy chế độ unicast multicast 1.3.5 Quá trình hội tụ SLB Các host nhóm trao đổi định kỳ tin "heartbeat" multicast broadcast với Điều cho phép host giám sát trạng thái nhóm 1.3.6 Giải pháp SLB dựa luân chuyển vòng DNS DNS viết tắt Domain Name System DNS Server máy chủ phân giải tên miền Mỗi máy tính, thiết bị mạng tham gia vào mạng Internet "nói chuyện" với địa IP (Internet Protocol) Để thuận tiện cho việc sử dụng dễ nhớ ta dùng tên (domain name) để xác định thiết bị Hệ thống tên miền DNS (Domain Name System) sử dụng để ánh xạ tên miền thành địa IP Vì vậy, muốn liên hệ tới máy, chúng cần sử dụng chuỗi ký tự dễ nhớ (domain name) như: google.com.vn, vnexpress.net, tuoitre.vn…thay sử dụng địa IP dãy số dài khó nhớ Hình bên mô tả trình truy cập vào website google có địa www.google.com.vn Khi nhập URL vào trình duyệt (ví dụ www.google.com.vn) trình duyệt gửi yêu cầu đến DNS yêu cầu trả địa IP site Đây gọi việc tra cứu DNS Sau trình duyệt Web có địa IP cho site liên hệ với site địa IP, hiển thị trang vừa yêu cầu Máy chủ DNS thường có địa IP đồ hóa với tên site Trong ví dụ giả sử site www.google.com.vn đồ hóa thành địa IP 74.125.71.99 Để cân tải DNS, máy chủ DNS phải trình số địa IP khác cho tên site Nhiều địa IP thể nhiều máy cluster, tất số chúng đồ hóa đến tên site logic Trong ví dụ này, www.google.com.vn cấu hình sáu máy chủ cluster với địa IP đây: 74.125.71.99 74.125.71.103 74.125.71.104 74.125.71.105 74.125.71.106 74.125.71.147 Trong trường hợp này, máy chủ DNS đồ hóa sau: www.google.com.vn 74.125.71.99 www.google.com.vn 74.125.71.103 www.google.com.vn 74.125.71.104 www.google.com.vn 74.125.71.105 www.google.com.vn 74.125.71.106 www.google.com.vn 74.125.71.147 Khi yêu cầu đến máy chủ DNS, trả địa IP 74.125.71.99, máy Khi có yêu cầu thứ hai, trả địa IP thứ hai: 74.125.71.103 Tiếp tục vậy, với yêu cầu thứ bảy, địa IP lại lặp lại Bằng cách sử dụng luân chuyển vòng DNS trên, tất yêu cầu site phân phối đến tất máy cluster Chính vậy, với phương pháp cân tải này, tất nút cluster sử dụng Nhược điểm phương pháp này: Có hai nhược điểm phương pháp không cung cấp hỗ trợ mối quan hệ thời gian thực máy chủ với không hỗ trợ khả có sẵn cao KẾT LUẬN Cân tải Server vấn đề quan trọng phát triển công nghệ mạng Chính vậy, việc thực đề tài “Cân băng tải server” có đóng góp mặt lý thuyết mặt công nghệ việc tìm hiểu xây dựng hệ thống cân tải máy chủ Sau kết mà đề tài đạt được: • Trình bày tổng quan mạng máy tính giao thức mạng • Trình bày yêu cầu cấp thiết đặt cho tổ chức, doanh nghiệp việc xậy dựng hệ thống mạng, máy chủ có khả phục vụ yêu cầu ngày cao khả mở rộng dễ dành, tính sẵn sàng cao có khả hoạt động hệ thống xảy cố • Trình bày chi tiết công nghệ, cách thức phân phối lưu lượng hệ thống SLB ưu nhược điểm công nghệ để từ giúp nhà quản trị có định đắn việc xây dựng giải pháp cho tổ chức • Trong đề tài thực triển khai giải pháp cân tải dựa công nghệ DNS round robin Nhằm đưa nhìn rõ ràng hoạt động hệ thống cân tải Tài liệu tham khảo Tài liệu tiếng việt [1] Vũ Duy Lợi (2002), Mạng thông tin máy tính, NXB Thế giới [2] Vương Đạo Vi, Mạng truyền liệu NXB Đại Học Quốc Gia Hà Nội Tài liệu tiếng Anh [3] Paul Albitz, Cricket Liu, DNS and BIND, Fourth Edition, 2001 [4] Tony Bourke, Server Load Balancing, O'Reilly & Associates [5].http://en.wikipedia.org/wiki/Load_balancing_(computing) [...]... giữa các máy chủ với nhau và không hỗ trợ khả năng có sẵn cao KẾT LUẬN Cân bằng tải Server là một vấn đề quan trọng trong sự phát triển của công nghệ mạng Chính vì vậy, việc thực hiện đề tài Cân băng tải server đã có những đóng góp về mặt lý thuyết cũng như về mặt công nghệ trong việc tìm hiểu và xây dựng các hệ thống cân bằng tải máy chủ Sau đây là những kết quả chính mà đề tài đã đạt được: • Trình... pháp cân bằng tải dựa trên công nghệ DNS round robin Nhằm đưa ra một cái nhìn rõ ràng hơn về hoạt động của một hệ thống cân bằng tải Tài liệu tham khảo Tài liệu tiếng việt [1] Vũ Duy Lợi (2002), Mạng thông tin máy tính, NXB Thế giới [2] Vương Đạo Vi, Mạng truyền dữ liệu NXB Đại Học Quốc Gia Hà Nội Tài liệu tiếng Anh [3] Paul Albitz, Cricket Liu, DNS and BIND, Fourth Edition, 2001 [4] Tony Bourke, Server. .. tổ chức, doanh nghiệp trong việc xậy dựng một hệ thống mạng, máy chủ có khả năng phục vụ được các yêu cầu ngày càng cao của mình như khả năng mở rộng dễ dành, tính sẵn sàng cao vẫn có khả năng hoạt động khi hệ thống xảy ra sự cố • Trình bày được chi tiết các công nghệ, cách thức phân phối lưu lượng trong các hệ thống SLB và ưu nhược điểm của từng công nghệ để từ đó giúp các nhà quản trị có những quyết... tra cứu DNS Sau khi trình duyệt Web có được địa chỉ IP cho site thì nó sẽ liên hệ với site bằng địa chỉ IP, và hiển thị trang vừa yêu cầu Máy chủ DNS thường có một địa chỉ IP được bản đồ hóa với một tên site nào đó Trong ví dụ này giả sử thì site là www.google.com.vn bản đồ hóa thành địa chỉ IP là 74.125.71.99 Để cân bằng tải bằng DNS, máy chủ DNS phải duy trình một số địa chỉ IP khác nhau cho cùng một... Domain Name System DNS Server là máy chủ phân giải tên miền Mỗi máy tính, thiết bị mạng tham gia vào mạng Internet đều "nói chuyện" với nhau bằng địa chỉ IP (Internet Protocol) Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên (domain name) để xác định thiết bị đó Hệ thống tên miền DNS (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP Vì vậy, khi muốn liên hệ tới các máy, chúng... nhóm,địa chỉ IP gốc của server sẽ ánh xạ đến địa chỉ MAC gốc.Trong cấu hình này Router trên mạng phải hỗ trợ sử dụng địa chỉ multicast Cài đặt thêm một card mạng vật lý thứ hai trên mỗi server. Một trong số chúng sẽ trở thành card nhóm với địa chỉ MAC gốc của nó được thay đổi bởi địa chỉ MAC nhóm.Cả hai địa chỉ IP nhóm và IP gốc của server sẽ được ánh xạ đến địa chỉ MAC nhóm .Hệ thống không sử dụng địa... tiên lại được lặp lại Bằng cách sử dụng luân chuyển vòng DNS như ở trên, tất cả các yêu cầu đối với một site nào đó đều được phân phối đều đến tất cả các máy trong cluster Chính vì vậy, với phương pháp cân bằng tải này, tất cả các nút trong cluster đều được sử dụng Nhược điểm của phương pháp này: Có hai nhược điểm chính của phương pháp này là nó không cung cấp sự hỗ trợ mối quan hệ thời gian thực giữa... nhóm .Hệ thống không sử dụng địa chỉ MAC gốc.Giống như card mạng đơn trong chế độ unicast,card nhóm không thể giao tiếp với những server khác trong nhóm.Card mạng thứ hai giữ lại địa chỉ MAC gốc và gán địa chỉ IP và bắt tay(handle) với tất cả các mạng ngoài nhóm Tóm lại,một server trong một nhóm NLB có thế có một card mạng hoặc nhiều card mạng,và có thế chạy ở chế độ unicast hoặc multicast 1.3.5 Quá