1. Trang chủ
  2. » Công Nghệ Thông Tin

HỆ THỐNG CÂN BẰNG TẢI SERVER

15 889 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 918,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

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

1.1.1.So sánh hệ thống cân bằng tải và hệ thống thông thường

Trang 2

Kịch bản A Kịch bản B

Ưu điểm của cân bằng tải

• Tính mở rộng: thêm hoặc bỏ bớt server một cách dễ dàng

• Tính sẵn sàng cao do hệ thống dùng nhiều Server Vì vậy hệ thống có tính dự phòng

• Tính quản lý: Theo dõi và 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 các dịch vụ

• Có thể tách các ứng dụng khỏi server

• Làm việc được với nhiều hệ điều hành

• Hiệu suất cao

• Server được nhóm lại thực hiện đa nhiệm vụ tốt hơn

• Tất cả Server đều hoạt động đúng công suất không có tình trạng một Server làm việc quá tải trong khi server khác lại đang “nhàn rỗi”

Những tổ chức nào cần có giải pháp cân bằng tải

• Các doanh nghiệp

• Nhà cung cấp dịch vụ ISP

• Trung tâm xử lý dữ 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 trên thế giới

1.2.1 Chia tải bằng phần mềm cài trên các máy chủ

Trang 3

Kết hợp nhiều server một cách chặt chẽ tạo thành một server ảo (virtual server) Các hệ điều hành cho máy chủ thế hệ mới của các hãng Microsoft, IBM, HP hầu hết đều cung cấp khả năng này, một số hãng phần mềm khác như Veritas(Symantec) cũng cung cấp giải pháp theo hướng này

1.2.2 Chia tải nhờ proxy

Nhóm này thường tận dụng khả năng chia tải sẵn có trên phần mềm proxy như ISA Proxy của Microsoft hay Squid

Proxy này sẽ thực hiện nhiệm vụ chia tải trên các server sao cho hợp lý Giải pháp này vì hoạt động ở mức ứng dụng nên có khả năng caching (là công nghệ lưu trữ cục bộ dữ liệu được truy cập với tần suất cao) và khả năng firewall ở tầng ứng dụng

Vì sử dụng máy phổ dụng nên giải pháp này có ưu điểm là chi phí thấp, khả năng

mở rộng tốt vì cài đặt trên một máy độc lập, dễ quản trị

Nhược điểm lớn nhất của các giải pháp dòng này thường có tính ổn định kém, hiệu năng thấp, dễ mắc lỗi Đây là điều không thể chấp nhận được đối với các hệ thống đòi hỏi tính sẵn sàng cao như ngân hàng, tài chính

1.2.3 Chia tải nhờ thiết bị chia kết nối

Nhóm này thường sử dụng các mođun cắm thêm trên các thiết bị chuyên dụng như Bộ định tuyến (Router) hay hay bộ chuyển mạch (Switch) để chia tải theo luồng, thường hoạt động từ layer 4 trở xuống

Vì sử dụng thiết bị chuyên dụng nên có hiệu năng cao, tính ổn định cao, khả năng

mở rộng tốt hơn nhưng khó phát triển được tính năng bảo mật phức tạp như giải pháp proxy, thường thuật toán chia tải rất đơn giản như DNS round-robin (đây là thuật toán chia tải phổ biến nhất và đơn giản, tuy nhiên cứng nhắc và hiệu quả

1.3 Các thành phần của SLB

1.3.1 Chức năng của các thành phần trong SLB

Một giải pháp cân bằng tải phải (Server Load Balancer) có những chức năng sau đây:

• Can thiệp vào luồng dữ liệu mạng tới một điểm đích

• Chia luồng dữ liệu đó thành các yêu cầu đơn lẻ và quyết định máy chủ nào sẽ

xử lý những yêu cầu đó

• Duy trì việc theo dõi các máy chủ đang hoạt động, đảm bảo rằng các máy chủ này vẫn đang đáp ứng các yêu cầu đến

Trang 4

Server Load Balancers: Load Balancer là một thiết bị phân phối tải giữa các máy

tính với nhau và các máy tính này sẽ xuất hiện chỉ như một máy tính duy nhất Phần dưới đây sẽ thảo luận chi tiết hơn về các thành phần của các thiết bị SLB

VIPs: Virtual IP (VIP):

Là địa chỉ IP thường được gán trên Load balancer

Tất cả các yêu cầu của client đều được gởi tới IP ảo này

Các máy chủ (Servers): Máy chủ chạy một dịch vụ được chia sẻ tải giữa các dịch vụ

khác

Nhóm (Groups): Dùng để chỉ một nhóm các máy chủ được cân bằng tải Các thuật

ngữ như “farm” hoặc “server farm” có cùng một ý nghĩa với thuật ngữ này

Cấp độ người dùng truy nhập (User - Access Levels): Là một nhóm các quyền được

gán cho một người dùng nào đó khi đăng nhập vào một thiết bị cân bằng tải

Read-only: Cấp độ truy cập chỉ đọc (Read-only) không cho phép bất kỳ một

thay đổi nào được thực hiện

Superuser: Superuser là cấp độ truy cập cho phép người dùng có đầy đủ quyền

điều khiển hệ thống Superuser có thể thêm các tài khoản khác, xóa file, cấu hình lại hệ thống với bất kỳ tham số nào

Các cấp độ khác: Rất nhiều sản phẩm cung cấp thêm một vài cấp độ người

dùng trung gian ở giữa hai cấp độ trên, có những quyền giới hạn trên hệ thống

Giải pháp dự phòng (Redundancy)

Giải pháp dự phòng rất đơn giản: nếu một thiết bị gặp trục trặc, thiết bị đó sẽ được thay thế bởi một thiết bị khác mà không hoặc gây ít ảnh hưởng nhất đến hoạt động của toàn bộ hệ thống

Có một vài cách để thực hiện khả năng này Cách thông thường nhất là sử dụng hai thiết bị Một giao thức sẽ được sử dụng bởi một trong hai thiết bị để kiểm tra tình trạng hoạt động của thiết bị còn lại

- Active - Standby

Kịch bản dự phòng hoạt động - chờ là cách dễ nhất để thực hiện Một thiết bị sẽ nhận toàn bộ luồng dữ liệu đến, trong khi đó thiết bị còn lại sẽ chờ trong các tình huống trục trặc

Trang 5

Hình 2.1: Kịch bản Active – Standby

Nếu thiết bị đang hoạt động gặp trục trặc, một thiết bị kia sẽ xác định trục trặc

và nhận xử lý toàn bộ luồng dữ liệu đến

Hình 2.2: Hoạt động của kịch bản Active - Standby

- Kịch bản Active - Active

Trang 6

Trong tất cả các trường hợp, cả hai thiết bị đều chấp nhận xử lý luồng dữ liệu đến Trong tình huống một trong hai thiết bị gặp trục trặc thì thiết bị còn lại sẽ nhận thực thi luôn cả những chức năng của thiết bị gặp trục trặc

Hình 2.3: Kịch bản Active-Active

1.3.2 Hoạt động của hệ thống cân bằng tải server

Ở phần trên đã tìm hiểu về các khái niệm và các thành phần cơ bản của hệ thống cân bằng tải server Phần tiếp theo này sẽ trình bày SLB hoạt động như thế nào nhìn trên khía cạnh mạng Mô hình SLB đơn giản được mô tả như ở hình dưới đây

Trang 7

Hình 2.5: Hệ thống SLB đơn giản SLB mở rộng hiệu nǎng của các server ứng dụng, chẳng hạn như Web server, nhờ phân phối các yêu cầu của client cho các server trong nhóm (cluster)

Các host trong nhóm sẽ đồng thời đáp ứng các yêu cầu khác nhau của các client, cho dù một client có thể đưa ra nhiều yêu cầu

Mỗi host trong nhóm có thể định ra mức tải mà nó sẽ xử lý hoặc tải có thể phân phối một cách đồng đều giữa các host Nhờ sử dụng việc phân phối tải này, mỗi server sẽ lựa chọn và xử lý một phần tải của host

Tải do các client gửi đến được phân phối sao cho mỗi server nhận được số lượng các yêu cầu theo đúng phần tải đã định của nó

Sự cân bằng tải này có thể điều chỉnh động khi các host tham gia vào hoặc rời khỏi nhóm

1.3.4 Phân phối lưu lượng trong SLB

NAT (Network Address Translation).

Như ta có thể thấy ở hình trên một máy khách có địa chỉ 188.1.1.100, một VIP có địa chỉ 141.149.65.3 và máy chủ web thực sự có địa chỉ 10.10.10.20 Để duyệt web, người dùng cuối sử dụng một URL xác định vị trí của website cái mà ánh xạ tới địa chỉ của VIP là 141.149.65.3 Gói dữ liệu với địa chỉ nguồn 188.1.1.100 và địa chỉ đích

Trang 8

là 141.149.65.3 Thiết bị cân bằng tải thay vì trả lời yêu cầu từ máy khách, nó lưu lại gói dữ liệu và viết lại thông tin điều khiển trong gói dữ liệu bằng việc thay đổi địa chỉ đích trong gói dữ liệu thành 10.10.10.20 sao cho chuyển tiếp được gói dữ liệu tới máy chủ web thật có địa chỉ 10.10.10.20 Như vậy trong giai đoạn 2 này địa nguồn là 188.1.1.100 và đích là 10.10.10.20 Máy chủ thực khi nhận được yêu cầu sẽ gửi thông tin phản hồi tới người dùng cuối Trong giai đoạn 3 này địa chỉ nguồn trở thành

10.10.10.20 và đích trở thành 188.1.1.100, như vậy nảy sinh một vấn đề Người dùng

sẽ bỏ qua gói tin đáp lại từ địa chỉ 10.10.10.20 bởi kết nối không được gửi đến máy có địa chỉ đó mà đến địa chỉ 141.149.65.3 SLB giải quyết vấn đề này bằng cách thay đổi đường đi mặc định của máy chủ thực và thay đổi địa chỉ nguồn của gói tín thành địa chỉ của VIP 141.149.65.3 trước khi gửi trở lại máy khách Trong giai đoạn 4 này địa chỉ nguồn là 141.149.65.3 và đích là 188.1.1.100 Với lần thay đổi thông tin cuối này, gói dữ liệu đã hoàn thành chuyến đi và khởi tạo thành công một kết nối Nhìn từ phía máy khách, nó dường như chỉ là một kết nối thông thường tới đúng một máy chủ, mà không hề biết trong thực tế có thể có một vài đến hàng trăm máy chủ thực sự phía sau trả lời yêu cầu của nó

DSR (Direct server return)

DSR là một trong các phương pháp phân phối lưu lượng của các thiết bị cân bằng tải

từ các kết nối bên ngoài Phương pháp phân phối này làm tăng sự thực thi của thiết bị cân bằng tải bởi việc giảm một cách đáng kể lưu lượng đi qua thiết bị và quá trình xử

lý viết lại thông tin điều khiển trong gói dữ liệu như các bước ở phần trên DSR làm điều đó bởi việc bỏ qua giai đoạn 3 trong bảng xử lý ở trên Bởi việc lợi dụng một máy

Trang 9

chủ thực phía trong gửi ra ngoài một gói dữ liệu với địa chỉ nguồn đã được viết lại là địa chỉ nguồn của VIP

DSR thực hiện điều đó bằng cách điều khiển khung dữ liệu tại lớp 2 để thực hiện SLB

Xử lý đó được biết đến như là MAT (MAC Address Translation)

Địa chỉ vật lý của Card mạng (Network Interface Card – NIC): Đó là một số 48 bit, thường được biểu diễn bằng 12 số hexa (cơ số 16), trong đó 24 bit đầu là mã số của công ty sản xuất Card mạng, còn 24 bit sau là số seri của từng Card mạng đối với một hãng sản xuất Như vậy người ta bảo đảm không có hai Card mạng nào trùng nhau về địa chỉ vật lý, nói chính xác hơn là số “Identification” của từng Card mạng

Trên một mạng Ethernet, địa chỉ MAC giúp cho gói tin IP tìm đúng thiết bị vật lý cần nhận gói tin

Theo nguyên tắc hoạt động của mạng thì không thể tồn tại hai máy có cùng một địa chỉ IP bởi vì hai địa chỉ MAC không thể kết hợp tới cùng một địa chỉ IP Để giải quyết vấn đề này, thay vì việc cấu hình địa chỉ IP của VIP tới giao diện mạng của máy chủ thực thì ta kết hợp nó với giao diên loopback Giao diện loopback là một giao diện ảo

sử dụng cho việc truyền thông bên trong của máy chủ và thông thường không có tác động tới cấu hình hay hoạt động của máy chủ Địa chỉ IP của giao diện loopback thường là 127.0.0.1, mặc dù vậy có thể cấu hình nhiều địa chỉ IP trên cùng một giao diện (thường được biết đến như địa chỉ IP bí danh) và giao diện loopback cũng không nằm ngoài khả năng đó Như vậy địa chỉ của VIP có thể được cấu hình trên giao diện loopback mà không ảnh hưởng tới hoạt động của mạng, không gây ra sự xung đột với máy chủ khác trong mạng

Bước tiếp theo thực tế yêu cầu có được lưu lượng tới giao diện loopback của máy chủ thực Để giải quyết vấn đề này SLB sử dụng một kĩ thuật gọi là MAT (MAC address Translation)

DSR sử dụng MAT để biến đổi địa chỉ MAC đích Máy chủ thông thường sẽ loại bỏ lưu lượng khi nó không có địa chỉ IP của VIP, nhưng trong giải pháp của SLB thì do địa chỉ của của VIP đã được cấu hình trên giao diện loopback của của máy chủ thực nên đã “lừa” được máy chủ chấp nhận lưu lượng gửi tới nó

NLB(Network load balancing)

NLB rất dễ dàng cài đặt, cấu hình và bảo dưỡng Có thể sử dụng phần cứng và phần mền hiện có trên máy tính và không cần cài thêm bất cứ phần mền nào

Chúng ta sử dụng ứng dụng Network load balancing trong windows server để

tạo,quản lí,điều khiển nhóm

Trang 10

Một nhóm NLB có thể bao gồm tối đa 32 server,được xem như là những host.Mỗi host chạy những ứng dụng giống nhau để cung cấp tới client.NLB làm việc bằng cách tạo

ra trên mỗi host một card mạng ảo đại diện cho nhóm(còn được gọi là card nhóm) Card ảo này có một địa chỉ IP và địa chỉ MAC,độc lập với địa chỉ được gán trên card mạng vật lý của máy tính

Client sẽ gửi yêu cầu đến địa chỉ IP của nhóm thay vì gửi đến địa chỉ riêng của host Khi một gói tin yêu cầu của client được gửi tới địa chỉ IP của nhóm thì tất cả các server trong nhóm sẽ nhận và xử lý gói tin này

Trên mỗi host trong nhóm NLB, dịch vụ NLB được xem như một bộ lọc giữa card nhóm và tầng giao thức TCP/IP của máy tính.Bộ lọc này sẽ tính toán và quyết định host nào trong nhóm nên đáp trả lại gói tin request từ client

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

Thuật toán host sử dụng để tính toán sẽ thay đổi chỉ khi một host được thêm vào hoặc

gỡ bỏ khỏi nhóm

NLB có hai mode là unicast và multicast.Trong chế độ unicast NLB thay thế địa chỉ MAC của card mạng vật lý trên mỗi server với địa chỉ MAC của card mạng ảo đại diện cho nhóm

Server sẽ không sử dụng địa chỉ MAC gốc của nó,đây là kết quả của việc chuyển đổi

từ card mạng vật lý sang card mạng của nhóm

ARP sẽ ánh xạ giữa địa chỉ IP gốc của server tới địa chỉ MAC card mạng gốc của server và địa chỉ IP nhóm tới địa chỉ MAC của card nhóm

Bởi vì card mạng của tất cả các server trong nhóm có chung địa chỉ MAC vì vậy các server trong nhóm không thể giao tiếp với những server khác theo cách thông thường (sử dụng địa chỉ MAC cá nhân của chính nó).Tuy nhiên server có thể giao tiếp với các máy tính khác trên subnet giống nhau,và với máy tính trên các subnet khác miễn là IP datagrams không chứa địa chỉ MAC nhóm

Đây không phải là một trở ngại bởi vì web server chuyên dụng giống nhau.Ví dụ không cần giao tiếp với một webserver khác trong điều kiện bình thường.Tuy nhiên nếu xác định rằng nó cần thiết cho server trong nhóm NLB để giao tiếp với nhau thì có hai giải pháp:

Cấu hình những sever nhóm tại chế độ multicast Trong chế độ multicast NLB gán một địa chỉ MAC nhóm tới card mạng vật lý nhưng giữ lại địa chỉ MAC gốc.IP nhóm sẽ

Trang 11

ánh xạ đến địa chỉ MAC 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 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á trình hội tụ của SLB

Các host trong nhóm trao đổi định kỳ các bản tin "heartbeat" multicast hoặc broadcast với nhau Điều này cho phép các host có thể giám sát trạng thái của nhóm

1.3.6 Giải pháp SLB dựa trên luân chuyển vòng DNS

DNS là viết tắt của 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 chỉ cần sử dụng chuỗi ký tự dễ nhớ (domain name) như: google.com.vn, vnexpress.net, tuoitre.vn…thay vì sử dụng địa chỉ IP là một dãy số dài khó nhớ

Hình bên dưới mô tả quá trình truy cập vào website của google có địa chỉ là

www.google.com.vn

Ngày đăng: 11/06/2016, 20:32

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Kịch bản Active – Standby - HỆ THỐNG CÂN BẰNG TẢI SERVER
Hình 2.1 Kịch bản Active – Standby (Trang 5)
Hình 2.2: Hoạt động của kịch bản Active - Standby - HỆ THỐNG CÂN BẰNG TẢI SERVER
Hình 2.2 Hoạt động của kịch bản Active - Standby (Trang 5)
Hình 2.3: Kịch bản Active-Active - HỆ THỐNG CÂN BẰNG TẢI SERVER
Hình 2.3 Kịch bản Active-Active (Trang 6)
Hình 2.5: Hệ thống SLB đơn giản - HỆ THỐNG CÂN BẰNG TẢI SERVER
Hình 2.5 Hệ thống SLB đơn giản (Trang 7)

TỪ KHÓA LIÊN QUAN

w