1. Tổng quan về tính năng Network Load Balancing Trước hết, bạn phải hiểu rằng, công nghệ NLB khác với công nghệ Cluster. Có thể hiểu nôm na rằng, công nghệ Cluster là công nghệ kết chùm các máy tính để tạo một máy công suất lớn, còn công nghệ NLB chỉ có tác dụng cân bằng tải, nên chỉ có ý nghĩa thực sự khi nó phục vụ các tác vụ liên quan đến mạng như web sever, mail sever, ftp sever, không có ý nghĩa gì đối với các ứng dụng local, yêu cầu xử lý cục bộ. Khi các máy tham gia chùm server chạy dịch vụ NLB, thi ngoài địa chỉ IP của chính nó, nó còn có địa chỉ IP chung của chùm. Địa chỉ IP chung của chùm này là địa chỉ dùng để nhận các yêu cầu từ máy khách. Sau đó dịch vụ NLB sẽ phân phối đều các yêu cầu này đến từng máy chủ trong chùm. Ví dụ như, nếu bạn có 2 máy chủ làm web server chạy IIS, với 2 web site có cùng nội dung, khi 1 máy khách yêu cầu kết nối đến địa chỉ IP của chùm, 1 trong 2 máy chủ sẽ hồi đáp lời thỉnh cầu đó. Khi máy khách thứ 2 yêu cầu kết nối đến địa chỉ IP của chùm, sẽ đến lượt máy chủ thws 2 hồi đáp...và cứ luân phiên như vậy... Lấy ví dụ như web site dantri.com, nội dung của web site được lưu trên 2 máy chủ 1 và 2 hoàn toàn giống nhau. Địa chỉ IP của máy chủ 1 là 192.168.10.1 và của máy chủ 2 là 192.168.10.2, thì khi thực hiện NLB, 2 máy chủ này phải có thêm 1 địa chỉ IP chung là 192.168.10.3 (có thể bất kỳ, miễn là cùng lớp mạng). Địa chỉ IP chung này phải được gắn với tên dantri.com trong DNS server. Khi yêu cầu từ 1 trình duyệt nào đó đòi xem trang dantri.com, nó sẽ gửi yêu cầu đến 192.168.10.3, tại đó dịch vụ NLB sẽ gửi yêu cầu đó đến máy chủ 1. khi yêu cầu thứ 2 được gửi đến, NLB sẽ gửi yêu cầu này đến máy chủ 2. Vì nội dung web site của dantri.com hoàn toàn giống nhau trên 2 máy chủ nên người dùng không thể biết được là đang do máy chủ nào cung cấp, nhưng chắc chắn tốc độ sẽ được cải thiện bởi không phải chờ máy chủ 1 . Cứ như vậy luân phiên nhau, mỗi máy chủ đáp ứng 1 nửa các yêu cầu xem nội dung web site dantri.com 2. Các bước cần chuẩn bị để xây dựng 1 chùm server dựa trên công nghệ NLB Phần này hẹn bạn khi khác, bởi có thể phải có ảnh minh họa. Nói chung các bước xây dựng ko khó lắm, ý thì rất ngắn nhưng hướng dẫn chi tiết thì rất dài. Để chạy NLB, bạn phải Enable nó trong sevices. Để kết chùm, tại mỗi máy bạn xem Properties của card mạng, đánh dấu vào ô Network Load Balancing, chọn Properties. Tiếp theo bạn có thể đặt các địa chỉ IP riêng của máy và IP chung của chùm thông qua cửa sổ Network Load Balancing properties đó. Rất nhanh đúng ko? Còn bạn phải tự xây dựng 1 DNS server để nó có thể phân giải tên của chùm sang địa chỉ IP chung của chùm...Cái này thì mình ko nói chi tiết được, bạn nên tham khảo thêm trong forum. Hôm nay xin post tiếp phần còn lại, mong bà con ủng hộ. Những thứ mà bạn cần để xây dựng demo là bạn cần phải có 2 máy, đáp ứng các yêu cầu sau: 1. Mỗi máy sẽ phải có 1 địa chỉ IP tĩnh, khi thực hành nên chọn dải 192.168.1.0 2. Cần thêm 1 địa chỉ IP tĩnh nữa để dùng làm địa chỉ IP cùng chung của chùm. 3. Bạn sẽ phải có 1 cái tên DNS dành cho chùm, ví dụ như NLB.nhatnghe.com. Đề mục tên DNS đó phải có trong cơ sở dữ liệu DNS, và phải tương ứng với địa chỉ IP của chùm (nếu bạn nào chưa rành DNS, nên tham khảo nó trước, nếu ko sẽ rất khó hiểu!) 4. Bạn phải xác định loại dịch vụ nào sẽ chạy trên chùm, ví dụ web server. Khi đó, bạn sẽ phải cài đặt dịch vụ này trên cả 2 máy. Trong trường hợp web server, phải cài IIS trên cả 2 máy của chùm.
Bước tiếp theo là chuẩn bị 1 vài nội dung cần thiết trước khi kết chùm: 1. Máy 1 bạn đặt tên là nhatnghe1, có địa chỉ IP là 192.168.1.11 2. Máy còn lại đặt tên là nhatnghe2, có địa chỉ IP là 192.168.1.12 3. Địa chỉ IP của chùm là 192.168.1.13 (địa chỉ default gateway là 192.168.1.1) Chú ý rằng. NLB là 1 công cụ rất tuyệt vời, nhưng nó cũng đòi hỏi rất khắt khe để cấu hình, bạn sẽ gặp vài lỗi rất lạ khi cấu hình nó. Bởi vậy, bạn phải làm cho 2 server đó chạy ở dạng hoàn hảo nhất rồi mới thiết lập NLB. Bước tiếp theo là xây dựng DNS server. Đến đây bạn phải tự làm lấy. Sau khi xây dựng xong rồi, bạn phải tạo 1 bản ghi A, ánh xạ cái tên NLB.nhatnghe.com đến địa chỉ 192.168.1.13 Cài đặt NLB----trên 2 máy như nhau. Ở đây ta cấu hình nhatnghe1 trước Bạn mở khung thoại Properties của card mạng ra. Bạn để ý thấy rằng, dịch vụ có tên Network Load Balancing đã bị bỏ duyệt (uncheck). Bạn hãy duyệt nó, rồi chọn Properties. 1. Ở tab Cluster parameters, bạn chỉ chú ý trường Full Internet Name, phải nhập vào tên chùm là NLB.nhatnghe.com, các thông số IP, netmask nhập như đã nói ở trên (192.168.1.13, 255.255.255.0), các thông số khác để nguyên. 2. Ở tab Host parameters, chú ý độ ưu tiên là 2 (priority=2), các thông số khác đặt như đã nói ở trên. (tạm gác tý đã...khuya quá rồi...!)
Trước hết tui xin lỗi bạn caothubithatbai vì đã chen ngan vào bài của bạn. Tôi được phép trình bày lại bài viết này nha. I - Network Load Balancing và Clustering: Network Load Balancing (NLB) và Clustering đều nhắm đến mục tiêu chung: - Tổng hợp sức mạnh từ nhiều nguồn đơn lẻ - Xây dựng hệ thống có độ sẵn sàng cao (high available) Tuy nhiên cách làm lại hoàn toàn khác nhau. Trước hết ta xét một ví dụ đời thường để có khái niệm về vấn đề này: 1 cty bán vé máy bay gồm có 2 bộ phận reception và booking. Bộ phận reception có 4 nhân viên, các nhân viên này hoạt động tương đối độc lập nhau để tư vấn và trả lời thắc mắc cho khách hàng, khi có 1 nhiên viên nghỉ việc, 3 người kia gánh tải dùm. Bộ phận Booking cũng có 4 nhân viên, nhưng 4 người này phải phối hợp chặt chẽ với nhau khi bán vé vì máy bay chỉ có 1 chiếc! hay nói cách khác 4 người này đang dùng chung 1 database. Như vậy bộ phận reception đang hoạt động theo cơ chế NLB và booking thì hoạt động theo clustering. II - Network Load Balancing:
1 - Inbound: a - Dùng DNS Round Robind Trong DNS tạo 1 host name ứng với nhiều IP, ví dụ www IN A 210.245.0.21 www IN A 210.245.0.22 www IN A 210.245.31.21 www IN A 210.245.31.22 Khi có truy vấn, DNS sẽ xáo trộn thứ tự các IP rồi trả kết quả cho client. Client thông thường sẽ sử dụng IP đầu tiên do server trả về. Hình ảnh này đã được thay đổi kích thước. Click vào đây để xem hình ảnh gốc với kích thước là 669x331 1.
Trong ví dụ này ta thấy, cùng 1 hostname vnexpress.net nhưng có đến 4 IP, mỗi IP ứng với 1 (hoặc nhiều server). Khi client truy vấn vnexpress.net, DNS của vnexpress sẽ xáo trộn thứ tự các IP trước khi trả kết quả về cho client. Ngoài ra DNS cò có 1 khả năng đặt biệt là "subnet mask ordering" : Trong kết quả trả về DNS sẽ ưu tiên đưa IP cùng net với user lên vị trí số 1. Để làm gì vây? Webserver của tôi có 3 đường kết nối internet: VNN(222.x.x.x), FPT (58.x.x.x),
Viettel (203.x.x.x), nếu client sử dụng internet của FPT, DNS server sẽ ưu tiên trả IP 58.x.x.x về cho client, vì client vào bằng đường FPT sẽ nhanh hơn đường VNN b - Dùng NLB của Windows c - Third party tool 2 - Outbound: III - Clustering: