1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu kỹ thuật cân bằng tải file server

75 954 0

Đ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 75
Dung lượng 6,08 MB

Nội dung

Với lý do trên, em đã lựa chọn đề tài: “Tìm hiểu kỹ thuật cân bằng tải File Server”.Đây là một vấn đề khá quan trọng trong việc thiết kế các hệ thống mạng hiện nay, cáctrung tâm tính toá

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN 3

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT 4

DANH MỤC HÌNH VẼ 5

MỞ ĐẦU 6

I Lý do chọn đề tài 6

II Mục tiêu 7

III Phạm vi nghiên cứu 7

IV Phương pháp nghiên cứu 7

V Ý nghĩa khoa học và thực tiễn của đề tài 7

CHƯƠNG I: TỔNG QUAN VỀ CÂN BẰNG TẢI 8

1.1 Giới thiệu cân bằng tải 8

1.1.1 Khái niệm cân bằng tải 8

1.1.2 Lợi ích cân bằng tải 8

1.2 Kỹ thuật cân bằng tải 9

1.2.1 Kiểm tra trạng thái server 9

1.2.2 Lựa chọn server tốt nhất 10

1.2.3 Kỹ thuật Session Persistence 10

1.2.4 Cookie 11

1.2.5 Cân bằng tải sử dụng phần cứng 15

1.2.6 Cân bằng tải máy chủ với phần mềm 17

1.2.7 Cân bằng tải với proxy 18

1.2.8 Cân bằng tải với thiết bị kết nối 18

1.2.9 Xử lý các yêu cầu kết nối tập trung 19

CHƯƠNG II GIẢI PHÁP CÂN BẰNG TẢI TRÊN FILE SERVER 21

2.1 GIỚI THIỆU CÂN BẰNG TẢI TRÊN FILE SERVER 21

2.1.1 Giới thiệu Windows Server 2008 21

Trang 2

2.1.2 Tại sao phải xây dựng hệ thống cân bằng tải 22

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

Hình 2.1 So sánh hệ thống cân bằng tải server và hệ thống thông thường 24

2.2 Các thành phần của cân bằng tải File Server 25

2.2.1 Chức năng của các thành phần cân bằng tải File Server 25

2.2.2 Kiến trúc hệ thống cân bằng tải 34

2.2.3 Hoạt động của hệ thống cân bằng tải File Server 35

2.3 Triển khai hệ thống File Server 37

2.3.1 Giới thiệu DFS (Distributed File System) 37

2.4 Các thuật toán cân bằng tải 38

2.4.1 Thuật toán Round Robin: 38

2.4.2 Thuật toán Weighted Round Robin: 39

2.4.3 Thuật toán Least Connection: 39

2.4.4 Thuật toán Weights Least Connection: 39

2.4.5 Thuật toán Least Response Time: 39

2.4.6 Hàm băm: 39

2.4.7 Giải thuật xác định tổng số kết nối nhỏ nhất: 39

CHƯƠNG III CÀI ĐẶT THỰC NGHIỆM - ĐÁNH GIÁ HỆ THỐNG 41

3.1 Cấu hình và chạy chương trình 41

3.2 Đánh giá hệ thống 67

KẾT LUẬN 69

1 Tổng kết 69

2 Hướng phát triển 70

TÀI LIỆU THAM KHẢO 71

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, nhóm em muốn gửi lời cảm ơn chân thành nhất tới Ths.Trương Tiến

Vũ, người đã trực tiếp hướng dẫn và có những lời góp ý, cùng nhiều tài liệu bổ ích để đềtài này được hoàn thành

Em cũng xin chân thành cảm ơn các thầy cô giáo khoa công nghệ thông tin đã tạođiều kiện học tập và nghiên cứu trong những năm học tập vừa qua Xin chân thành cảm

ơn các bạn học cùng lớp đã có những lời động viên quý báu trong suốt thời gian thực hiện

đề tài này

Lời cuối, nhóm muốn gửi lời biết ơn sâu sắc tới gia đình của từng thành viên Giađình luôn là nguồn động viên tinh thần và cổ vũ lớn lao, là động lực giúp nhóm thànhcông trong học tập, công việc và cuộc sống

Đà Nẵng, ngày 10 tháng 1 năm 2013

Trang 4

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

Trang 5

Hình 2.1 So sánh hệ thống cân bằng tải server và hệ thống thường 23

Trang 6

hệ thống mạng phải có khả năng mở rộng tối ưu để đáp ứng được một lượng lớn các yêucầu ngày càng tăng của người dùng mà không gây ra bất kỳ một độ trễ không mongmuốn nào.

Một trong những xu hướng lựa chọn hệ thống mạng ngày nay là phân tán sự tínhtoán giữa các hệ thống vật lý khác nhau Các hệ thống vật lý này có thể khác nhau về quy

mô và chức năng Chúng thường bao gồm các máy trạm, các máy tính mini và các hệthống máy tính đa năng lớn Các hệ thống này thường được gọi là các nút Sự nghiên cứu

về hệ thống mạng phân tán bao gồm nhiều lĩnh vực như: Mạng truyền thông, hệ điềuhành phân tán, cơ sở dữ liệu phân tán, lý thuyết về các hệ thống song song và phân tán,cấu trúc nội mạng, độ tin cậy và khả năng chịu lỗi, hệ thống phân tán trong thời gianthực, khả năng gỡ lỗi phân tán và các ứng dụng phân tán Như vậy hệ thống mạng phântán bao gồm mạng vật lý, các nút và các phần mềm điều khiển Có 5 lý do để xây dựngmột hệ thống mạng phân tán, đó là: chia sẻ tài nguyên, cải tiến sự tối ưu, độ tin cậy, khảnăng truyền thông và độ khả mở Một trong những vấn đề thú vị nhất của hệ thống mạngphân tán là cải tiến sự tối ưu của hệ thống qua sự cân bằng tải giữa các nút hay các máychủ

Với lý do trên, em đã lựa chọn đề tài: “Tìm hiểu kỹ thuật cân bằng tải File Server”.Đây là một vấn đề khá quan trọng trong việc thiết kế các hệ thống mạng hiện nay, cáctrung tâm tính toán hiệu năng cao và các trung tâm dữ liệu phục vụ cho các ứng dụng lớn

II Mục tiêu

Đề tài này sẽ giúp chúng ta biết được các quá trình cần thiết để có thể cân bằng tải chomột hệ thống mạng Giúp ta biết sâu hơn về khái niệm cũng như chức năng cân bằng tảicủa File Server 2008

III Phạm vi nghiên cứu

Trang 7

Trong quá trình nghiên cứu và tìm hiêu làm đề tài Có rất nhiều vấn đề về cân bằng tảitrên server và các ứng dụng triển khai trên đó, nhưng ở đề tài này chỉ nghiên cứu mộtmảng nhỏ của hệ thống cân bằng tải đó là File Server, nghiên cứu tổng quan về khái niệmcân bằng tải, các chứng năng chính và phân loại cân bằng tải và cuối cùng là triển khaigiải pháp cân bằng tải trên File Server 2008.

IV Phương pháp nghiên cứu

Đọc kỹ và nắm bắt các yêu cầu của đồ án đề ra Đi sâu trong việc tìm kiếm tài liệu vàtrình bày một cách hợp lý, chăm chú lắng nghe và tiếp thu những ý kiến đóng góp củagiáo viên hướng dẫn và các thầy cô

V Ý nghĩa khoa học và thực tiễn của đề tài

Về mặt lý thuyết, đề tài là một cách tiếp cận trong vấn đề tìm hiểu các vấn đề trongcân bằng tải trên File Server, tìm hiểu về Windows Server 2008

Về mặt thực tiễn, đề tài sẽ góp phần nâng cao khả năng tổ chức và triển khai cân bằngtải trên File Server 2008 vào một hệ thống mạng nội bộ

CHƯƠNG I: TỔNG QUAN VỀ CÂN BẰNG TẢI

1.1 Giới thiệu cân bằng tải

1.1.1 Khái niệm cân bằng tải

một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa thông lượng, giảmthời gian đáp ứng và tránh tình trạng quá tải trên máy chủ Là cơ chế định tuyến các gói

Trang 8

tin qua các đường có metric bằng nhau Cân bằng tải dùng để chia sẻ dữ liệu truyền trênmạng giúp cho việc truyền tải thông suốt, không bị nghẽn mạng do quá tải hay do một sự

cố nào đó Hoặc khi có một máy server nào đó bị trục trặc thì sẽ có máy server khác thaythế để giúp nhận dữ liệu thay thế cho server bị trục trặc đó, giúp cho việc truyền tảikhông bị ngừng do máy server bị lỗi đó gây ra

1.1.2 Lợi ích cân bằng tải

Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính

linh hoạt và mở rộng cho hệ thống

Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp

tăng tính HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùngkhông bị gián đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ

Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch

vụ đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành phầncân bằng tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong Quá trình trảlời cho khách hàng cũng thông qua thành phần cân bằng tải, vì vậy mà người dùngkhông thể biết được chính xác các máy chủ bên trong cũng như phương pháp phântải được sử dụng Bằng cách này có thể ngăn chặn người dùng giao tiếp trực tiếp vớicác máy chủ, ẩn các thông tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn côngtrên mạng hoặc các dịch vụ không liên quan đang hoạt động trên các cổng khác

1.2 Kỹ thuật cân bằng tải

Như chúng ta đã biết, bộ cân bằng tải có nhiệm vụ kết nối giữa người dùng vàserver, do đó nó có thể hoạt động như một proxy hoặc gateway Một proxy có nhiệm vụluân chuyển yêu cầu và dữ liệu đáp trả giữa người dùng và server, trong khi đó mộtgateway chỉ có nhiệm vụ tạo ra một kết nối hai đối tượng này và không làm gì thêm Cóthể sử dụng phần cứng hoặc phần mềm được cài đặt trên một front server, hoặc trên chính

Trang 9

web server Thêm nữa, khi số lượng người dùng tăng lên, để tránh SPOF[1], cần thiết phảicài đặt 2 bộ cân bằng tải song song, hoạt động theo cơ chế active-active hoặc active-standby.

1.2.1 Kiểm tra trạng thái server

Để chọn được server phù hợp để gửi request, bộ cân bằng tải cần phải biết đượcserver nào đang có sẵn Vì vậy, nó cần phải dùng biện pháp nào đó để kiểm tra trạng tháicủa server, chằng hạn như gửi lệnh ping, các yêu cầu, thử kết nối hay bất cứ phương phápnào mà người quản trị nghĩ là dùng được Kỹ thuật kiểm tra này thường được gọi là

“health checks”

Một server bị down có thể trả lời lệnh ping nhưng không thể trả lời các kết nốiTCP, một server bị treo có khả năng trả lời kết nối TCP nhưng không thể trả lời các yêucầu HTTP Khi một ứng dụng web nhiều lớp được kích hoạt, một số yêu cầu HTTP cóthể trả lời ngay lập tức trong khi số khác sẽ thất bại

Chính vì thế, việc chọn một phương pháp test phù hợp được chấp nhận bởi ứngdụng web và bộ cân bằng tải là rất thú vị Một số test đôi khi phải cần truy xuất dữ liệudatabase nhằm đảm bảo rằng toàn bộ quá trình của nó là đúng Hạn chế lớn nhất là nhữngphương pháp kiểm tra này sẽ chiếm tài nguyên của hệ thống như là CPU, threads…

Do đó, cân bằng thời gian kiểm tra chính là vấn đề khó nhất trong kỹ thuật lựachọn server Khoảng thời gian giữa 2 lần test liên tiếp phải đủ dài để không tốn quá nhiềutài nguyên của hệ thống và cũng cần đủ ngắn để nhanh chóng phát hiện ra những server

“chết” Vì “health checks” là một trong những khía cạnh phức tạp nhất của kỹ thuật cânbằng tải, nên thường sau một vài kiểm tra, các nhà phát triển ứng dụng sẽ thực thi mộtyêu cầu đặc biệt dành riêng cho bộ cân bằng tải, giúp cho nó thực hiện một số kiểm tranội bộ

Phần mềm cân bằng tải có khả năng cung cấp scripting, do đó nó đạt được độ linhhoạt rất cao Thêm nữa, nếu như một bài kiểm tra nào đó đòi hỏi phải chỉnh sửa code, nó

có thể thực hiện trong một khoảng thời gian ngắn

1 [1] SPOF(Single point of failure): Một điểm trong hệ thống mà nếu nó ngừng hoạt động, toàn bộ hệ thống sẽ bị tê liệt

Trang 10

1.2.2 Lựa chọn server tốt nhất

Phương pháp dễ nhất và thường được sử dụng nhất trong các hệ thống nhỏ làRound Robin, các server được lựa chọn quay vòng, tuy nhiên phương pháp này có nhượcđiểm là 2 requests liên tục từ một người dùng sẽ vào 2 servers khác nhau, thông tin giữa 2yêu cầu liên tiếp sẽ bị mất, như vậy sẽ không thể tối ưu hóa được sử dụng tài nguyên.Đặc biệt là khi cần phải cài đặt kết nối cho các phiên chạy - ví dụ như SSL keynegociation - sẽ rất tốn thời gian

Một cách khắc phục nhược điểm này là sử dụng một hàm băm theo địa chỉ IP, nhưvậy requests từ cùng một địa chỉ IP sẽ chỉ vào một server duy nhất Tuy vậy phương phápnày đòi hỏi người dùng phải có IP tĩnh Vậy thì cách khắc phục cho những hạn chế trên làgì? Đó chính là các kỹ Persistence

1.2.3 Kỹ thuật Session Persistence

Như đã đề cập ở trên, vấn đề cần giải quyết chính là làm sao để giữ cho các yêucầu của một người dùng được gửi vào một máy duy nhất trong suốt phiên làm việc củangười đó Tất cả các yêu cầu của người dùng này cần phải được chuyển vào cùng mộtserver Nếu server bị chết, hoặc ngừng để bảo trì, cần phải có cơ chế để chuyển sessioncủa người dùng này sang máy server khác Đó chính là kỹ thuật Session Persistence

Có một số giải pháp được đưa ra để tiếp cận kỹ thuật này, chẳng hạn như sử dụngmột respone HTTP 302 hay tạo ra liên kết giữa người dùng – server Tuy vậy 2 phươngpháp này đều có những hạn chế, sử dụng HTTP 302 sẽ khiến người dùng luôn luôn tìmcách kết nối với một server duy nhất, kể cả khi server này đã “chết” Dùng cách tạo liênkết đòi hỏi user phải có IP tĩnh trong suốt phiên làm việc

Vậy thì câu trả lời cuối cùng là gì? Đó chính là sử dụng cookie Cookie là một đối

tượng được điều khiển bởi Web Servers Trong kết quả trả về cho người dùng webservers sẽ chèn thêm một số thông tin Những yêu cầu tiếp theo của người dùng gửi đếnserver sẽ chứa thêm thông tin của cookie này, server sẽ đọc các cookie và biết phải làm gìvới các yêu cầu này

1.2.4 Cookie

Trang 11

Một cookie được định nghĩa bằng cặp tên=giá trị (name=value) Hình 1.1 miêu tảhoạt động của cookie với cặp user=1, cho biết tên cookie là user và giá trị của nó là 1.Bên phía người dùng, cookie được điều khiển bởi trình duyệt và “trong suốt” đối vớingười dùng.

HTTP nhận được yêu cầu 1

2 HTTP nhận được trả lời có 1 người dùng cookie = 1

HTTP tiếp theo nhận được yêu cầu từ khách hàng sẽ có

người dùng cookie = 1 4

Trình duyệt của máy khách lưu trữ người sử dụng cookie = 1 trên máy tính 3

Hình 1.1 Cách làm việc của cookie user=1

Trong thiết kế của bộ cân bằng tải, có 3 cách để sử dụng cookie: Cookie chỉ đọc

(Cookie-Read), bộ cân bằng tải chèn cookie nhằm chứng thực server (Cookie-Insert) và ghi đè cookie (Cookie-Rewrite).

+ Cookie-Read

Cách thức hoạt động của cookie-read được mô tả trong hình 1.2 dưới đây Khi ngườidùng lần đầu tiên gửi yêu cầu đến server, do không có cookie trong yêu cầu, nên nó sẽđược phân tải đến server RS1 (1) Server RS1 sẽ tạo và đặt cookie server=1 vào trong dữliệu trả về cho người dùng (2) Trình duyệt của người dùng sẽ nhận trả về này, đọc thấycookies và lưu trữ nó vào trong đĩa cứng (3) Sau đó người dùng có thể đóng trình duyệthoặc ngắt kết nối (giả sử rằng trình duyệt của người dùng không tự động xóa cookie saukhi đóng) Một thời gian sau người dùng kết nối lại và gửi yêu cầu đến bộ cân bằng tải Sau khi kết nối được thiết lập, trình duyệt người dùng sẽ gửi cookie server=1 như là mộtphần của yêu cầu HTTP (4) Bộ cân bằng tải sẽ đọc được cookie này, và do đó sẽ chuyểnyêu cầu của người dùng vào server RS1 Như vậy người dùng sẽ luôn được kết nối vào

Trang 12

server 1 cho đến khi nào cookie còn tồn tại, cho dù người dùng có thể vào website từ cácđịa chỉ IP khác nhau.

Load Balancer

1 3 2

Mạng nội bộ cho 1 doanh nghiệp

hoặc IPS với nhiều máy chủ proxy

Từ IP Proxy1

HTTP trả lời với máy chủ cookie = 1

HTTP yêu cầu với máy chủ cookie = 1 Yêu cầu đầu tiên là cân bằng tải , bởi vì không có cookie, yêu cầu thứ hai chứa máy chủ tập tin cookie = 1 và do đó yêu cầu là tiếp tục có server

1 Máy chủ tạo ra 1 máy chủ cookie = 1 như là một phần câu trả lời cho HTTP

+ Cookie-Insert

Phương pháp này được mô tả trong hình 1.3 Trong phương pháp này, ứng dụng ởserver sẽ không làm gì cả Kịch bản diễn ra tương tự như cookie-read, nhưng ở đây, khiserver trả về dữ liệu cho người dùng (2), bộ cân bằng tải sẽ xem là server nào trả về dữliệu, và chèn vào đó một cookie chứa thông tin về server này, chẳng hạn như cookie

Trang 13

server=1 trong hình vẽ Khi người dùng kết nối lần tiếp theo, bộ cân bằng tải sẽ đọcthông tin về cookie này, và chuyển hướng yêu cầu của người dùng vào đúng server RS1.

Load Balancer

1 3 2

1 2

Mạng nội bộ cho 1 doanh nghiệp

hoặc IPS với nhiều máy chủ proxy

Từ IP Proxy1

HTTP yêu cầu với máy chủ cookie = 1 Yêu cầu đầu tiên là cân bằng tải , bởi vì có cookie, yêu cầu thứ hai chứa máy chủ tập tin cookie = 1 và do đó yêu cầu là tiếp tục có server

1 Cân bằng tải trong suốt chèn các máy chủ cookie = 1 trong phương pháp này

Hình 1.3 Cookie-insert

Ưu điểm của phương pháp này là nó “trong suốt” đối với ứng dụng được cài đặttrên server, hay nói cách khác ứng dụng server sẽ không cần phải tạo ra một cookie haykhông cần quan tâm xem cookie là gì Khi 1 server được thêm mới hoặc xóa bỏ, hoặc khifile cấu hình của bộ cân bằng tải bị thay đổi, người quản trị hệ thống sẽ không cần phải lolắng về việc cập nhập file cấu hình cho server Nhược điểm của phương pháp này là cóthể gây ra quá tải ở bộ cân bằng tải Chúng ta có thể thấy rõ số lượng công việc mà bộcân bằng tải phải làm khi chèn 1 cookie trong hình 1.4 Vì cần phải chèn dữ liệu nên gói

dữ liệu trả về phải được sao lại 1 phần, vì vậy tăng dung lượng bộ nhớ cần thiết ở phía bộcân bằng tải, thêm vào đó còn tăng dung lượng gói tin trả về cho người dùng, có thểkhiến gói tin bị chia đôi, dẫn đến mất dữ liệu

Trang 14

Hình 1.4 Bộ cân bằng tải chèn một cookie

+ Cookie-Rewrite

Phương pháp cookie-read không đòi hỏi bộ cân bằng tải phải làm quá nhiều việcnhư cookie-insert, trong khi đó cookie-insert lại không yêu cầu ứng dụng phía server phảitạo cookie còn cookie-read lại cần Cần phải có một phương pháp dung hòa ưu và nhượcđiểm của 2 phương pháp trên Đó chính là phương pháp ghi đè cookie

Nhược điểm lớn nhất trong cookie-insert là cần phải có một bộ nhớ phức tạp, vàthêm nữa có thể khiến gói tin bị chia thành 2 (do dung lượng vượt quá giá trị lớn nhất củagói tin được chấp nhận ở Ethernet) và dẫn đến mất dữ liệu Chuyện gì sẽ xảy ra nếu nhưchúng ta tạo một chỗ trống ở gói tin để lưu giá trị cookie, và bộ cân bằng tải chỉ cần đặtvào đó giá trị cần thiết Trong phương pháp ghi đè cookie, được mô tả như hình 1.5 ở

dưới, ứng dụng sẽ chèn vào gói tin trả về một cookie server=XXX Tất cả những gì bộ

cân bằng tải phải làm là tìm kiếm đoạn server=XXX này và thay “XXX” bằng giá trị ID

của server, chẳng hạn như server=001.

Trang 15

Hình 1.5 Bộ cân bằng tải ghi đè một cookie

Ưu điểm của phương pháp này là tránh cho bộ cân bằng tải làm việc quá mức vàtránh cho gói tin bị chia nhỏ Bên cạnh đó nó cũng khắc phục được nhược điểm củaphương pháp cookie-read Nó là phương pháp tốt nhất trong 3 phương pháp đã được đềcập ở trên và thường được chọn để dùng trong các bộ cân bằng tải

1.2.5 Cân bằng tải sử dụng phần cứng

Bộ cân bằng tải bằng phần cứng sẽ thể hiện một địa chỉ IP ảo đối với mạng bênngoài, địa chỉ này bản đồ hóa đến các địa chỉ của mỗi máy trong một cluster Chính vìvậy toàn bộ các máy tính trong cluster sẽ chỉ được xem như là một máy duy nhất đối vớithế giới bên ngoài Bộ cân bằng tải sử dụng phần cứng thường hoạt động ở tầng mạng vàhoạt động dựa trên sự định tuyến, sử dụng một trong các phương pháp: Định tuyến trựctiếp (direct routing), tunnelling, IP address translation (NAT)

Khi một request đến bộ cân bằng tải, nó sẽ ghi lại header của request để trỏ đếncác máy khác trong cluster Nếu một máy nào đó bị gỡ bỏ từ cluster thì request sẽ khôngchạy một cách rủi ro việc “hit” vào máy server đã chết này, vì tất cả các máy server kháctrong cluster xuất hiện đều có cùng địa chỉ IP Địa chỉ này duy trì giống nhau thậm chínếu một nút nào đó trong cluster bị hỏng Khi một đáp trả được trả về, client sẽ xem đáptrả đang đến từ bộ cân bằng tải phần cứng Hay nói theo cách khác thì người dùng sẽ xử

lý với một máy tính đó là bộ cân bằng tải sử dụng phần cứng

Trang 16

Cụm máy tính

Hình 1.6 Cân bằng tải sử dụng phần cứng

Ưu điểm của phương pháp này là:

• Mối quan hệ giữa các máy chủ Bộ cân bằng tải phần cứng đọc cookie hoặc các

URL đang được đọc trên mỗi một request bởi máy khách Dựa trên các thông tin này, nó

có thể ghi lại các thông tin header và gửi request đến nút thích hợp trong cluster, nơisession của nó được duy trì

Các bộ cân bằng tải này có thể cung cấp mối quan hệ giữa các máy server trongtruyền thông HTTP, nhưng không thông qua kênh an toàn như HTTPS Trong kênh antoàn, các thông báo được mã hóa SSL và có thể tránh bộ cân bằng tải đọc các thông tinsession

• Khả năng có sẵn cao thông qua hệ thống tự động chuyển đổi dự phòng Việc

chuyển đổi dự phòng xảy ra khi một nút trong cluster không thể xử lý một request vàchuyển hướng nó đến một nút khác Có hai kiểu tự động chuyển đổi dự phòng:

Yêu cầu mức chuyển đổi dự phòng Khi một nút trong cluster không thể xử lý một

Trang 17

Chuyển đổi dự phòng session một cách trong suốt Khi một lời triệu gọi thất bại,

nó sẽ được định tuyến một cách trong suốt đến một nút khác trong cluster để hoàntất công việc

Bộ cân bằng kiểu này cung cấp chuyển đổi dự phòng mức request; tức là khi nóphát hiện có một nút nào đó bị sự cố thì bộ cân bằng này sẽ chuyển hướng tất cả cácrequest theo sau được gửi đến nút này sang một nút tích cực khác trong cluster Mặc dùvậy, bất kỳ một thông tin session nào trên nút chết sẽ bị mất khi các request được chuyểnhướng đến một nút mới

Chuyển đổi dự phòng session trong suốt yêu cầu một số kiến thức về sự thực thicho một quá trình trong một nút, vì bộ cân bằng tải phần cứng chỉ có thể phát hiện cácvấn đề mức mạng, không có lỗi Để thực thi một cách trong suốt về vấn đề chuyển đổi dựphòng, các nút trong cluster phải kết hợp với các nút khác và có vùng bộ nhớ chia sẻ hoặc

cơ sở dữ liệu chung để lưu tất cả các dữ liệu session Cũng chính vì vậy nếu một núttrong cluster có vấn đề thì một session có thể tiếp tục trong một nút khác

• Metrics Vì tất cả các yêu cầu tới một ứng dụng web đều phải qua hệ thống cân

bằng tải, hệ thống có thể quyết định số lượng session hoạt động, số lượng session hoạtđộng được kết nối trong các trường hợp khác nhau, các khoảng thời gian đáp ứng, thờigian tối đa điện áp, số lượng session trong suốt khoảng tối đa điện áp, số lượng sessiontrong suốt khoảng tối thiểu điện áp… Tất cả các thông tin kiểm định này được sử dụng đểtinh chỉnh toàn bộ hệ thống nhằm tối ưu hiệu suất

1.2.6 Cân bằng tải máy chủ với phần mềm

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ũngcung cấp giải pháp theo hướng này Các giải pháp thuộc nhóm này có ưu điểm là quenthuộc với những nhà quản trị chuyên nghiệp, có thể chia sẻ được nhiều tài nguyên trong

hệ thống, theo dõi được trạng thái của các máy chủ trong nhóm để chia tải hợp lý Tuynhiên, do sử dụng phần mềm trên server, tính phức tạp cao nên khả năng mở rộng của

Trang 18

giải pháp này bị hạn chế, phức tạp khi triển khai cũng như khắc phục khi xảy ra sự cố, córào cản về tính tương thích, khó có được những tính năng tăng tốc và bảo mật cho ứngdụng.

1.2.7 Cân bằng tải với 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 phần mềm mã nguồn mở cài trên máy phổ dụng.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áyphổ 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 đặttrên một máy độc lập, dễ quản trị Tuy nhiên, cũng vì chỉ hoạt động ở mức ứng dụng nênhiệu năng không cao, vì sử dụng máy phổ dụng nên không được tối ưu, dễ tồn tại nhiềulỗi hệ thống, vì cài đặt trên một máy độc lập nên việc theo dõi trạng thái của các máy chủgặp khó khăn Nhược điểm lớn nhất của các giải pháp 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.8 Cân bằng tải với thiết bị 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ườnghoạ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ậtphứ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ệuquả thấp Với thuật toán này các yêu cầu về IP của một tên miền ứng với nhiều server sẽđược biên dịch thành địa chỉ IP của các server đó theo thứ tự quay vòng Nhóm này cókhả năng chia tải động kém, không theo dõi được trạng thái của máy chủ, xử lý kết nối ởmức ứng dụng rất kém, dễ gây lỗi ứng dụng và giá thành cao Cách thức này cũng hoàn

Trang 19

toàn không phù hợp đối với các hệ thống yêu cầu tính chuẩn xác của các hoạt động giaodịch như tài chính, ngân hàng.

Như vậy, giải pháp có khả năng theo dõi trạng thái ứng dụng tốt thì mở rộng, tăngtốc, bảo mật kém(GP dùng phần mềm) Giải pháp mở rộng, tăng tốc, bảo mật tốt, thì theodõi trạng thái ứng dụng kém, không ổn định, hiệu năng thấp(GP sử dụng proxy), giảipháp hiệu năng cao, ổn định, mở rộng tốt thì kém thông minh, dễ gây lỗi ứng dụng, tăngtốc kém(GP chia tải nhờ thiết bị chia kết nối) Trong khi đó, tất cả các yêu cầu về hiệunăng cao, ổn định, mở rộng tốt, tăng tốc tốt và bảo mật là rất quan trọng đối với các hoạtđộng của ngân hàng, chứng khoán và các nhà cung cấp dịch vụ GP sẵn có của các hãngchỉ đáp ứng được một phần trong các yêu cầu trên như Module CSS của Cisco, ISA củaMicrosoft, hay Netscaler của Citrix)

1.2.9 Xử lý các yêu cầu kết nối tập trung

Thay vì ủy quyền cho DNS việc phân phối những yêu cầu đến các server riêng lẻtrong một cluster, phuơng pháp xử lý các yêu cầu kết nối tập trung (CentrallizedConnection Routing - CCR) sử dụng một router cục bộ để thực hiện chức năng này

Yêu cầu

Phản ứng

Hình 1.7 Xử lý các yêu cầu kết nối tập trung

Router hoạt động như một bảng chuyển mạch, phân phối các yêu cầu dịch vụ đến cácnode riêng lẻ trong cluster

Trang 20

Ưu điểm của kĩ thuật CCR:

 Việc định huớng lại cho các kết nối Client đến các server thích hợp trong hệ thống

là hoàn toàn trong suốt với người dùng

 Tính linh hoạt cao: khi phát hiện một node bị chết, local router sẽ chuyển tất cảcác yêu cầu kế tiếp đến node khác đang hoạt động

Nhuợc điểm của kĩ thuật CCR:

 Khi kết nối từ client đến routẻ tăng cao toàn bộ hệ thống sẽ gặp tình trạng nút cổchai ngay tại thiết bị này

 Thiết bị router là thiết bị phần cứng nên giá thành cao

 Khi thiết bị trung tâm hong toàn bộ hệ thống sẽ ngưng hoạt động do đó tính chịulỗi thấp

Tóm lại, kỹ thuật xử lý các yêu cầu kết nối tập trung rõ ràng đã giải quyết được vấn đềcân bằng tải trên mạng Tuy nhiên kỹ thuật này có tính chịu lỗi thấp và chi phí cao

Trang 21

CHƯƠNG II GIẢI PHÁP CÂN BẰNG TẢI TRÊN FILE SERVER

2.1 GIỚI THIỆU CÂN BẰNG TẢI TRÊN FILE SERVER

2.1.1 Giới thiệu Windows Server 2008

Window Server 2008 là hệ điều hành cho máy chủ được sản xuất bởi Microsoft,được giới thiệu giới thiệu ngày 04 tháng 02 năm 2008 có nhiều tính năng hơn so với hệđiều hành Windowns 2000 và Windows Server 2003 trước đó Windowns Server 2008thiết kế nhằm tăng sức mạnh cho các mạng, ứng dụng và dịch vụ Web thế hệ mới VớiWindows Server 2008, bạn có thể phát triển, cung cấp và quản lý các trải nghiệm ngườidùng và ứng dụng phong phú, đem tới một hạ tầng mạng có tính bảo mật cao, và tăngcường hiệu quả về mặt công nghệ và giá trị trong phạm vi tổ chức của mình WindowsServer 2008 kế thừa những thành công và thế mạnh của các hệ điều hành WindowsServer thế hệ trước, đồng thời đem tới tính năng mới có giá trị và những cải tiến mạnh

mẽ cho hệ điều hành cơ sở này Công cụ Web mới, công nghệ ảo hóa, tính bảo mật tăngcường và các tiện ích quản lý giúp tiết kiệm thời gian, giảm bớt các chi phí, và đem tớimột nền tảng vững chắc cho hạ tầng Công nghệ Thông tin của bạn Hệ điều hànhWindows Server 2008 hiện có 7 phiên bản bao gồm: Windows Server 2008 Standard(Bản tiêu chuẩn), Windows Server 2008 Enterprise (Bản dungfcho doanh nghiệp),Windows Server 2008 Datacenter (Bản dùng cho trung tâm dữ liệu), Windows WebServer 2008 (Bản dùng cho Web), Windows Server 2008 dành cho các hệ thống dựa trênnền tảng Itanium, Windows Server 2008 Standard without Hyper-V (Bản tiêu chuẩn,không có Hyper-V), cuối cùng là bản Windows Server 2008 Datacenter without Hyper-V(Bản dùng cho Trug tâm dữ liệu, không có Hyper-V) Hệ điều hành tiếp theo đã pháthành trên thị trường là Windows Server 2012 (hay còn gọi là Windows Server 8) (WS8)

là tên mã cho hệ điều hành Windows tương lai được phát triển bởi Microsoft Nó là mộtphiên bản Windows 8 và nối tiếp phiên bản Windows Server 2008 R2 Windows Server 8

là phiên bản Windows Server đầu tiên không hỗ trợ cho các máy tính dựa nền tảng kiếntrúc Itanium từ lúc ra đời Windows NT 4.0 Một phiên bản phát triển thử nghiệm (phiênbản Beta) được công bố vào ngày 9 tháng 9 năm 2011 tới các lập trình viên phát

Trang 22

triển MSDN Vào ngày 1 tháng 3 năm 2012, Microsoft phát hành phiên bản Beta côngcộng beta (build 8250)

2.1.2 Tại sao phải xây dựng hệ thống cân bằng tải

Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóng vaitrò 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 Thậm chí ở một số đơn vị, chẳng hạn như các công ty hàng khônghoặc ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển hoạt động củatoàn doanh nghiệp Sự ngừng hoạt động của mạng máy tính hay sự hoạt động kém hiệuquả của mạng máy tính trong những cơ quan này có thể làm tê liệt các hoạt động chínhcủa đơn vị, và thiệt hại khó có thể lường trước được

Chúng ta đều biết 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ệ Điều đáng tiếc là dù các hãng sảnxuất đã cố gắng làm mọi cách để nâng cao chất lượng của thiết bị, nhưng những 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ánhkhỏ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ộtcông cụ phân phối tải - Giải pháp cân bằng tải Có rất nhiều hãng đưa ra giải pháp cânbằng tải như Cisco, Coyote Point, Sun Microsystems với rất nhiều tính nǎng phongphú Tuy nhiên, về cơ bản, nguyên tắc cân bằng tải vẫn xuất phát từ những quan điểm kỹthuật khá tương đồng Một kỹ thuật cân bằng tải điển hình là RRDNS (Round RobinDNS) Với giải pháp này, nếu một server trong nhóm bị lỗi, RRDNS sẽ vẫn tiếp tục gửitải cho server đó cho đến khi người quản trị mạng phát hiện ra lỗi và tách server này rakhỏi danh sách địa chỉ DNS Điều này sẽ gây ra sự đứt quãng dịch vụ Sau những pháttriển, từ các thuật toán cân bằng tải tĩnh như Round Robin, Weighted Round Robin đến

Trang 23

các thuật toán cân bằng tải động như Least Connection, Weighted Least Connection,Optimized Weighted Round Robin và Optimized Weighted Least Connection, kỹ thuậtcân bằng tải hiện nay nhờ sự kết hợp các thuật toán trên ngày càng trở nên hoàn thiệnmặc dù nhược điểm vốn có như tạo điểm lỗi đơn và vấn đề nút cổ chai do sử dụng bộđiều phối tập trung (centralized dispatcher) vẫn còn Ngoài khả nǎng áp dụng với Webserver, kỹ thuật này còn có thể áp dụng với các hệ server ứng dụng khác SLB không chỉlàm nhiệm vụ phân phối tải cho các server mà còn còn cung cấp cơ chế đảm bảo hệ thốngserver luôn khả dụng trước các client SLB không có yêu cầu đặc biệt gì về phần cứng,bất cứ máy tính nào hợp chuẩn đều có thể được sử dụng làm server Chi phí triển khainhờ đó giảm đáng kể Kiến trúc phần mềm phân tán của SLB cho phép cung cấp hiệunǎng và tính khả dụng của kỹ thuật này ở mức cao nhất.

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

Hì nh

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

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

Trang 24

- 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ốngserver 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ệcquá 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 ?

- Trường đại học, viện nghiên cứu…

2.2 Các thành phần của cân bằng tải File Server

2.2.1 Chức năng của các thành phần cân bằng tải File Server

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:

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

Trang 25

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 Nếu máy chủ nào không hoạt độngđúng chức năng, máy chủ đó bắt buộc phải đưa ra khỏi danh sách xoay vòng.Cung cấp sự đa dạng bằng việc tận dụng nhiều hơn một đơn vị trong các tìnhhuống fail-over (fail-over là khả năng tự động chuyển qua các thiết bị dựphòng khi gặp tình huống hỏng hóc hoặc trục trặc Việc thực thi này đượcthực hiện mà không có sự can thiệp của con người cũng như không có bất sựcảnh báo nào)

Cung cấp sự phân phối dự trên sự hiểu biết về nội dung ví dụ như đọc URL,can thiệp vào cookies hoặc truyền XML

 Server Load Balancers: Load Balancer là một thiết bị phân phối tải giữa các máytí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à một dạng thể hiện của của cân bằng tải Mỗi VIP sửdụng một địa chỉ công khai IP Bên cạnh đó, một cổng TCP hay UDP sẽ đi kèmvới một VIP như cổng TCP 80 được dành cho luồng dữ liệu của web Một VIP sẽ

có ít nhất một máy chủ thực sự được gán địa chỉ IP đó và máy chủ này sẽ làmnhiệm vụ phân phối luồng dữ liệu được chuyển đến Thường thường thì sẽ có vàimáy chủ và VIP sẽ dàn đều luồng dữ liệu đến cho các máy chủ bằng cách sử dụngcác metric hoặc các phương thức được mô tả trong phần “Active - ActiveScenario” sau đâ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 Máy chủ thường được ám chỉ tới các máy chủ HTTP, mặc dù các máychủ khác hoặc ngay cả những dịch vụ khác có liên quan Một máy chủ thường cómột địa chỉ IP và một cổng TCP/UDP gắn liền với nó và không có địa chỉ IP côngkhai (điều này còn phụ thuộc vào topo của mạng)

Trang 26

 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ậtngữ 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.Không chỉ những nhà cung cấp thiết bị khác nhau cung cấp những cấp độ truynhập khác nhau, mà hầu hết các dịch vụ cũng sẽ có những cách thức truy nhập rấtkhác nhau Cách triển khai phổ biến nhất là của Cisco, cung cấp truy nhập dựa trêntài khoản người dùng (cho phép cả tài khoản superuser) Một phương thức phổbiến khác là cách thức truy cập cấp độ người dùng được dùng trong các hệ thốngUnix

- Read-only: Cấp độ truy cập chỉ đọc (Read-only) không cho phép bất kỳ một thay đổinào được thực hiện Một người dùng có quyền chỉ đọc chỉ có thể xem các thiết đặt, cáccấu hình, và nhiều thứ khác nữa nhưng không thể thực hiện được bất kỳ một thay đổi nào

cả Một tài khoản như thế được sử dụng để xem các thống kê hiệu suất hoạt động củathiết bị.Truy nhập chỉ đọc thường là cấp độ truy cập đầu tiên của một người dùng khiđăng nhập vào hệ thống trước khi thay đổi sang các chế độ với quyền truy cập cao hơn

- Superuser: Superuser là cấp độ truy cập cho phép người dùng có đầy đủ quyền điềukhiể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ốngvớ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ùngtrung 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ẽ đượcthay 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ủatoàn bộ hệ thống Thiết bị được thay thế sẽ thực hiện những chức năng giống như thiết bị

bị thay thế Hầu hết các thiết bị trên thị trường đều có khả năng này

Trang 27

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 haithiế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ạnghoạt động của thiết bị còn lại Trong một vài tình huống, cả hai thiết bị đều hoạt động,đáp ứng các luồng dữ liệu đến Trong một vài tình huống khác, sẽ chỉ có một thiết bị hoạtđộng chính, thiết bị còn lại sẽ được sử dụng trong tình huống hỏng hóc hoặc trục trặc.

 Vai trò của việc dự phòng

Trong giải pháp dự phòng, tồn tại một quan hệ là active - standby Một thiết bị, haycòn gọi là thiết bị đang hoạt động thực hiện một vài hoặc đầy đủ các chức năng chính,trong khi đó thiết bị dự phòng sẽ đợi để thực hiện những chức năng này Mối quan hệ nàycũng có thể được gọi là mối quan hệ master/slave

Trong những tình huống nhất định, cả hai thiết bị sẽ là chủ (master) trong một vàichức năng và làm phục vụ (slave) trong một vài chức năng khác nhằm phân tán tải Cũngtrong một vài tình huống khác, cả hai thiết bị đều là chủ (master) của tất cả các chức năngđược chia sẻ giữa hai thiết bị Quan hệ này còn được gọi là quan hệ active - active

 Kịch bản Active - Standby (hoạt động - chờ)

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ậntoà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ụctrặc

Trang 28

Hình 2.

Hình 2.2: 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

Load Balancer (Active )

Load Balancer (Master)

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

 Kịch bản Active - Active

Load Balancer (Standy) Load Balancer

(Active )

Trang 29

Có một vài biến thể của kịch bản này Trong tất cả các trường hợp, cả hai thiết bị đềuchấ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ặcthì 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.Trong một biến thể khác, VIPs được phân phối giữa hai thiết bị cân bằng tải (LoadBalancer - LB) để chia sẻ luồng dữ liệu đến VIP 1 đến LB A, VIP 2 đến LB B.

VIP 2 VIP 1

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

Trong một biến thể khác, cả hai VIPs sẽ đều trả lời trên cả hai LB với một giao thức phá

vỡ sự hạn chế rằng cả hai LB sẽ không có cùng một địa chỉ IP

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

Trang 30

Trong tất cả các kịch bản active - active, nếu một LB gặp trục trặc, các VIP còn lại sẽ tiếptục trả lời trên LB còn lại Những thiết bị còn lại sẽ thực thi hết tất cả các chức năng.Hình 2-6.

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

Giao thức dự phòng phổ biến nhất là giao thức VRRP (Virtual Router RedundancyProtocol) Đây là một chuẩn mở và các thiết bị được cho là hỗ trợ VRRP sẽ đều phù hợpđối với các đặc điểm được mô tả trong RFC 2338

Mỗi một thiết bị trong một cặp gửi đi các packet và nhận phản hồi từ các thiết bị còn lại.Nếu không nhận được phản hồi từ các thiết bị khác thì thiết bị này sẽ đánh giá là thiết bịkia bị vô hiệu hóa và bắt đầu thực hiện tiếp quản tất cả các chức năng

Chúng ta không cần nắm rõ tất cả các chi tiết bên trong của giao thức VRRP, tuy nhiênmột vài đặc điểm của giao thức này cũng cần được nắm rõ VRRP sử dụng cổng UDP

1985 để gửi đi các packet tới địa chỉ multicast là 225.0.0.2 Những chi tiết này sẽ rất hữuích trong khi làm việc với các bộ lọc IP hoặc các thiết bị có chức năng tường lửa

VRRP đòi hỏi cả hai thiết bị đều có thể giao tiếp được với nhau Nếu như cô lập một

Trang 31

tiếp quản trạng thái master Trường hợp này có gây ra những lỗi nghiêm trọng trongmạng bởi vì xung đột địa chỉ IP hoặc các vấn đề khác sẽ xảy ra khi cả hai thiết bị đềunghĩ rằng chúng đang là thiết bị đang hoạt động trong kịch bản active - standby.

 Kiểm tra dịch vụ (Service Checking)

Một nhiệm vụ của thiết bị SLB là nhận biết khi nào server hoặc dịch vụ bị treo và loại bỏserver đó ra khỏi danh sách quay vòng Tính năng này còn được gọi là kiểm tra tình trạng(Health Checking) Có một số cách để thực hiện việc kiểm tra này từ cách đơn giản nhấtnhư ping kiểm tra, kiểm tra cổng (kiểm tra xem cổng 80 có trả lời hay không) hoặc kiểmtra nội dung trong trường hợp web server được truy vấn cho các phản hồi đặc biệt nào đó.Một thiết bị SLB sẽ chạy kiểm tra các dịch vụ một cách liên tiếp, quan những khoảngthời gian được người dùng định nghĩa sẵn

 Thuật toán cân bằng tải (Load Balancing Algorithm)

Tùy theo những yêu cầu nhất định của người dùng mà có một số cách thức phân tán tảigiữa các nhóm server sử dụng một metric cho sẵn Các cách thức đó dựa trên các thuậttoán được lập trình sẵn trong thiết bị Các cách thức này chạy ở lớp trên cùng và kết hợpđược với bất kỳ một cách thức duy trì tính liên tục nào Chúng được gán cho những VIPriêng lẻ

Trang 32

 Cơ sở hạ tầng cung cấp

Hạ tầng cơ sở mạng là sự kết hợp của các mạng thành phần cung cấp kết nối tới Internet,Extranet hoặc Intranet cho máy chủ web Nó kết nối giữa các máy chủ web và người sửdụng dịch vụ Có hai cách để thực hiện điều này: tại một địa điểm được kiểm soát bởimột site hoặc một địa điểm được duy trì bởi một colocation / nhà cung cấp dịch vụhosting cho các công ty

- Trung tâm dữ liệu: Các site của chúng ta dù chạy ở các mạng cục bộ hay chạy trên máychủ của các nhà cung cấp hosting thì chúng đều được đặt tại các data center Data Center

là một khái niệm dùng để chỉ một khu vực có độ an toàn cao, môi trường được điều tiết(thường sử dụng điều hòa không khí), các thiết bị phòng cháy chữa cháy không sử dụngnước (như Halon hoặc FM200) và hệ thống các UPS lưu trữ điện năng Số tiền được đầu

tư vào đây có thể là một khía cạnh để xác định chất lượng của một data center

- Leased Line: Một site có thể chạy với một hoặc nhiều các kết nối leased line của mộthay nhiều nhà cung cấp dịch vụ Leased line đơn giản có thể là các đường DSL cũng cóthể rất phức tạp như sử dụng nhiều đường OC3s chạy trên các phiên BGP đầy đủ tớinhiều nhà sử dụng Lợi ích mà Leased line đem lại là người chủ có toàn quyền điều khiển

và truy cập vào các thiết bị của mình

- Colacation: Là một dịch vụ cho phép bạn lắp đặt và sắp xếp các máy chủ của mình tạiđịa điểm của nhà cung cấp dịch vụ Thông thường là các rack hoặc các lồng an ninh Nhàcung cấp sẽ đảm bảo an toàn, cung cấp điện năng, điều hòa không khí cũng như băngthông cho các thiết bị của bạn Những nhà cung cấp dịch vụ này sẽ cho phép các thiết bịcủa bạn kết nối tới các đường kết nối backbone của họ thông qua “network drop” thường

là sử dụng đường kết nối Ethernet Điểm lợi của cách này là băng thông của nhà cung cấpdịch vụ thường có khả năng mở rộng hơn là những gì bạn có với các thiết bị của mình.Nếu bạn muốn mở rộng băng thông từ nhà cung cấp dịch vụ, bạn chỉ cần yêu cầu nhàcung cấp hoặc nâng cấp các kết nối Ethernet của mình Còn nếu khi bạn sử dụng Leasedline như ở trên thì bạn phải mất từ 30 ngày đến 6 tháng để yêu cầu công ty viễn thông

Trang 33

tăng thêm băng thông cho đường kết nối của mình như đường T-1 (1,5 Mbps) hoặc DS-3(45 Mbps), với các đường kết nối có băng thông lớn hơn thì sẽ cần thời gian lâu hơn.Colocation là một dịch vụ được ưa chuộng nhất hiện nay bới các yếu tố giá cả và khảnăng mở rộng mà nó đem lại Dịch vụ này sẽ tốn ít chi phí và dễ dàng triển khai hơn đốivới các công ty vì các công ty sẽ không cần phải quan tâm đến data center cũng như làcác đường kết nối Các đường kết nối mạng thường thường rất phức tạp, có liên quan đếncác điểm ngang hàng, các leased line tới các nhà cung cấp, và có thể là chính đườngbackbone của bạn Thông thường, tất cả các site chỉ cần quan tâm đến network drop từnhà cung cấp dịch vụ.

2.2.2 Kiến trúc hệ thống cân bằng tải

Để tối đa hoá thông lượng và độ khả dụng, công nghệ cân bằng tải sử dụng kiếntrúc phần mềm phân tán hoàn toàn, trình điều khiển cân bằng tải được cài đặt và chạysong song trên tất cả các host trong nhóm Trình điều khiển này sắp xếp tất cả các hosttrong nhóm vào một mạng con để phát hiện đồng thời lưu lượng mạng đến địa chỉ IPchính của nhóm (và các địa chỉ bổ sung của các host ở nhiều vị trí khác nhau) Trên mỗihost, trình điều khiển hoạt động như một bộ lọc giữa trình điều khiển card mạng và chồnggiao thức TCP/IP, cho phép một phần lưu lượng mạng đến được nhận bởi host đó Nhờ

đó, các yêu cầu của client sẽ được phân vùng và cân bằng tải giữa các host trong nhóm

Kiến trúc này tối đa hoá dung lượng nhờ việc sử dụng mạng quảng bá để phânphối lưu lượng mạng đến tất cả các host trong nhóm và loại bỏ sự cần thiết phải địnhtuyến các gói đến từng host riêng lẻ Do thời gian lọc các gói không mong muốn diễn ranhanh hơn thời gian định tuyến các gói (định tuyến bao gồm các quá trình nhận gói, kiểmtra, đóng gói lại và gửi đi), kiến trúc này cung cấp thông lượng cao hơn các giải pháp dựatrên bộ điều phối Khi tốc độ của mạng và server tǎng lên, thông lượng cũng tǎng theo tỉ

lệ thuận, do đó loại bỏ được bất cứ sự lệ thuộc nào vào việc định tuyến dựa trên các phầncứng đặc biệt Trên thực tế, bộ cân bằng tải có thể đạt thông lượng 250Mbit/s trong cácmạng Gigabit Một ưu điểm cơ bản khác của kiến trúc phân tán hoàn toàn là độ 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 Các giải pháp

Trang 34

dựa trên bộ điều phối tạo ra một điểm lỗi kế thừa mà chỉ có thể được khắc phục bằngcách sử dụng một bộ điều phối dự phòng và do đó chỉ cung cấp một cách khắc phục lỗiduy nhất.

Kiến trúc cân bằng tải cũng tận dụng được những ưu điểm về kiến trúc các thiết bịchuyển mạch (switch) hoặc các bộ tập trung (hub) của mạng con trong việc đồng thờiphân phối lưu lượng mạng đến tất cả các host trong nhóm Tuy nhiên, phương pháp nàylàm tǎng "tải trọng" trên các chuyển mạch do chiếm thêm bǎng thông cổng Đây khôngphải là vấn đề trong phần lớn các ứng dụng như dịch vụ Web hay streaming media, do tỉ

lệ lưu lượng đến chỉ chiếm một phần rất nhỏ trong tổng lưu lượng mạng Tuy nhiên, nếucác kết nối mạng phía client đến thiết bị chuyển mạch có tốc độ nhanh hơn nhiều các kếtnối phía server, lưu lượng có thể chiếm một tỉ lệ lớn quá mức cho phép của bǎng thôngcổng phía server Vấn đề tương tự sẽ gia tǎng nếu nhiều nhóm kết nối trên cùng một thiết

bị chuyển mạch và các biện pháp thiết lập các mạng LAN ảo cho từng nhóm không đượcthực hiện Trong quá trình nhận gói, việc triển khai của SLB là sự kết hợp giữa việc phânphối các gói tới tầng TCP/IP và nhận các gói khác qua trình điều khiển card mạng Việcnày giúp tǎng tốc độ xử lý chung và giảm trễ do TCP/IP có thể xử lý gói trong khi trìnhđiều khiển NDIS (Network Driver Interface Specification) nhận gói tiếp theo Trong quátrình gửi gói, SLB cũng tǎng cường thông lượng, giảm độ trễ và phụ phí (overhead) nhờtǎng số lượng gói mà TCP/IP có thể gửi trong một kết nối Để có được những cải thiện vềhiệu nǎng này, SLB thiết lập và quản lý một tập hợp các bộ đệm gói và các ký hiệu(descriptor) được sử dụng để phối hợp các hoạt động của TCP/IP và trình điều khiểnNDIS

2.2.3 Hoạt động của hệ thống cân bằng tải File Server

Mô hình SLB đơn giản được mô tả như ở hình dưới đây

Trang 35

Load Balancer Computer

Hình 2.7: Hệ thống SLB đơn giản

SLB mở rộng hiệu nǎng của các server ứng dụng, như File server, Web serverchẳng hạn, nhờ phân phối các yêu cầu của client cho các server trong nhóm (cluster) Cácserver (hay còn gọi là host) đều nhận gói IP đến, nhưng gói chỉ được xử lý bởi một servernhất định Các host trong nhóm sẽ đồng thời đáp ứng các yêu cầu khác nhau của cácclient, 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ânphố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 chomỗ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ânbằ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 Cácserver trong nhóm cân bằng tải phát đi một bản tin đặc biệt thông báo trạng thái hoạtđộng của nó (gọi là heartbeat message) tới các host khác trong nhóm đồng thời nghe bảntin này từ các khác host khác Nếu một server trong nhóm gặp trục trặc, các host khác sẽđiều chỉnh và tái phân phối lại tải để duy trì liên tục các dịch vụ cho các client Trongphần lớn các trường hợp, phần mềm client thường tự động kết nối lại và người sử dụngchỉ cảm thấy trễ một vài giây khi nhận được đáp ứng trả lời

Trang 36

2.3 Triển khai hệ thống File Server

2.3.1 Giới thiệu DFS (Distributed File System)

DFS được sử dụng để xây dựng cấu trúc phân cấp đại diện cho nhiều vị trí chia sẻ dữ liệutrên nhiều File server khác nhau Nếu trong mạng của bạn có nhiều File server, mỗi Fileserver đó có một vài thư mục chia sẻ chứa dữ liệu, bạn sẽ gặp khó khăn khi phải nhớ chia

sẻ nào nằm trên server nào Nhưng với DFS, thay vì phải nhớ từng share gắn với từngFile server, bạn sẽ chỉ phải nhớ một tên duy nhất để có thể đi tới tất cả chia sẻ trên tất cảserver Bạn có thể tưởng tượng cái tên đó như là một “home” của tất cả shared files, trong

“home” đó chứa đường dẫn trỏ tới vị trí thực sự của các thư mục chia sẻ trên các Fileserver DFS có thể dẫn client tới File server gần nhất có thể bằng cách sử dụng “ActiveDirectory site metric” DFS cũng có thể cài trên một hệ thống Cluster để cung cấp hiệunăng tốt hơn và độ tin cậy cao hơn Để hiểu DFS làm việc như nào, chúng ta cần phảihiểu một số thuật ngữ:

DFS Root: là tên gốc cho mọi đường dẫn DFS Bạn có thể hiểu nó như một “Root

Share”, trong đó bạn có thể có các tệp tin và thư mục khác

DFS Link: đường dẫn tới một thư mục chia sẻ nằm ở một vị trí cụ thể nào đó trên

mang Khi user truy cập tới DFS Link sẽ được chuyển hướng sang thư mục chia sẻthật

DFS Target (Replica): có thể là DFS Root hay DFS Link Nếu bạn có 2 chia sẻ

giống hệt nhau nhưng lưu trữ ở 2 vị trí khác nhau, bạn có thể nhóm chúng vàochung trong một DFS Target

Trang 37

và người dùng có thể truy xuất đến DFS thông qua đường dẫn \\domainname\dfsname.

Dạng này thường được áp dụng trong trường hợp các Bạn muốn xây dựng các FilesServer đồng bộ với nhau, mục đích chính là đảm bảo tính liên tục trên hệ thống một khi

có sự cố ở một Files Server nào đó thì Files Server khác sẽ thay thế VÀ dữ liệu tự độngnhân bản, cập nhật cho toàn bộ hệ thống DFS Server

2 Stand-alone DFS: Là hệ thống DFS trên một máy Server Stand-alone Người

dùng truy xuất hệ thống DFS thông qua đường dẫn \\servername\dfsname Dạng này

thường được dùng trong trường hợp các Bạn muốn tất cả các Files Server được QUI vềmột mốt kết nối duy nhất Người sử dụng chỉ cần kết nối tới DFS Server là có thể truyxuất tới các Files Server khác theo kiểu duyệt cây thư mục

2.4 Các thuật toán cân bằng tải

2.4.1 Thuật toán Round Robin:

Ngày đăng: 09/03/2014, 21:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3]. Lê Văn Long, “Quản trị mạng”, bài giảng Khoa CNTT- Đại học Duy Tân, Lưu hành nội bộ Sách, tạp chí
Tiêu đề: Quản trị mạng
[4]. Nguyễn Gia Như “Thiết kế mạng”, bài giảng Khoa CNTT - Đại học Duy Tân, Lưu hành nội bộ Sách, tạp chí
Tiêu đề: Thiết kế mạng
[1]. Vũ Duy Lợi (2002), Mạng thông tin máy tính. NXB Thế giới Khác
[2]. Vương Đạo Vi, Mạng truyền dữ liệu. NXB Đại Học Quốc Gia Hà Nội Khác
[5]. Hồng Phúc (2005), Tối Ưu Hóa Thực Thi Mạng Với Content Switching Server, Firewall Và Cân Bằng Tải, NXB Thống kê Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.4 Bộ cân bằng tải chèn một cookie - tìm hiểu kỹ thuật cân bằng tải file server
Hình 1.4 Bộ cân bằng tải chèn một cookie (Trang 13)
Hình 1.5  Bộ cân bằng tải ghi đè một cookie - tìm hiểu kỹ thuật cân bằng tải file server
Hình 1.5 Bộ cân bằng tải ghi đè một cookie (Trang 14)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w