Tải bản đầy đủ (.docx) (73 trang)

Nghiên cứu và triển khai ứng dụng kỹ thuật cân bằng tải trên microsoft windows server 2008

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.69 MB, 73 trang )

LỜI CẢM ƠN
Qua một thời gian học tập và hoàn thành đồ án tốt nghiệp với đề
tài :“Nghiên cứu và triển khai kỹ thuật cân bằng tải trên Microsoft windows
server 2008” . Nhân dịp này:
Em xin chân thành cảm ơn sự giúp đỡ và đóng góp ý kiến của các thầy, cô
giáo trong bộ môn mạng và truyền thông – khoa công nghệ thông tin- Đại học
Công Nghệ Thông Tin và Truyền Thông – Đại Học Thái Nguyên.
Cuối cùng, em xin được gửi tới thầy giáo đã trực tiếp hướng dẫn em thực
hiện đồ án này: ThS. Đinh Xuân Lâm lời cảm ơn chân thành và sâu sắc nhất.
Thầy đã tận tình chỉ bảo và giúp đỡ em hoàn thành bản báo cáo này.
Em xin chân thành cảm ơn !!!
Thái nguyên, tháng 06 năm 2012
Sinh viên :Võ Thị Thu Trang

1


LỜI CAM ĐOAN
Em xin cam đoan:
Những nội dung trong báo cáo này là do em thực hiện dưới sự hướng dẫn
trực tiếp của thầy giáo hướng dẫn :ThS. Đinh Xuân Lâm.
Mọi tham khảo dùng trong báo cáo đều được trích dẫn rõ ràng tên tác giả,
tên công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo em xin chịu hoàn
toàn trách nhiệm.

Thái nguyên, tháng 06 năm 2012
Sinh viên :Võ Thị Thu Trang

2



MỤC LỤC

3


DANH MỤC HÌNH ẢNH

4


LỜI MỞ ĐẦU
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 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. Thậm chí ở một số đơn vị, chẳng hạn như
các công ty hàng không hoặc cá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ủa toàn doanh nghiệp. Sự ngừng hoạt động 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ính
của đơn vị, và thiệt hại khó có thể lường trước được.
Trong mạng máy tính máy chủ đóng vai trò quan trọng trong toàn bộ hệ
thống mạng, nó là trung tâm, là nơi điều hành mọi hoạt động của toàn bộ hệ
thống mạng, 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ản xuấ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á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, và công nghệ clustering (bó) là câu trả lời cho vấn
đề này. Đó cũng là lý do thôi thúc em tìm hiểu về kĩ thuật cân bằng tải và ứng
dụng của nó trên Window Server. Đó cũng là nội dung chính của đề tài em lựa
chọn là: ”NGHIÊN CỨU VÀ TRIỂN KHAI KỸ THUẬT CÂN BẰNG TẢI

TRÊN MICROSOFT WINDOWS SERVER 2008 ”.
Cấu trúc đồ án tốt nghiệp của em bao gồm các nội dung chính sau:
- CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ CLUSTERING VÀ LOAD
BALANCING
- CHƯƠNG 2: CÔNG NGHỆ CLUSTERING VÀ LOAD BALANCING
- CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG NETWORK
LOAD BALANCING
Dưới sự hướng dẫn của thầy giáo Th.S Đinh Xuân Lâm qua một thời
gian nghiên cứu, tìm hiểu em đã hoàn thành đồ án tốt nghiệp của mình. Do thời
gian có hạn, vốn kiến thức còn hạn chế nên không thể tránh khỏi những thiếu sót

5


và những khuyết điểm về câu chữ. Em rất mong nhận được những đóng góp quý
báu của các thầy các cô để bản đồ án của em được hoàn thiện hơn nữa.
Một lần nữa em xin chân thành cảm ơn thầy giáo Th.S Đinh Xuân Lâm,
các thầy cô trong khoa CNTT - Đại Học Công Nghệ Thông Tin và Truyền
Thông và các bạn đã giúp đỡ em hoàn thành đồ án này.
Sinh viên thực hiện
Võ Thị Thu Trang

6


CHƯƠNG 1
TỔNG QUAN VỀ CÔNG NGHỆ CLUSTERING VÀ NETWORK LOAD
BALANCING
1.1Tổng quan về đề tài
1.1.1 Mục tiêu của đề tài

Ngày nay khi dịch vụ sử dụng internet ngày càng lớn và các server đang
trở lên quá tải thì việc đưa ra một giải pháp hiệu quả ngoài việc chọn các server
có cấu hình cao là việc cần thiết để có thể tiết kiệm chi phí đầu tư. Kĩ thuật cân
bằng tải chính là giải pháp cho vấn đề này.
Đề tài này nhằm mục tiêu nghiên cứu các định nghĩa về cân bằng tải, cách
thức hoạt động và kiến trúc của công nghệ clustering và load balancing ngoài ra
còn xây dựng chương trình mô phỏng về ứng dụng của kĩ thuật cân bằng tải trên
window Server.
Trong quá trình tìm hiểu và thực hiện đề tài, em đã hết sức cố gắng nhưng
có thể còn thiếu sót, em rất mong nhận được sự chỉ bảo, góp ý và thông cảm
của các thầy cô giáo, để em có cơ hội được tiếp tục nghiên cứu sâu hơn nữa và
phát triển về đề tài này.
1.1.2 Ý nghĩa của đề tài
Hiện nay, khi nhu cầu truy nhập mạng bùng nổ, các server cung cấp dịch
vụ đang trở nên quá tải. 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. 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. Có rất nhiều hãng
đưa ra giải pháp cân bằng tải như Cisco, Coyote Point, Sun Microsystems... với
rất nhiều tính nóng phong phú. 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. Giới thiệu Hiện nay, khi

7


nhu cầu truy nhập mạng bùng nổ, các server cung cấp dịch vụ đang trở nên quá
tải. 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. 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. Có rất nhiều hãng đưa ra giải pháp cân

bằng tải như Cisco, Coyote Point, Sun Microsystems... với rất nhiều tính nǎng
phong phú. 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.
NLB 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ống server tính luôn khả dụng trước các client.
NLB 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 khai nhờ đó giảm đáng kể.
Kiến trúc phần mềm phân tán của NLB cho phép cung cấp hiệu nǎng và tính khả
dụng của kỹ thuật này ở mức cao nhất. NLB hoạt động như thế nào NLB 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 server (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 server
nhấ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ác client, cho dù một client có thể đưa ra nhiều yêu cầu. Ví dụ, một trình duyệt
Web cần rất nhiều hình ảnh trên một trang Web được lưu trữ tại nhiều host khác
nhau trong một nhóm server. Với kỹ thuật cân bằng tải, quá trình xử lý và thời
gian đáp ứng client sẽ nhanh hơn nhiề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.
Đối với các ứng dụng như Web server, có rất nhiều client và thời gian mà
các yêu cầu của client tồn tại tương đối ngắn, khả nǎng của kỹ thuật này nhằm
phân phối tải thông qua ánh xạ thống kê sẽ giúp cân bằng một cách hiệu quả các
8


tải và cung cấp khả nǎng đáp ứng nhanh khi nhóm server có thay đổi. Các server
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ản tin 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. Trong phầ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ụng chỉ cảm thấy trễ một vài giây khi nhận được đáp ứng
trả lời. 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ến trú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ạy song 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 host trong 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ỉ IP chính của nhóm
(và các địa chỉ bổ sung của các host ở nhiều vị trí khác nhau).
Ngoài những ứng dụng tích hợp trong Windows2000, NLB còn có thể tích
hợp trong các hệ điều hành mạng và các ứng dụng chạy trên server khác một
cách hiệu quả.
1.2 Một vài khái niệm cơ bản
1.2.1 Thế nào là tính sẵn sàng cao?
Tính sẵn sàng cao là một ưu tiên hàng đầu cho nhiều hoạt động kinh
doanh. Từ các doanh nghiệp nhỏ và trong vùng cho tới các doanh nghiệp toàn
cầu ngày càng có nhiều ngành đòi hỏi các công ty với dịch vụ khách hàng và
máy tính cao hơn. Sự dựa vào nhiều hơn đối với các hệ thống dựa trên máy chủ
để trang bị hoạt động kinh doanh có nghĩa là các dịch vụ máy chủ đó cũng cần
vận chuyển liên tục.
Các ứng dụng quan trọng, như CSDL doanh nghiệp và email, thường cần
được ở trong các hệ thống và cấu trúc mạng được thiết kế cho tính sẵn sàng cao.
Điều này cũng đúng với các Website bán lẻ và các hoạt động kinh doanh trên nền
web khác. Các tổ chức nhận ra rằng họ phải lên kế hoạch và cấu hình hệ thống

9



của mình với tính sẵn sàng cao, để mà họ có thể dựa vào chúng với những dịch
vụ liên tục.
Tính sẵn sàng cao cũng là một ưu tiên hàng đầu của Microsoft. Các sản
phẩm và chương trình của Microsoft có thể giúp bạn đạt được tính sẵn sàng cao
hơn cho máy chủ và các tải công việc của bạn ở các mức độ khác nhau, từ mức
cơ bản của việc sử dụng nhiều phần cứng cho tới những phương pháp tập trung
nhất của việc clustering máy chủ.
Sẵn sàng cao là bản chất của các ứng dụng quan trọng được cung cấp một
cách nhanh chóng và đáng tin cậy cho khách hàng với các dịnh vụ tìm kiếm. Nếu
một khách hàng không có các dịch vụ của công ty mà sau đó chúng ta lại không
có sẵn các dịch vụ dự phòng. Giả sử Công ty kiếm tiền để duy trì cuộc sống kinh
doanh chỉ với 1 điều : căn cứ vào khách hàng có mua sắm trực tuyến được hay
không. Giả sử khi thất bại công ty sẽ xử lý thất bại này như thế nào. Bất cứ một
quản trị viên nào cần chịu trách nhiệm về một sự cố liên quan đến toàn bộ thời
gian của hệ thống sẽ biết thế nào về sự sụp đổ của công ty và sự giận dữ của
giám đốc của họ.
Tính sẵn sàng cao làm cho thời hạn hệ thống lên đến 99.999 phần trăm
thời gian hệ thống, là con đường xung quanh nó (hay còn gọi là Five Nine).Five
Nines là thuật ngữ để nói rằng dịch vụ hoặc hệ thống sẽ tăng gần 100% thời gian
làm việc.Để đạt được mức độ sẵn có cần triển khai các hệ thống có thể tồn tại
trong thất bại.Các cách thực hiện này thông qua Clustering và Load Balancing.
Đề tài này cũng sẽ tìm hiểu các hình thức mang tính sẵng sàng cao chẳng hạn
như mảng dự phòng không tốn kém ổ đĩa (Raid) và dự phòngtrong tất cả các
khía cạnh của phần cứng và phần mềm.
Định Nghĩa: Theo thuật ngữ chung, tính sẵn sàng cao có thể được định
nghĩa là sự triển khai một giao thức thiết kế hệ thống bảo đảm mức độ liên tục
hoạt động trong một khoảng thời gian định sẵn. Nó chỉ mức độ phục vụ mà các
ứng dụng, dịch vụ và các hệ thống cung cấp. Tính sẵn sàng cao có thể mô tả các
mục đích kinh doanh và các yêu cầu kỹ thuật, từ những mục đích chỉ bao gồm


10


phần cứng cho tới các mục đích nhiệm vụ của một dịch vụ trên tổng thể—nhưng
nó luôn bao gồm việc giảm thiểu thời gian lỗi.

Hình 1.1: Ví dụ về tính sẵn sàng cao
Failover Clustering trong Windows Server 2008 mang lại tính sẵn sàng và
khả năng tùy biến cao cho các ứng dụng quan trọng như CSDL, hệ thống nhắn
tin, dịch vụ file và máy in, và lượng công việc ảo hóa. Đa máy chủ (các nút)
trong một nhóm vẫn duy trì giao tiếp. Nếu một trong những nút ở một nhóm trở
nên không sẵn sàng (bị lỗi hoặc đang được bảo trì), một nút khác ngay lập tức bắt
đầu dịch vụ. Những người sử dụng đang truy cập dịch vụ tiếp tục truy cập dịch
vụ và không biết được rằng hiện dịch vụ đang được cung cấp từ một máy chủ
(nút) khác.
1.2.2 Cluster
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng
cho các hệ thống mạng máy tính. Clustering cho phép sử dụng nhiều máy chủ kết
hợp với nhau tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận
sai sót (fault-tolerant) nhằm nâng cao độ sẵn sàng của hệ thống mạng. Cluster là
một hệ thống bao gồm nhiều máy chủ được kết nối với nhau theo dạng song song
hay phân tán và được sử dụng như một tài nguyên thống nhất. Nếu một máy chủ
ngừng hoạt động do bị sự cố hoặc để nâng cấp, bảo trì, thì toàn bộ công việc mà
11


máy chủ này đảm nhận sẽ được tự động chuyển sang cho một máy chủ khác
(trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị ngắt hay
gián đoạn. Quá trình này gọi là “fail-over”; và việc phục hồi tài nguyên của một
máy chủ trong hệ thống (cluster) được gọi là “fail-back”.

Clustering có nghĩa là cung cấp tính sẵn sàng cao. Clustering là 1 nhóm
các máy hoạt động như 1 thực thể duy nhất cung cấp tài nguyên và dịch vụ cho
hệ thống. Trong 1 khoảng thời gian lỗi, 1 failover sẽ xảy ra với 1 hệ thống trong
nhóm duy trì tính sẵn sàng cao của hệ thống. Điều đó có thể cảnh báo được sự
thất bại, sai sót của hệ thống và đưa hệ thống trở lại trực tuyến và tham gia như 1
nhà cung cấp dịch vụ nhiều hơn.

Hình 1.2 Giải Pháp Clustering
Trong hình 1.2 chúng ta có thể xem giải pháp cluster cung cấp gì . Một điểm lỗi
được loại bỏ vì bây giờ có thêm hình thức dự phòng.

12


Ưu điểm của hệ thống Cluster Server:
+ Cung cấp tính sẵn sàng cao:


Hệ thống Server Cluster cung cấp tính luôn sẵng sàng cho các ứng dụng

và các service ngay cả khi các thành phần hardware hay software bị lỗi.
− Khi một server trong Cluster bị fail, quyền sở hữu tài nguyên của nó
như là các ổ đĩa và IP address tự động chuyển tới một server khác còn
hoạt động.
+ Cung cấp khả năng dễ mở rộng:
Khi các ứng dụng trong Cluster sử dụng tài nguyên hệ thống vượt quá khả
năng của nó, ta có thể dễ dàng add thêm node vào cluster để đáp ứng nhu cầu
truy cập hay dễ dàng thêm vào nhiều bộ xử lý ( 8 CPU cho Windows Server 2003
Enterprise Edition và 32 CPU cho Windows Server Datacenter Edition) hoặc
thêm bộ nhớ RAM (8GB cho Windows Server 2003 Enterprise Edition và 64GB

cho Datacenter Edititon).
+ Cung cấp sự dễ dàng trong quản lý :


Ta có thể dùng Cluster Administrator tools để quản lý một Cluster như
là một hệ thống đơn và quản lý một ứng dụng khi chúng chạy trên một

server đơn
− Có thể di chuyển các ứng dụng giữa các server khác nhau bên trong một
Cluster.
− Có thể chuyển đổi lượng công việc giữa các server hay đặt server ở
trạng thái không hoạt động cho kế hoạch bảo trì.
− Có thể giám sát trạng thái của Cluster, tất cả các node và tài nguyên từ
bất kỳ nơi nào trong mạng.
Node :
Node Là một server thuộc một Cluster nào đó mà trên đó các ứng dụng và
Cluster service được cài đặt
Quorum resource :

13


Trong mỗi Cluster, Quorum resource chứa đựng và duy trì những thông
tin cấu hình cần thiết cho việc phục hồi Cluster.
Resource :
Các Cluster resource bao gồm các phần cứng vật lý như là các ổ đĩa, các
network card và các thực thể logic như là các địa chỉ IP, các ứng dụng và cơ sở
dữ liệu của ứng dụng. Mỗi node trong Cluster sẽ có quyền sở hữu các resource
cục bộ. Tuy nhiên, Cluster cũng có các resource chung như các thiết bị lưu trữ
chung và private network card. Mỗi node trong Cluster đều có khả năng truy cập

tới các resource chung này. Một resource chung đặc biệt được biết như là
Quorum resource – là một ổ đĩa vật lý trong dãy các ổ đĩa chung của Cluster
đóng một vai trò quan trọng trong các hoạt động của Cluster. Nó phải được dành
riêng cho hoạt động của các node như tạo một Cluster hay thêm node.
Resource group :
Resource group là một tập hợp logic của các resource trong một Cluster.
Một resource group tiêu biểu được tạo ra bởi các resource liên kết logic với nhau
như là các ứng dụng và các thiết bị ngoại vi và dữ liệu kết hợp với các ứng dụng
đó. Resource group cũng có thể chứa đựng các thực thể của cluster và chỉ được
liên kết khi cần như là các server ảo và địa chỉ IP. Một resource group tại một
thời điểm chỉ được sở hữu bởi một node và các resource riêng lẻ bên trong group
đó phải tồn tại trên node đó. Các node khác trong Cluster không thể sở hữu các
resource group khác nhau trong cùng một resource group.
Failover and Failback Clustering:
Failover:Quá trình failover có thể xảy ra một cách tự động. Khi một node
trong Cluster bị hỏng, các resource group của nó sẽ được chuyển tới một hay
nhiều node trong Cluster mà còn hoạt động được. Quá trình tự động failover
tương tự như lập kế hoạch cho việc tái chỉ định quyền sở hữu các resource.
Failover yêu cầu xác định các resource group nào đang chạy trên node bị
hỏng và các node nào nên giữ quyền sở hữu các resource group đó. Tất cả các

14


node trong Cluster mà có khả năng giữ các resource group đó tiến hành đàm
phán với nhau để lấy quyền sở hữu. Quá trình đàm phán dựa trên khả năng của
node, tải hiện hành, khả năng phản hồi ứng dụng hay danh sách node ưu tiên.
Danh sách node ưu tiên là một phần của các thuộc tính trong resource group và
được dùng để chỉ định một resource group tới một node. Khi việc đàm phán
quyền sở hữu resource group được hoàn tất, tất cả các node trong Cluster cập

nhật database của chúng và tiếp tục theo dõi node sở hữu resource group đó.

Hình 1.3 Cấu hình Failover clustering
Một ví dụ về hệ thống failover trong hình 1.3. Nếu có 2 nút Cluster và có
1 thất bại xảy ra các dịch vụ sẽ chuyển đổi dự phòng đến máy chủ còn lại.

15


Hình 1.4: Hoạt động/thụ động Clustering
Failback: Khi một node trở lại phục vụ, Cluster trả lại quyền sở hữu tài
nguyên cho nó và nó sẵn sàng để thực hiện yêu cầu.

16


Failback là khả năng máy chủ không thành công để trở laị trực tuyến và
tải về các máy chủ gốc không thành công.
1.2.3 Thế nào là Load Balancing ?
Load Balancing sử dụng 1 thiết bị. Đó có thể là máy chủ hoặc thiết bị để
cân bằng tải lưu lượng truy cập trên nhiều máy chủ để chờ được phân chia lưu
lượng. Thiết bị gửi lưu lượng dựa trên thuật toán cho máy ít nhất hoặc phân chia
đều cho các máy trong cùng thời điểm hiện tại.
Trong mạng máy tính, cân bằng tải là một kỹ thuật để phân phối khối
lượng công việc đồng đều giữa hai hoặc nhiều máy tính, kết nối mạng, CPU, ổ
cứng, hoặc các nguồn lực khác, để có được sử dụng nguồn lực tối ưu, tối đa hóa
thông lượng, giảm thiểu thời gian đáp ứng, và tránh tình trạng quá tải. Sử dụng
nhiều thành phần với cân bằng tải, thay vì một thành phần duy nhất, có thể làm
tăng khả năng làm việc. Các dịch vụ cân bằng tải thường được cung cấp bởi một
chương trình chuyên dụng hoặc thiết bị phần cứng (như là một chuyển mạch đa

tầng hoặc một máy chủ DNS).
Nó thường được sử dụng để trung gian truyền thông nội bộ trong các
computer clusters ( cụm máy tính ) , đặc biệt là high-availability clusters .
Giả sử trang web của bạn có 2000 lượt người truy cập mỗi tháng. Và vào
1 tháng nào đó lượt truy cập của bạn bất ngờ tăng gấp 2 đến 3 lần rất có thể hệ
thống của bạn sẽ bị quá tải và không hoạt động được.
Khách hàng không thể chờ đợi thời gian để được đáp ứng nhu cầu hoặc tệ
hơn là không thể vào được tất cả các trang web. Hãy tưởng tượng nếu có hai
máy chủ sever cùng cung cấp dịch vụ cho các trang web. Bây giờ hệ thống có 1
sự thay thế để làm chậm thời điểm phản hồi bằng cách thêm vào 1 máy chủ thứ 2
hoặc thứ 3, các thời gian đáp ứng sẽ được cải thiện cho khách hàng. Tính sẵn
sàng cao được cung cấp bởi vì luôn có các trang web hoặc dịch vụ của bạn có
sẵn khi truy cập vào cộng đồng internet.

17


Window 2000 cho phép dịch vụ Load Balancing rất tốt. Một dạng khác
của Load balancing tồn tại, đó là mặc dù khi có 1 địa chỉ ip cho toàn bộ Load
Balancing Cluster (đối với Window Server 2000 có thể lên đến 32 node) và bằng
cách sử dụng thuật toán mỗi nút trong Cluster sẽ giúp tải trọng toàn bộ dữ liệu
lưu lượng truy cập. Ngoài ra có thể sử dụng giải pháp bên thứ 3 Load Balancing
theo cách này. Cách làm việc của mạng lưới cân bằng tải làm việc do có một giao
thức ở giữa là TCP/IP và card NIC . Trình điều khiển này được cài đặt khi áp
dụng dịch vụ trên tất cả các nút của Cluster. Tất cả các nút tham gia bằng cách sử
dụng 1 giao thức internet và 1 địa chỉ ip ảo (virtual ip). Chỉ có 1 node đáp ứng
mỗi lần nhưng đây là các nút khác nhau trong Cluster. Hệ thống có nhiều lợi ích
bằng cách sử dụng window 2000 với các giải pháp cân bằng tải trong đó bao gồm
Load Balancing, hội tụ trong suốt, thêm và loại bỏ các máy chủ khi cần thiết và
phân công các máy chủ nhất định trong Load Balancing Cluster với các tải trọng

xác định.
Window 2000 đủ thông minh để hiểu những nút có được trong cluster. Và
nếu 1 trong đó bị lỗi, nó có thể tổng hợp Cluster dựa trên các nút mới để tiếp tục
Load Balancing 1 cách chính xác.

Hình 1.5 giải pháp A NLB
Tất cả các máy trong Network load balancing đều trao đổi các tin nhắn
hoạt động để thông báo cho các máy chủ mặc định biết họ vẫn hoạt động trong
Cluster. Khi một máy chủ không gửi tin nhắn hoặc trả lời tin nhắn nhịp tim. Một

18


quá trình bắt đầu gọi là hội tụ. Trong thời gian hội tụ các host vẫn còn hoạt động
được xác nhận và xem chúng có thể chấp nhận tải hay không. Khi một máy chủ
gia nhập nhóm chúng cũng gửi một gói tin nhịp tim và cũng có thể gây ra hội tụ
xảy ra. Khi tất cả các Cluster đồng ý với trạng thái của Cluster thì việc phân chia
tải ngừng lại và hội tụ kết thúc. NLB theo dõi node mặc định với mức cao nhất
được ưu tiên theo dõi cân bằng tải cho các node còn lại trong nhóm và nếu node
bị ảnh hưởng có thể hội tụ nhóm để bầu lại node mặc định mới.
a. Thêm và xóa các máy chủ
Window 2000 Load Balancing giúp cho hệ thống có thể dễ dàng thêm
hoặc xóa các node trong Cluster. Window 2000 Sever nâng cao có thể có đến 32
node vì thế hệ thống có thể bắt đầu với 8 node và tăng con số đó lên khi cần
thiết. Khi cấu hình ứng dụng Center 2000, sẽ thấy rằng đây là 1 phần của sản
xuất phù hợp với các giải pháp mang tính sẵn sàng cao. Tải của hệ thống không
phải luôn luôn như nhau. Ví dụ như một trang web thương mại điện tử chuyên
bán quà trên internet. Trong tháng 12 vào dịp giáng sinh, số lượng yêu cầu tăng
lên hai đến ba lần điều đó có nghĩa là khi muốn thiết kế các giải pháp, giải phóng
cân bằng tải có thể hoạt động bình thường với tám máy chủ. Và sau đó thêm máy

chủ nhóm khi có cần phải được tăng. Chúng ra cũng có thể loại bỏ các máy chủ
này khi quá trình kết thúc. Điều tuyệt vời của giải pháp này là hệ thống có thể
tìm đến nó thay vì giữ thiết bị cần thiết trên tay tất cả các năm. Điều quan trọng
ở đây là phải hiểu các chức năng có để có thể lập kế hoạch , thuê phần cứng của
máy chủ khi cần thiết. Nếu hệ thống cần bốn máy chủ để bắt đầu, chúng ta sẽ
phải điều tra cơ bản các máy chủ và trong suốt thời gian hoạt động tập trung lại
phải điều tra cơ bản lại một lần nữa. Hệ thống sẽ tìm được cách chia tải hoặc
phải thêm một máy chủ và hệ thống để có thể sống sót với lượng truy cập lớn với
phần cứng bổ sung mà hệ thống có. Dù bằng cách nào, chúng ta chỉ có thể xác
định được điều này bằng cách thực hiện giám sát hệ thống và số lượng người truy
cập mỗi tháng.
b. Các quy định và nhiệm vụ ưu tiên

19


Cách cấu hình khó khăn nhất trong cân bằng tải là các mối quan hệ, quy
tắc Port và các nhiệm vụ quan trọng. Chúng ta sẽ mất nhiều thời gian để lên kế
hoạch và đọc hiểu đầy đủ nếu chưa quen thuộc với giải pháp này.Nhiệm vụ của
đề tài này làm sáng tỏ các cấu hình để có thể ên kế hoạch thiết kế và cài đặt.Tải
trọng của tất cả các biến trongCluster Load Balance có thể được tùy biến theo
các cổng và được sử dụng để xác định trọng tải và ưu tiên.
1.2.4 Ưu và nhược điểm của Clustering và Load Balancing
Vậy tại sao sử dụng công nghệ Clustering và Load Balancing có tốt hơn
hay ko ? chúng ta có thể biết được điều này khi đọc xong quyển đề tài này, khi
bạn biết tất cả các chi tiết để thực hiện 1 trong 2 giải pháp. Để cung cấp một tóm
tắt nhanh về ưu điểm và khuyết điểm của từng công nghệ, ta đưa ra xem xét sau
đây. Với Clustering hệ thống sẽ phụ thuộc vào các node Cluster thực tế, để đưa ra
quyết định về trạng thái của mạng và phải làm gì khi xảy ra sự cố. Nếu node A
nằm trong Cluster và node B bị quá tải thì node A sẽ thay thế trực tuyến. Với

Load Balancing một thiết bị duy nhất (1mạng client) sẽ gửi lưu lượng vào bất kỳ
nút nào có sẵn trong nhóm Load Balancing. Load Balancing hoạt động tốt trong
trường hợp này khi 1 node ko hoạt động, các tải còn lại được tính toán giữa các
node. Ngoài ra với Clustering ( không Load Balancing bạn thường bị hạn chế
hoặc giảm số 1 số lượng nhỏ các node tham gia) , giả sử muốn thực hiện giải
pháp Cluster với máy chủ Window 2000, bạn có thể sử dụng 1 cụm 2 nút. Load
Balancing có thể thực hiện số nút lên đến 32 nút, và nếu sử dụng công cụ tiện
ích thứ 3 có thể có quy mô hơn con số đó. Thậm chí có thể kết hợp trên nền hệ
điều hành nếu cần thiết, bao gồm cả Sun Solaris hay hệ thống nào khác có thể
chạy các dịch vụ trên đó. Phần này chỉ đơn gIản là cung cấp 1 ý tưởng về các sự
lựa chọn cho hệ thống.
Cuối cùng hệ thống có thể tùy chọn để thiết lập theo từng cấp các dịch vụ
và kết hợp cả 2 kiến trúc (Load Balancing và Cluster) cùng nhau. Giả sử có thể
thiết lập các tầng đầu tiên vào các Web Sever của bạn như Load Balancing và các
tầng cuối cùng của nhóm bạn thiết lập theo Clustering.

20


Sự khác nhau giữa Network Load Balancing và Cluster
Network Load Balancing:



Các Node có thể lưu trữ cùng một nơi , hoặc lưu trữ riêng biệt
Cân bằng tải Transmission Control Protocol (TCP) và UDP (UDP) lưu





lượng truy cập
Không cần phần cứng chuyên dụng, ( chú ý về Card mạng )
Thường được dùng cho máy chủ Web, Máy chủ ISA , Máy chủ VPS , Máy
chủ
Media, Máy chủ , Máy chủ Teminal, di động,...



Chạy ở chế độ Active

Cluster :




Các Node lưu trữ cùng một nơi
Failover và failback của các ứng dụng
Phải dùng thiết bị lưu trữ chuyên dụng đắt tiền kiểu SCSI , Fibre Chanel ,

Seria Attach SCSI , ISCSI
− Thường được chạy cho các máy chủ MS SQL Server, MS Exchange


Server, File Server ,....
Chạy ở 2 chế độ Active và Passive

1.3 “Hot Spare”
1.3.1 “Hot Spare” là gì ?
Một “Hot Spare” hoặc một chế độ dự phòng được sử dụng như là một cơ
chế chuyển đổi dự phòng để cung cấp độ tin cậy trong các cấu hình hệ thống.

Các“Hot Spare”đang hoạt động và kết nối như là một phần của một thệ thống
làm việc. Khi một thành phần quan trọng không, “Hot Spare” được chuyển vào
hoạt động. Nói chung, một chế độ chờ có thể được sử dụng để tham khảo bất kỳ
thiết bị hoặc hệ thống được tổ chức trong sẵn sàng để vượt qua một độ trễ nếu
không đáng kể start-up.

21


Hot Spare là một máy có thể mua và cấu hình như một hình ảnh phản
chiếu khi ta muốn thay thế khi lỗi xảy ra. Hình 1.5 cho thấy ví dụ về việc sử dụng
“Hot Spare”. Một “Hot Spare” chỉ được dành khi có sự cố hoặc nó có thể không
được sử dụng, chờ đợi khi có sự cố xảy ra. Khi sự cố xảy ra, các “Hot Spare”
được đưa ra trực tuyến để tham gia tại các vị trí của hệ thống mà lỗi xảy ra. Đây
không phải là một ý tưởng tốt vì hệ thống ngồi nhàn rỗi mà không được sử dụng,
và trong nhiều cửa hàng, nó sẽ được mượn để làm những thứ khác. Điều đó có
nghĩa là không bao giờ có “Hot Spare” đúng nghĩa. Đối với các quản trị viên, có
thể giữ các “Hot Spare” như 1 phụ kiện, có thể sử dụng các chúng như một cân
bằng tải của các tải. Vậy tại sao cần phải cấu hình các “Hot Spare” trong thời
gian xảy ra lỗi. Khi khách hàng mất kết nối và bạn phải gỡ bỏ các máy cũ và thay
thế bằng các máy mới và tất cả các khách hàng lại kết nối được. Hoặc tệ hơn
khách hàng có thể tức giận và chuyển qua một cửa hàng trực tuyến khác nếu đó
là một máy chủ web lưu trữ một trang thương mại điện tử. Thiết lập “Hot Spare”
như một máy chủ thứ hai là không cần thiết nhưng có một cách tốt hơn. Đó là đặt
máy thứ hai trong một Cluster. Mặc dù các phương pháp dự phòng nóng có thể
là quá khứ tuy nhiên nó vẫn còn được sử dụng khá rộng rãi trong các hệ thống
không có tính sẵn sàng cao nhưng vẫn cần các hình thức có tính sao lưu dự
phòng.

Hình 1.6: Ví dụ về “Hot Spare”

22


1.3.2 Tính cần thiết phải cấu phải cấu hình các máy dự phòng “ Hot Spare”
Bây giờ chúng ta nhìn vào lý do tại sao dự phòng của hệ thống là rất quan
trọng và sự lựa chọn khi có Cluster. Được dự phòng (hoặc dư thừa) là thuật ngữ
được sử dụng để giải thích quá những gì cần thiết. Nếu điều này được áp dụng
cho 1 hạ tầng công nghệ thông tin, điều đó sẽ được hiểu dễ dàng khi có 1 nguồn
cung cấp điện cho máy chủ, sau đó hai nguồn cung cấp năng lượng sẽ vượt quá
những điều cần thiết. Tất nhiên trong khoảng thời gian bị lỗi, chúng ta luôn mong
muốn vượt qua những sự cố của hệ thống, nên sự cần thiết của dự phòng là hiển
nhiên nếu muốn công ty vẫn hoạt động được khi có sự cố. Sự cần thiết của dự
phòng là rõ ràng trong một thế giới mang tính sẵn sàng cao. có thể dự phòng bất
cứ điều gì trên thị trường. Giả sử chúng ta có thể mua máy chủ DELL hoặc
COMPAQ với nguồn cung cấp điện dự phòng, nếu một trong không thành công
thì, nhận ra sự khác biệt. Khi có một nguồn điện dự phòng trong thiết bị chuyển
mạch Cisco Catalyst, ví dụ như 1 Catalyst 4006 bạn có thể có đến 3 nguồn cung
cấp dự phòng. Điều này hoàn toàn là thiết kế khi mà b muốn cấu hình mạng
chính của hệ thống. Một mạng dự phòng có thể vượt quá thành phần phần cứng
và đi vào cấu hình định tuyến trong các router c và khu vực giao thức công nghệ
wan chẳng hạn như công nghệ Frame Relay trên bề mặt và router quay xung
quanh bằng cách sử dụng ISDN. Tóm lại các dịch vụ dự phòng là chìa khóa cho
1 hệ thống có tính sẵn sàng cao.
1.4 Khả năng mở rộng
Khả năng mở rộng là sự lựa chọn cho sự phát triển của hệ thống và vượt
ra ngoài những gì hệ thống được thực hiện ngày hôm nay. Nếu nói một giải
pháp có khả năng mở rộng có nghĩa là có thể nói ta có thể thêm hai máy chủ để
tạo thành nhóm Cluster khi cần tăng trưởng. Khả năng mở rộng (hoặc có thể là
quy mô) là thuật ngữ để chỉ khả năng phát triển lên hoặc ra khỏi giải pháp hiện
tại của hệ thống.

1.4.1 Mở rộng quy mô hướng lên (Scale up)

23


Mở rộng quy mô là một thuật ngữ được sử dụng khi xây dựng 1 máy chủ.
Nếu bạn có 1 máy chủ và máy chủ đó cung cấp các dịch vụ in ấn cho máy chủ,
chúng ta có thể muốn gia tăng bộ nhớ cho nó vì trong khi thực hiện giám sát các
máy chủ, ta nhận thấy rằng bộ nhớ ảo liên tục bị phân trang từ đĩa cứng . Thực tế
là khi thêm vào một hệ thống duy nhất và xây dựng nó lên , không bổ sung cho
hệ thống để chia sẻ tải có nghĩa là bạn được nhân rộng như hình 1.4.
1.4.2 Mở rộng quy mô hướng ra (Scale out)
Mở rộng quy mô hướng ra là Clustering như hình 1.6. Khi có một máy
chủ cung cấp web cho khách hàng và trong khi giám sát thực hiện có thể thấy số
lần truy cập tăng lên 50% 1 tháng. Điều đó vượt quá giới hạn phần cứng của hệ
thống nhưng công ty lại không muốn thêm nhiều tài nguyên cho máy tính đơn
này. Và khi quyết định thêm một máy khác và tạo ra Cluster. Chúng ta có thể mở
rộng quy mô hướng ra.

Hình 1.7 mở rộng quy mô hệ thống
Trước khi tìm hiểu 1 cách tổng quan cao cấp hơn của Cluster và Load
Balancing với Window 2000 và Window Sever 2008, ta nên bắt đầu từ điểm này.
Máy Microsoft Cluster có tên mã là “Wolfpack” gọi là không đáng tin cậy. Một
24


loạt các vấn đề xảy ra khi chạy các dịch vụ bao gồm cả chậm hiệu suất khi sử
dụng Fibre Chanel và 1 số lượng lớn các ổ đĩa cứng ngừng phục vụ khách hàng
hoàn toàn không có lý do hợp lý, chỉ sau đó mới khám phá được các lỗi xảy ra.
Điều này đã đánh bại toàn bộ mục đích của clustering ở thời điểm đầu tiên và

nhanh chóng làm mất lòng tin vào giải pháp của microsoft. Niềm tin được khôi
phục khi hầu hết các bản sửa lỗi được Microsoft cung cấp 1 công cụ gọi là “cài
đặt các dịch vụ tốt nhất”. Tóm lại dịch vụ này đã phát triển theo cấp số nhân với
phiên bản mới hơn của Window OS, trở thành giải pháp cơ sở hạ tầng đáng tin
cậy của hệ thống. Khi thiết kế 1 nhóm NT, bạn nhận ra rằng sever NT 4.0 không
hỗ trợ Cluster nhưng vẫn hỗ trợ Load Balancing. Window NT 4.0 Enterprise
Edition sẽ làm việc với cân bằng tải và có thể tập trung 2 nút.
1.5 Window 2000 Clustering và Load Balancing
Khi bản Window 2000 xuất hiện ra công chúng, nó đã trải qua các cuộc
thử nghiệm và đưa ra bản RC (Realease Candidate). Ban đầu hệ thống đột nhiên
ít bị màn hình xanh (BSOD) và độ tin cậy là có thể đạt được. Và bây giờ sau 1
vài gói dịch vụ vá lỗi được phát hành, đây vẫn là lực lượng cần tính đến. Chúng
ta biết rằng Window sever 2000 không chứa các dịch vụ để Cluster và Load
Balance. Để giống như window NT 4.0 Enterprise Edition chúng ta có bản nâng
cao của window 2000 còn gọi là máy chủ window 2000 nâng cao. Đây là sản
phẩm mà với nó chúng ta có thể Cluster và Load Balancing. Để cạnh tranh với
các máy chủ cao cấp trên thị trường, Microsoft cũng phát hành 1 bản cao cấp của
Window 2000 được gọi là máy chủ dữ liệu Window 2000, cho phép không chỉ
Clustering và Load Balancing mà còn cho phép số node lên đến 4 thay vì 2.
Những thiết kế sau đây là cần phải nhớ: máy chủ window 2000 không hỗ trợ
Cluster và Load Balancing trừ trung tâm ứng dụng 2000 là có cài đặt; và trung
tâm máy chủ dữ liệu Window hỗ trợ 4 nút Cluster và Load Balancing.
Để hiểu rõ vị trí của Microsoft trong dịch vụ này, nên biết Microsoft cung
cấp 4 loại dịch vụ.Với Window 2000 hệ thống có máy chủ Microsoft Cluster,
Network Load Balancing, Component Load Balancing và một sản phẩm gọi là

25



×