Kỹ thuật cân bằng tải lưu lượng Hiện nay, khi nhu cầu truy nhập mạng bùng nổ, các server cung cấp dịch vụ đang trở nên quá tải 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[.]
Kỹ thuật cân tải lưu lượng Hiện nay, nhu cầu truy nhập mạng bùng nổ, server cung cấp dịch vụ trở nên tải 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 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 Có nhiều hãng đưa giải pháp cân tải Cisco, Coyote Point, Sun Microsystems với nhiều tính nóng phong phú Tuy nhiên, bản, nguyên tắc cân tải xuất phát từ quan điểm kỹ thuật tương đồng Giới thiệu Hiện nay, nhu cầu truy nhập mạng bùng nổ, server cung cấp dịch vụ trở nên tải 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 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 Có nhiều hãng đưa giải pháp cân tải Cisco, Coyote Point, Sun Microsystems với nhiều tính nǎng phong phú Tuy nhiên, bản, nguyên tắc cân tải xuất phát từ quan điểm kỹ thuật tương đồng Một kỹ thuật cân tải điển hình RRDNS (Round Robin DNS) Với giải pháp này, server nhóm bị lỗi, RRDNS tiếp tục gửi tải cho server người quản trị mạng phát lỗi tách server khỏi danh sách địa DNS Điều gây đứt quãng dịch vụ Sau phát triển, từ thuật toán cân tải tĩnh Round Robin, Weighted Round Robin đến thuật toán cân tải động Least Connection, Weighted Least Connection, Optimized Weighted Round Robin Optimized Weighted Least Connection, kỹ thuật cân tải nhờ kết hợp thuật tốn ngày trở nên hồn thiện nhược điểm vốn có tạo điểm lỗi đơn vấn đề nút cổ chai sử dụng điều phối tập trung (centralized dispatcher) Bài báo giới thiệu giải pháp mà Microsoft sử dụng cho web server chạy website Microsoft.com, kỹ thuật cân tải mạng (NLB - Network Load Balancing) Ngoài khả nǎng áp dụng với Web server, kỹ thuật áp dụng với hệ server ứng dụng khác NLB không làm nhiệm vụ phân phối tải cho server mà còn cung cấp chế đảm bảo hệ thống server tính ln khả dụng trước client NLB khơng có u cầu đặc biệt phần cứng, máy tính hợp chuẩn sử dụng làm server Chi phí triển khai nhờ giảm đáng kể Kiến trúc phần mềm phân tán NLB cho phép cung cấp hiệu nǎng tính khả dụng kỹ thuật mức cao NLB hoạt động NLB 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 server (hay cịn gọi host) nhận gói IP đến, gói xử lý server định Các host nhóm đồng thời đáp ứng yêu cầu khác client, cho dù client đưa nhiều u cầu Ví dụ, trình duyệt Web cần nhiều hình ảnh trang Web lưu trữ nhiều host khác nhóm server Với kỹ thuật cân tải, trình xử lý thời gian đáp ứng client nhanh nhiề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 Đối với ứng dụng Web server, có nhiều client thời gian mà yêu cầu client tồn tương đối ngắn, khả nǎng kỹ thuật nhằm phân phối tải thông qua ánh xạ thống kê giúp cân cách hiệu tải cung cấp khả nǎng đáp ứng nhanh nhóm server có thay đổi Các server nhóm cân tải phát tin đặc biệt thông báo trạng thái hoạt động (gọi heartbeat message) tới host khác nhóm đồng thời nghe tin từ khác host khác Nếu server nhóm gặp trục trặc, host khác điều chỉnh tái phân phối lại tải để trì liên tục dịch vụ cho client Trong phần lớn trường hợp, phần mềm client thường tự động kết nối lại người sử dụng cảm thấy trễ vài giây nhận đáp ứng trả lời Kiến trúc hệ thống cân tải Để tối đa hố thơng lượng độ khả dụng, công nghệ cân tải sử dụng kiến trúc phần mềm phân tán hồn tồn, trình điều khiển cân tải cài đặt chạy song song tất host nhóm Trình điều khiển xếp tất host nhóm vào mạng để phát đồng thời lưu lượng mạng đến địa IP nhóm (và địa bổ sung host nhiều vị trí khác nhau) Trên host, trình điều khiển hoạt động lọc trình điều khiển card mạng chồng giao thức TCP/IP, cho phép phần lưu lượng mạng đến nhận host Nhờ đó, yêu cầu client phân vùng cân tải host nhóm Hệ thống cân tải chạy trình điều khiển mạng (về mặt logic) nằm giao thức lớp ứng dụng HTTP hay FTP Hình sau cho thấy việc triển khai hệ thống cân tải trình điều khiển trung gian chồng giao thức mạng Windows2000 host nhóm Kiến trúc tối đa hoá dung lượng nhờ việc sử dụng mạng quảng bá để phân phối lưu lượng mạng đến tất host nhóm loại bỏ cần thiết phải định tuyến gói đến host riêng lẻ Do thời gian lọc gói khơng mong muốn diễn nhanh thời gian định tuyến gói (định tuyến bao gồm q trình nhận gói, kiểm tra, đóng gói lại gửi đi), kiến trúc cung cấp thông lượng cao giải pháp dựa điều phối Khi tốc độ mạng server tǎng lên, thông lượng tǎng theo tỉ lệ thuận, loại bỏ lệ thuộc vào việc định tuyến dựa phần cứng đặc biệt Trên thực tế, cân tải đạt thơng lượng 250Mbit/s mạng Gigabit Một ưu điểm khác kiến trúc phân tán hoàn toàn độ khả dụng tǎng cường với (N-1) cách khắc phục lỗi nhóm có N host Các giải pháp dựa điều phối tạo điểm lỗi kế thừa mà khắc phục cách sử dụng điều phối dự phịng cung cấp cách khắc phục lỗi Kiến trúc cân tải tận dụng ưu điểm kiến trúc thiết bị chuyển mạch (switch) và/hoặc tập trung (hub) mạng việc đồng thời phân phối lưu lượng mạng đến tất cac host nhóm Tuy nhiên, phương pháp làm tǎng "tải trọng" chuyển mạch chiếm thêm bǎng thông cổng Đây vấn đề phần lớn ứng dụng dịch vụ Web hay streaming media, tỉ lệ lưu lượng đến chiếm phần nhỏ tổng lưu lượng mạng Tuy nhiên, kết nối mạng phía client đến thiết bị chuyển mạch có tốc độ nhanh nhiều kết nối phía server, lưu lượng chiếm tỉ lệ lớn mức cho phép bǎng thông cổng phía server Vấn đề tương tự gia tǎng nhiều nhóm kết nối thiết bị chuyển mạch biện pháp thiết lập mạng LAN ảo cho nhóm khơng thực Trong q trình nhận gói, việc triển khai NLB kết hợp việc phân phối gói tới tầng TCP/IP nhận gói khác qua trình điều khiển card mạng Việc giúp tǎng tốc độ xử lý chung giảm trễ TCP/IP xử lý gói trình điều khiển NDIS (Network Driver Interface Specification) nhận gói Trong q trình gửi gói, NLB tǎng cường thơng lượng, giảm độ trễ phụ phí (overhead) nhờ tǎng số lượng gói mà TCP/IP gửi kết nối Để có cải thiện hiệu nǎng này, NLB thiết lập quản lý tập hợp đệm gói ký hiệu (descriptor) sử dụng để phối hợp hoạt động TCP/IP trình điều khiển NDIS Phân phối lưu lượng nhóm NLB sử dụng hai lớp broadcast multicast để phân phối đồng thời lưu lượng mạng đến tất host nhóm Trong chế độ hoạt động mặc định unicast, NLB gán địa trạm làm việc (địa MAC) cho card mạng để card mạng hoạt động (card gọi card nhóm ? cluster adapter), tất host nhóm gán địa MAC Các gói đến nhận tất host nhóm chuyển gói tới trình điều khiển cân tải để lọc Để đảm bảo tính nhất, địa MAC dẫn xuất từ địa IP nhóm Ví dụ, với địa IP nhóm 1.2.3.4, địa MAC unicast đặt 02BF-1-2-3-4 Trình điều khiển cân tải tự động sửa địa MAC card nhóm cách thiết lập thực thể đǎng ký tái nạp trình điều khiển card nhóm Hệ điều hành khơng cần phải khởi động lại Nếu host cluster gắn vào thiết bị chuyển mạch (swicth) tập trung (hub), việc sử dụng chung địa MAC gây xung đột chuyển mạch lớp hoạt động địa MAC nguồn tất cổng thiết bị chuyển mạch Để tránh điều này, NLB sửa địa MAC nguồn cho gói đầu nhất, địa MAC nhóm 02-BF-1-2-3-4 chuyển thành 02-h-1-2-3-4, h mức ưu tiên host nhóm Kỹ thuật ngǎn khơng cho thiết bị chuyển mạch tìm địa MAC thực nhóm kết gói đến nhóm phân phối tới tất cổng thiết bị chuyển mạch Nếu host nhóm kết nối trực tiếp vào hub, mặt nạ địa MAC nguồn NLB chế độ unicast vơ hiệu hố để tránh gây tượng tràn cho thiết bị chuyển mạch đường lên (upstream) Điều thực cách thiết lập tham số đǎng ký NLB MaskSourceMAC=0 Việc sử dụng hệ thống chuyển mạch đường lên ba mức hạn chế tràn cho thiết bị chuyển mạch Chế độ unicast NLB làm vơ hiệu hố q trình trao đổi thơng tin host nhóm có sử dụng card nhóm Khi gói host gửi với địa MAC đích giống địa MAC nguồn, gói bị quay vịng (loop-back) tầng giao thức mạng bên hệ thống phía gửi không đến đường truyền Hạn chế tránh cách thêm card mạng thứ hai cho host Trong cấu hình này, NLB sử dụng card mạng mạng nhận yêu cầu client card mạng khác thường đặt tách biệt mạng cục để trao đổi thơng tin host nhóm với server sở liệu file server gốc NLB sử dụng card nhóm để truyền tin "heartbeat" lưu lượng điều khiển từ xa Chú ý rằng, trao đổi thông tin host nhóm host ngồi nhóm khơng bị ảnh hưởng chế độ unicast NLB Lưu lượng mạng đến địa IP dành riêng cho host (trong card nhóm) nhận tất host nhóm chúng sử dụng chung địa MAC Do NLB không cân tải lưu lượng địa IP dành riêng, NLB phân phối lưu lượng đến TCP/IP host định Các host khác nhóm coi lưu lượng lưu lượng cân tải loại bỏ lưu lượng Chú ý, lưu lượng mạng đến lớn địa IP dành riêng ảnh hưởng đến hiệu nǎng hệ thống NLB hoạt động chế độ unicast (tuỳ theo cần thiết TCP/IP việc loại bỏ gói khơng mong muốn) NLB cung cấp chế độ thứ hai để phân phối lưu lượng mạng đến host nhóm, chế độ multicast Chế độ gán địa multicast lớp cho card nhóm thay thay đổi địa trạm làm việc ... MAC Do NLB không cân tải lưu lượng địa IP dành riêng, NLB phân phối lưu lượng đến TCP/IP host định Các host khác nhóm coi lưu lượng lưu lượng cân tải loại bỏ lưu lượng Chú ý, lưu lượng mạng đến... Giải pháp cân tải Có nhiều hãng đưa giải pháp cân tải Cisco, Coyote Point, Sun Microsystems với nhiều tính nǎng phong phú Tuy nhiên, bản, nguyên tắc cân tải xuất phát từ quan điểm kỹ thuật tương... Giải pháp cân tải Có nhiều hãng đưa giải pháp cân tải Cisco, Coyote Point, Sun Microsystems với nhiều tính nóng phong phú Tuy nhiên, bản, nguyên tắc cân tải xuất phát từ quan điểm kỹ thuật tương