Network Load Balancing

Published on May 2016 | Categories: Documents | Downloads: 72 | Comments: 0 | Views: 586
of 34
Download PDF   Embed   Report

Comments

Content

Network Load Balancing
Nhóm 8 Phan Tự Quốc Thắng Nguyễn Viết Thắng Nguyễn Việt Hà Vũ Văn Ước Phạm Văn Thịnh Phí Bá Thành Lê Minh Đức

[email protected]

Đặt vấn đề???

Cân bằng tải là gì?
Cân bằng tải là một hệ thống giúp làm tăng tính khả mở và tính khả dụng của một nhóm các server dùng để cung cấp dữ liệu

Phương pháp cân bằng tải: • Một địa chỉ IP ảo được dùng để đại diện cho nhóm các server • Yêu cầu từ client đến sẽ được phân phối hợp l{ đến các server trong nhóm

Các phương pháp cân bằng tải

Cân bằng tải bằng phần cứng
• Sử dụng các module (load balancer) cắm thêm trên các thiết bị chuyên dụng như router, switch

Cân bằng tải bằng phần mềm
• Sử dụng phần mềm cài song song trên các máy chủ, kết hợp nhiều server tạo thành 1 server ảo

Cân bằng tải bằng proxy sever
• Tận dụng khả năng chia tải sẵn có trên các phần mềm proxy như ISA Proxy của Microsoft hay Squid (open source).

So sánh các phương pháp
So sánh Khả năng theo dõi trạng thái ứng dụng Mở rộng Phần cứng Phần mềm Proxy server

Kém

Tốt

Kém

Tốt

Kém

Tốt

Tăng tốc, hiệu năng sử dụng

Tốt

Kém

Kém

Bảo mật

Kém

Chấp nhận được

Tốt ( firewall)

Network Load Balancing

Network Load Balancing là gì?
Windows NLB:
• Là một giải pháp phần mềm phân tán cho cân bằng tải • Tích hợp sẵn trong các phiên bản Window Server 200x của Microsoft

Yêu cầu cho Windows Network Load Balancing
• Mỗi máy phải có ít nhất một card mạng dành cho cân bằng tải • Chỉ được dùng TCP/IP cho NLB adapter • Các node trong mạng NLB phải có cùng subnet

Network Load Balancing
Logical Design

• • Không có điểm chịu lỗi duy Internet/ nhất intranet • Không có hiện tượng thắt cổ chai • Không cần thêm phần cứng NLB Virtual đặc biệt
IP Address



Tăng số node theo nhu cầu sử dụng Tối đa 32 node cho một cluster Định kz trao đổi bản tin heartbeat

NLB Host


NLB Host

NLB Host

NLB Host

NLB Host

Quá trình xử lý các server chết trong suốt với người sử dụng

Phân phối tải
• Mỗi host có thể định ra mức tải mà nó xử l{ hoặc tải được phân phối đều giữa các host

Độ khả dụng
• Độ khả dụng được tăng cường với N-1 cách khắc phục lỗi trong một nhóm có N host

Kiến trúc hệ thống NLB
• Kiến trúc phần mềm phân tán hoàn toàn: NLB driver được cài đặt và chạy song song trên tất cả các host trong nhóm • Trên mỗi host, NLB driver hoạt động như một bộ lọc giữa network adapter driver và tầng TCP/IP, điều này cho phép một phần lưu lượng mạng đến được nhận bởi host đó • Mỗi host sẽ thực hiện những tính toán giống nhau một cách độc lập và quyết định nên xử l{ gói yêu cầu đó hay là không.

Kiến trúc hệ thống NLB

Nhược điểm NLB
• NLB làm tăng tải trên các chuyển mạch (switch) do chiếm thêm băng thông cổng khi quảng bá phân phối lưu lượng mạng đến các host trong nhóm • Đây không phải là vấn đề trong phần lớn ứng dùng (web, streaming media,…) do tỉ lệ lưu lượng đến switch chiếm phần nhỏ trong tổng lưu lượng mạng • Nếu các kết nối từ client đến switch có tốc độ nhanh hơn nhiều phía server ??? • Nhiều nhóm kết nối trên cùng 1 switch mà không có biện pháp thiết lập VLAN cho từng nhóm ???

Các chế độ hoạt động
Unicast mode: (default) • Một địa chỉ MAC ảo duy nhất đại diện cho nhóm được cấp cho card mạng vật l{ của tất cả các node trong nhóm • Không sử dụng địa chỉ MAC gốc của node • Gói dữ liệu đến được nhận bởi tất cả node trong nhóm • Chỉ một node được phép xử l{ và trả lời • Các node không thể giao tiếp với nhau • Có thể sử dụng thêm một card mạng để trao đổi thông tin với các node khác

Multicast mode: • Một địa chỉ MAC multicast được cấp cho card mạng của tất cả các node • Địa chỉ MAC gốc của node vẫn được sử dụng • Loại bỏ được vấn đề sử dụng 2 card mạng • Chỉ một node được phép xử l{ gói tin đến

Node 1
IP:10.10.10.1 MAC:48-2C-6A-1E-59-3D

Before NLB

Node 2
IP:10.10.10.2 MAC:AA-9B-6A-1E-59-6E

Node 3
IP:10.10.10.3 MAC:58-B7-6A-1E-59-4D

Node 4
IP:10.10.10.4 MAC:B3-AA-6A-1E-59-5B

Node 1
IP:10.10.10.1 VIP:10.10.10.10 MAC:48-2C-6A-1E-59-3D VMAC:AA-BB-CC-99-88-77

NLB with Unicast Operation Mode

Node 2
IP:10.10.10.2 VIP:10.10.10.10 MAC:AA-9B6A-1E-59-6E VMAC:AA-BB-CC-99-88-77

VIP:10.10.10.10 VMAC:AA-BB-CC-99-88-77

IP:10.10.10.3 VIP:10.10.10.10 MAC:58-B7-6A-1E-59-4D VMAC:AA-BB-CC-99-88-77

Node 3

Node 4
IP:10.10.10.4 VIP:10.10.10.10 MAC:B3-AA-6A-1E-59-5B VMAC:AA-BB-CC-99-88-77

IP:10.10.10.1 VIP:10.10.10.10 MAC:48-2C-6A-1E-59-3D VMAC:AA-BB-CC-99-88-77

Node 1

NLB with Unicast Operation Mode

Node 2
IP:10.10.10.2 VIP:10.10.10.10 MAC:AA-9B6A-1E-59-6E VMAC:AA-BB-CC-99-88-77

VIP:10.10.10.10 VMAC:AA-BB-CC-99-88-77

Node 3
IP:10.10.10.3 VIP:10.10.10.10 MAC:58-B7-6A-1E-59-4D VMAC:AA-BB-CC-99-88-77

Node 4
IP:10.10.10.4 VIP:10.10.10.10 MAC:B3-AA-6A-1E-59-5B VMAC:AA-BB-CC-99-88-77

IP:10.10.10.90 MAC:F5-D1-BB-99-68-C7

IP:10.10.10.1 VIP:10.10.10.10 MAC:48-2C-6A-1E-59-3D VMAC:AA-BB-CC-99-88-77

Node 1

NLB with Multicast Operation Mode

Node 2
IP:10.10.10.2 VIP:10.10.10.10 MAC:AA-9B6A-1E-59-6E VMAC:AA-BB-CC-99-88-77

VIP:10.10.10.10 VMAC:AA-BB-CC-99-88-77

Node 3
IP:10.10.10.3 VIP:10.10.10.10 MAC:58-B7-6A-1E-59-4D VMAC:AA-BB-CC-99-88-77

Node 4
IP:10.10.10.4 VIP:10.10.10.10 MAC:B3-AA-6A-1E-59-5B VMAC:AA-BB-CC-99-88-77

Note: Network Device, such as switch infrastructure, must support multicast MAC addressing.

Tổng kết các phương pháp

Thuật toán cân bằng tải
• NLB sử dụng thuật toán lọc phân tán hoàn toàn để ánh xạ yêu cầu từ client đến các host trong nhóm
• Cho phép các host đưa ra quyết định cân bằng tải một cách độc lập và nhanh chóng cho từng gói đến • Cung cấp hiệu nǎng rất cao bao gồm cả thông lượng cao và thời gian đáp ứng ngắn

• Khi xem xét một gói đến, tất cả các host đồng thời ánh xạ thống kê để xác định host sẽ xử lý gói đó
• Dùng hàm ngẫu nhiên dựa trên IP và cổng của client cùng các thông tin khác để tính mức ưu tiên của host • Host được chọn sẽ chuyển gói lên TCP/IP, còn lại sẽ loại bỏ gói này

Thuật toán cân bằng tải
• Để hoạt động cân bằng tải có độ chính xác cao, một phần tài nguyên của hệ thống dùng để đo và phản ứng trước những thay đổi của tải (cơ bản là CPU và bộ nhớ) • Khi một host tham gia vào nhóm, nó sẽ kích hoạt quá trình hội tụ thông qua heartbeat message và hệ thống sẽ tính toán lại thuật toán cân bằng tải

Quá trình hội tụ
• Các host trong nhóm trao đổi định kz các bản tin heartbeat multicast hoặc broadcast cho nhau. Điều này cho phép các host giám sát được trạng thái của nhóm • Trong unicast, mỗi host sẽ quảng bá heartbeat theo chu kz. Còn trong multicast, nó sẽ phát các bản tin này ở chế độ multicast • Bản tin NLB của Microsoft gán giá trị 0x886F, chu kz mặc định là 1 giây. Để khởi tạo quá trình hội tụ, mặc định cần 5 heartbeat không được nhận

Hiệu năng cân bằng tải
• Đánh giá hiệu năng của hệ thống NLB dựa trên 4 tiêu chí: • CPU overhead trên các host của nhóm • Thông lượng đáp ứng • Thời gian đáp ứng • Băng thông của switch

Hiệu năng cân bằng tải
• Khi năng lực các host trong nhóm được khai thác tối đa cần bổ sung thêm host (tối đa 32 host) • Nếu tải tiếp tục tăng cần nhiều nhóm NLB và việc phân phối lưu lượng giữa các nhóm được thực hiện bằng kỹ thuật round robin DNS • Thực tế được sử dụng cho website www.microsoft.com, có 5 nhóm NLB, mỗi nhóm gồm 6 host và mỗi host chạy 60% năng lực tối đa

Demo

Nội dung bài demo
• Giả lập 2 website chạy trên 2 server vật l{ • Cấu hình Network Load Balancing • Các bước kiểm tra

Demo trên Windows Server 2003
• Chuẩn bị 3 máy ảo Windows Server 2003 trên nền VMWare, 2 máy đóng vai trò Server, 1 máy là Client. • Các máy ảo tắt hết Windows Firewall.

[email protected]

Demo trên Windows Server 2003
• Công việc cấu hình Network Load Balancing cũng chính là đi tạo ra một Virtual IP đại diện cho các server web. • Cấu hình TCP/IP cho các máy ảo như sau:
Server 1: 192.168.1.18 / 255.255.255.0 và Server 2: 192.168.1.19/ 255.255.255.0

• Giả lập 1 website chạy trên 2 server bằng công cụ Internet Information Services (IIS).

Demo trên Windows Server 2003
• Tiến hành cấu hình bằng dịch vụ Network Load Balancing có sẵn trên Windows Server 2003. • Chọn chế độ Multicast (được khuyến cáo là sẽ ít phát sinh lỗi trong quá trình hoạt động hơn so với chế độ Unicast). • Thiết lập Virtual IP chung cho 2 Server là 192.168.1.90 • Thiết lập cổng cho 2 Server là port 79. • Chúng ta có thể quy định độ ưu tiên truy cập vào server vật l{ nào trước thông qua giá trị Priority, priority càng nhỏ thì độ ưu tiên càng cao, ở đây giá trị Priority cho 2 Server lần lượt là 1 và 2. • + Xem kết quả xác nhận lại quá trình cấu hình NLB bằng câu lệnh wlbs query.

Demo trên Windows Server 2003
• Bây giờ chúng ta sẽ đi kiểm tra kết quả. Vì trong mô hình có số lượng máy ít nên ta không thể kiểm tra được khả năng cân bằng lượng truy cập vào hai máy server khi có số lượng truy cập lớn. • Ta chỉ kiểm tra khả năng gánh tải khi một trong các máy server trục trặc không hoạt động. • Đầu tiên đứng ở máy Client truy cập vào WebServer bằng địa chỉ 192.168.1.90 • Sau đó ngắt kết nối 1 trong 2 Server vào truy cập WebServer từ máy Client, kết quả vẫn truy cập thành công.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close