3.2.1. Ưu điểm của phương pháp luân chuyển vòng DNS
Không đắt và dễ dàng thiết lập: Các quản trị viên hệ thống chỉ cần tạo một số thay
đổi trong máy chủ DNS để hỗ trợ được việc luân chuyển vòng, và nhiều máy chủ DNS đã có sự hỗ trợ này. Nó không yêu cầu đến sự thay đổi mã của ứng dụng Web; trong thực tế, các ứng dụng Web không hề biết về cơ chế cân bằng tải mà nó bị thực hiện.
Đơn giản: Phương pháp này không yêu cầu đến các chuyên gia về mạng trong việc thiết
lập hoặc giỡ rối hệ thống trong trường hợp có vấn đề nào đó xay ra.
3.2.2. 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 dựa trên phần mềm này là nó không cung cấp sự hỗ trợ mối quan hệ thời gian thực giữa các máy chủ với nhau và không hỗ trợ khả năng có sẵn cao.
Không hỗ trợ mối quan hệ thời gian thực giữa các máy chủ. Mối quan hệ thời gian
thực giữa các máy chủ là khả năng của hệ thống trong việc quản lý các yêu cầu của người dùng, máy chủ này hoặc bất kỳ máy chủ nào, phụ thuộc vào thông tin session được duy trì trên máy chủ hoặc tại mức cơ sở bản, mức cơ sở dữ liệu.
Không có được khả năng hỗ trợ mối quan hệ giữa các máy chủ, phương pháp luân chuyển vòng DNS dựa vào một trong ba phương pháp đã được đưa ra để duy trì sự kiểm soát session hoặc sự nhận dạng người dùng đối với các yêu cầu đang đến trên HTTP.
• Các cookie • Các trường ẩn • Viết lại URL
Khi một người dùng thực hiện một yêu cầu đầu tiên, máy chủ Web sẽ trả một thẻ bằng văn bản duy nhất để phân biệt người dùng đó. Các yêu cầu tiếp theo có thẻ này để sử dụng cookie, viết lại URL hoặc các trường ẩn, cho phép máy chủ xuất hiện để duy trì một session giữa máy khách và máy chủ. Khi người dùng thiết lập một session với một máy chủ, thì tất cả các yêu cầu đến sau thường đều đi đến cùng một máy chủ.
Vấn đề ở đây là trình duyệt lưu địa chỉ IP của máy chủ đó. Khi Cache hết hạn, trình duyệt sẽ thực hiện một yêu cầu khác đối với máy chủ DNS để có được địa chỉ IP có liên kết với tên miền. Nếu máy chủ DNS trả về một địa chỉ IP khác, một máy chủ khác trong cluster, thì các thông tin về session sẽ bị mất.
Không hỗ trợ cho khả năng có sẵn cao. Xem xét một cluster có n nút. Nếu một nút
nào đó gặp vấn đề thì cứ yêu cầu thứ n đến máy chủ DNS đều hướng bạn đến một nút hỏng này. Một router thông minh có thể giải quyết được vấn đề này bằng cách kiểm tra các nút ở các khoảng thời gian nào đó, phát hiện ra các nút bị hỏng và gỡ bỏ chúng ra khỏi danh sách, chính vì vậy sẽ không có yêu cầu nào được gửi đến chúng nữa. Tuy vậy, vấn đề ở đây vẫn tồn tại nếu nút vẫn có nhưng ứng dụng Web đang chạy trên nút đã bị hỏng.
Thay đổi cluster sẽ mất nhiều thời gian để truyền bá đến toàn bộ phần còn lại của Inter- net. Một lý do ở đây là trong nhiều tổ chức lớn – các ISP, các công ty, hay đại lý – lưu các yêu cầu DNS của họ để giảm lưu lượng mạng và thời gian request. Khi người dùng bên trong các tổ chức như vậy thực hiện một request thì hệ thống sẽ được kiểm tra danh sách các tên DNS của Cache đã được bản đồ hóa địa chỉ IP. Nếu hệ thống phát hiện thấy một entry nào thì nó sẽ trả địa chỉ IP về cho người dùng. Nếu nó không phát hiện thấy entry nào trong Cache nội bộ thì ISP sẽ gửi request DNS này đến máy chủ DNS và lưu sự đáp trả.
Khi một entry đã được lưu hết hạn, ISP sẽ nâng cấp cơ sở dữ liệu nội bộ của nó bằng cách liên hệ với các máy chủ DNS khác. Khi danh sách các máy chủ của bạn thay đổi, nó có thể cần đến một khoảng thời gian ngắn cho các entry đã được lưu trên mạng của các tổ chức khác hết hạn và tìm kiếm danh sách các máy chủ đã được cập nhật. Trong suốt chu trình này, máy khách vẫn có thể thực hiện hành động “hit” nút máy chủ bị hỏng, nếu ISP của máy khách đó vẫn có một entry trỏ đến nó. Trong trường hợp như
vậy, một số người dùng của ISP đó không thể truy cập vào site của bạn từ những lần truy cập ban đầu, thậm trí nếu cluster của bạn có các máy chủ dư thừa vẫn đang hoạt động.
Một vấn đề còn lớn hơn xuất hiên khi gỡ bỏ (removing) một nút so với việc bổ sung. Khi bạn bớt đi một nút, người dùng có thể đang thực hiện “hit” một máy chủ không tồn tại. Còn khi bạn thêm một nút thì máy chủ đó vẫn chưa được sử dụng cho tới khi địa chỉ IP của nó đến được tất cả các máy chủ DNS.
Mặc dù phương pháp này có thể cân bằng được một số lượng người dùng trên mỗi máy chủ, nhưng nó không hoàn toàn cân bằng tải máy chủ. Một số người dùng có thể yêu cầu mức tải cao hơn trong suốt một session của họ so với những người dùng khác ở trên máy chủ khác, và phương pháp này không thể bảo đảm chống lại được sự bất công bằng đó.
3.3. Demo giải pháp SLB dựa trên DNS round robinCân bằng tải máy chủ web Cân bằng tải máy chủ web
Sử dụng một bản ghi A có thể thực hiện cân bằng tải web Server theo hai cách.
1. Định nghĩa nhiều bản ghi A với cùng một tên và các điạ chỉ IP khác nhau như ví dụ dưới đây.
; BIND data file for LAN interface ;
$TTL 604800
@ IN SOA dns.coltech.vnu.edu.vn. thangdn@.localhost. (
1 ; Serial
604800 ; Refresh
2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS coltech.vnu.edu.vn. IN NS 203.113.130.200 www IN A 203.113.130.201 IN A 203.113.130.202 IN A 203.113.130.203
2. Định nghĩa các bản ghi A tương ứng tên của từng máy chủ web với địa chỉ IP của nó. Sau đó sử dụng một bản ghi CNAME thực hiện cân bằng tải như sau.
www0 IN A 203.113.130.201 www1 IN A 203.113.130.202 www2 IN A 203.113.130.203 www IN CNAME www0. coltech.vnu.edu.vn. IN CNAME www1.coltech.vnu.edu.vn. IN CNAME www2. coltech.vnu.edu.vn.
Kết quả kiểm tra như sau.
root@dns-server: ~ #
root@dns-server: ~ # nslookup www.coltech.vnu.edu.vn Server: 127.0.0.1
Address: 127.0.0.1#53 Name: www.coltech.vnu.edu.vn
Address: 203.113.130.202
Name: www.coltech.vnu.edu.vn Address: 203.113.130.203
Name: www.coltech.vnu.edu.vn Address: 203.113.130.201
root@dns-server: ~ # nslookup www.coltech.vnu.edu.vn Server: 127.0.0.1 Address: 127.0.0.1#53 Name: www.coltech.vnu.edu.vn Address: 203.113.130.203 Name: www.coltech.vnu.edu.vn Address: 203.113.130.201 Name: www.coltech.vnu.edu.vn Address: 203.113.130.202 root@dns-server: ~ #
Như kết quả thu được khi tiến hành kiểm tra. Sau mỗi lần truy vấn địa chỉ www.coltech.vnu.edu.vn máy chủ dns trả lời với một địa chỉ ip trong nhóm đã được ánh xạ với tên miền www.coltech.vnu.edu.vn theo cơ chế luân chuyển vòng tròn. Như vậy tất cả các máy chủ trong nhóm đều được phân tải một cách đồng đều.
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ông nghệ 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 bày tổng quan về mạng máy tính và các giao thức mạng.
• Trình bày được các yêu cầu cấp thiết đặt ra cho các 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 định đúng đắn trong việc xây dựng giải pháp cho tổ chức của mình.
• Trong đề tài cũng thực hiện triển khai giải pháp cân bằng tải dựa trên công nghệ DNS round robin. Nhằn đư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.
Trong phạm vi một luận văn, do hạn chế về thời gian nghiên cứu và các yếu tố khách quan khác, một số vấn đề liên quan của đề tài vẫn chưa giải quyết được trọn vẹn.
Qua kết quả đạt được của luận văn cũng như các vấn đề chưa giải quyết được, em xin đề xuất cho hướng nghiên cứu tiếp theo như sau:
• Tiếp tục nghiên cứu và hoàn thiện lý thuyết về các phương pháp phân phối lưu lượng giữa các nút. Nghiên cứu mở rộng về các thuật toán cân bằng tải tối ưu. • Thực hiện cài đặt thử nghiệm trên hệ thống mạng thực của các công ty, tổ chức.
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 Load Balancing, O'Reilly & Associates [5].http://en.wikipedia.org/wiki/Load_balancing_(computing)