Lab MCSA (Bonus): Cấu hình Network Load Balancing cho WebServer trên Windows Server 2
- Trong xã hội hiện nay, bất kỳ một ngành nghề kinh tế, hoạt động xã hội
hay giáo dục đều có nhu cầu quảng bá thông tin cho riêng mình. Công
việc quảng bá thông tin này sẽ được tối ưu với một Website. Với nhu cầu
ngày càng lớn, hệ thống website ngày càng phải đáp ứng nhiều yêu cầu
khác nhau với lượng truy cập ngày càng cao
- Để giải quyết vấn đề trên, các website lớn sẽ được cấu hình trên nhiều
máy Server vật lý và hoạt động dưới cơ chế Network Load Balancing
(trong bài này còn được gọi là Network Load Balancing Cluster) với Load
Balancing – cân bằng tải (Vd cho dễ hiểu: các nhân viên trong phòng Sale
của công ty, công việc bán hàng được chia đều nếu một người nghỉ thì
các người còn lại phải làm thay – Load Balancing) và Cluster – đồng bộ
dữ liệu (Vd: các nhân viên phòng Sale phải bán biệt thự có địa chỉ 01
Điện Biên Phủ, nên việc làm giá, chào hàng và quyết định bán tất cả nhân
viên phải thống nhất vì biệt thự thì chỉ có một – Cluster ). Nhờ các cơ
chế này tốc độ truy cập vào website sẽ được tối ưu nhất do được cân
bằng qua các server vật lý (các server chạy song song và san sẻ công
việc cùng nhau) và hạn chế được sự gián đoạn khi server vật lý gặp sự cố
(một trong các server vật lý gặp sự cố thì các server còn lại vẫn hoạt
động bình thường)
- Ở bài lab này chúng ta sẽ không đi sâu về vấn đề cấu hình một website
chạy trên nhiều server vật lý mà chúng ta sẽ đi cấu hình cơ chế Network
Load Balancing để tối ưu sự truy cập vào các server vật lý đó
- Để cầu hình Network Load Balancing ta có thể sử dụng sản phẩm của các
hãng phần mềm như Kerio, ISA của Microsoft hay các thiết bị phần cứng
chuyên dụng. Ở bài này mình sẽ trình bày các bước cấu hình ngay trên
dịch vụ Network Load Balancing có sẵn trên Windows Server 2003
I. Nội dung:
+ Giả lập website chạy trên 2 server vật lý
+ Cấu hình Network Load Balancing
+ Các bước kiểm tra
II. Các bước chuẩn bị:
- Chuẩn bị 3 máy ảo Windows Server 2003 chạy trên nền VMWare
- Các máy ảo tắt hết Windows Firewall
- Ba máy ảo được thiết lập theo mô hình dưới
-
Với mô hình trên hai máy 2k3.1 và 2k3.2 đóng vai trò là hai server vật
lý chạy Web Server, 2k3 đóng vai trò là Client truy cập web để kiểm tra.
Trong bài này mình sẽ truy cập WebServer bằng IP nên trong mô hình sẽ
không có máy đảm nhiệm các dịch vụ DC, DNS. Trong mô hình còn có một
phần có thể các bạn sẽ thấy lạ đó là Virtual IP. Bây giờ mình sẽ nói sơ
lược về Virtual IP này: một website dù được cấu hình trên nhiều server
vật lý và mỗi server này sẽ có một địa chỉ IP nhưng khi ở ngoài truy cập
vào website thì chỉ có một IP, IP này đại diện cho các IP của các
server vật lý và được gọi là Virtual IP. Công việc cấu hình Network Load
Balancing cũng chính là đi tạo ra một Virtual IP đại diện cho các
server web
- Cấu hình TCP/IP cho các máy ảo như sau:
III. Các bước thực hiện:
1. Đầu tiên chúng ta đi giả lập một website chạy trên hai máy 2k3.1 và 2k3.2:
+ Trên máy 2k3.1 ta đi vào Add or Remove Programs và chọn Add/Remove Windows Components
+ Trong cửa sổ Windows Components Wizard, chúng ta click chọn dòng Application Server và đi vào Details…
+ Check vào Internet Information Services (IIS) ở cửa sổ Application
Server, tự động Enable network COM+ access sẽ được check. OK
+ Trong quá trình cài đặt nếu nhận được thông báo Insert Disk, ta trỏ
đường dẫn về thư mục I386 trong source cài đặt Windows Server 2003
+ Sau khi cài đặt xong IIS, ta đi vào thư mục wwwroot theo đường dẫn C:\Inetpub\wwwroot
+
Trong thư mục wwwroot, click chuột phải lên khoảng trống chọn New\ Text
Document và đặt tên là default.htm. Click chuột phải lên file
default.htm chọn Edit
+ Ở cửa sổ Notepad nhập vào nội dung “website cua khoihoang” sau đó Save lại
+ Mở Internet Explorer và nhập vào địa chỉ 192.168.1.18
+ Như vậy ta đã có web server trên máy 2k3.1. Làm tương tự với máy 2k3.2
+ Như vậy chúng ta giả sử đã có một website chạy trên hai server vật lý
2. Tiếp theo chúng ta đi cấu hình Network Load Balancing:
a. Ưu điểm và nhược điểm của Network Load Balancing:
+ Ưu điểm: là một dịch vụ miễn phí và hiệu quả khá tốt được tích hợp trên Windows
+ Nhược điểm:
- Không cân bằng tải được với hơn 32 server. Nếu nhu cầu hơn 32 server
chúng ta phải chia thành từng nhóm Network Load Balancing (NLB)
- Tất cả các server phải đặt trên cùng một net hay subnet
+ Để NLB hoạt động tốt chúng ta cần đồng bộ thời gian ở các server bằng
cú pháp lệnh net time \\địa chỉ server /set , và bấm Y để xác nhận
b. Các bước cấu hình:
Cách 1: Cấu hình bằng Network Load Balancing Manager : chúng ta sẽ chọn máy 2k3.1 để cấu hình NLB
+ Đi vào Start/ Programs/ Administrative Tools/ Network Load Balancing Manager
+ Click
chuột phải vào Network Load Balancing Clusters chọn New Cluster. Trong
cửa sổ Cluster Paramenters điền Virtual IP vào ô IP Address như hình
dưới. Ở khung Cluster Operation Mode cho chúng ta 2 lựa chọn chính là
Unicast và Multicast, hai chế độ này là rất quan trọng trong việc cấu
hình dịch vụ NLB:
- Khi cấu hình NLB, với việc tạo ra một Virtual IP đồng thời cũng sẽ tạo
ra một MAC Address ảo tương ứng với Virtual IP đó. Và tất cả các card
mạng được kích hoạt NLB ở các máy server cũng sẽ thừa hưởng MAC Address
ảo này. Khi một gói tin truy cập từ bên ngoài vào WebServer sẽ mang
Virtual IP và MAC Address ảo, NLB sẽ có nhiệm vụ lọc gói tin và chuyển
đến các máy server
- Khi hoạt động ở chế độ Unicast, MAC Address ban đầu sẽ bị thay thế
hoàn toàn bởi MAC Address ảo nên khi hoạt động ở chế độ này các máy
server sẽ không liên lạc được với nhau, và điều này sẽ phát sinh một số
lỗi trong quá trình NLB hoạt động. Vì vậy để khắc phục vấn đề này các
máy server sẽ phải kết nối với nhau thông qua một card mạng thứ 2
- Còn khi hoạt động ở chế độ Multicast, MAC Address ban đầu vẫn được giữ
nguyên cùng với MAC Address ảo được tạo ra. Nên các máy server vẫn liên
lạc được với nhau mà không cần phải có card mạng thứ 2. Nhưng khi hoạt
động với Multicast, các gói tin từ server hẩu như bị Router từ chối vì
Router phát hiện chỉ với một IP nhưng đi kèm với nhiều MAC Address khác
nhau và sẽ từ chối cập nhật MAC Address này vào bảng ARP. Để khác phục
tình trạng này chúng ta sẽ phải cập nhật thủ công MAC Address vào bảng
ARP trên Router
- Ở phần này, nhà cung cấp khuyên nên sử dụng ở chế độ Multicast sẽ ít phát sinh lỗi trong quá trình hoạt động
+ Ở ô Full Internet name chúng ta sẽ điền Domain Name của website vào,
nhưng ở mô hình này chúng ta không cấu hình DNS và chỉ truy cập website
bằng IP nên ô này không còn tác dụng. Next
+ Cửa sổ Cluster IP Addresses chọn Next
+ Ở cửa sổ Port Rules chúng ta có thể quy định port và protocol tùy vào
từng dịch vụ. Trong bài này chúng ta chỉ chạy WebServer nên sẽ sử dụng
port 80
+ Sang cửa sổ Connect, điền địa chỉ IP của máy 2k3.2 vào ô Host, bấm
Connect và đợi thông báo Connected ở ô Status. Sau đó chọn vào Interface
“Local Area Connection” và Next
+ Ở cửa sổ Host Parameters, chúng ta có thể quy định độ ưu tiên truy cập
vào server vật lý nào trước thông qua giá trị Priority, priority càng
nhỏ thì độ ưu tiên càng cao. Finish
+
Sau khi Finish chúng ta đợi quá trình xử lý, khi thành công sẽ báo
Converged. Nếu trong trường hợp nhận được báo lỗi như hình dưới chúng ta
chỉ việc Refresh lại là được
+ Biểu tượng báo xanh đồng nghĩa với việc tạo host cho 2k3.2 thành
công. Bây giờ chúng ta sẽ đi Add máy 2k3.1 vào Cluster vừa tạo. Click
chuột phải lên Cluster 192.168.1.100 chọn Add Host to Cluster
+ Cửa sổ Connect điền IP máy 2k3.1 vào ô Host, bấm Connect và đợi báo
Connected ở khung Status. Sau đó chọn card “Local Area Connection”, Next
+ Ở cửa sổ Host Parameters, giữ nguyên giá trị Priority là 2. Finish
+ Nếu biểu tượng lại báo vàng ta chỉ việc Refresh là OK
+ Như vậy chúng ta đã cấu hình thành công NLB cho WebServer chạy trên
hai server vật lý. Chúng ta lưu lại thông tin đã cấu hình để tiện cho
việc chỉnh sửa sau này
+ Sau khi cấu hình NLB chúng ta thấy trong của sổ Properties của hai
card mạng mang IP 192.168.1.18 và 192.168.1.19 ở hai server đã được
check vào thực đơn Network Load Balancing
+
Bây giờ chúng ta sẽ đi kiểm tra kết quả. Vì trong mô hình có số lượng
máy ít nên ta không thể kiểm tra được khả năng cân bằng lượng truy cập
vào hai máy server khi có số lượng truy cập lớn. Ta chỉ kiểm tra khả
năng gánh tải khi một trong các máy server trục trặc không hoạt động.
Đầu tiên đứng ở máy 2k3 truy cập vào WebServer bằng địa chỉ
192.168.1.100. OK
+
Giả lập máy WebServer 2k3.1 không hoạt động bằng cách Disable card mạng
có IP là 192.168.1.18. Sau đó thử truy cập WebServer từ 2k3. OK
+ Enable card 192.168.1.18, sau đó Disable card 192.168.1.19 ở máy 2k3.2 để giả lập máy 2k3.2 không hoạt động và truy cập lại
Cách 2: Cấu hình trên card mạng
+ Trước khi cấu hình theo cách này chúng ta xóa Cluster đã cấu hình trên máy 2k3.1
+ Ở cách này chúng ta sẽ cấu hình trực tiếp trên hai card mạng
192.168.1.18 và 192.168.1.19 trên hai máy server. Đầu tiên chúng ta sẽ
cấu hình trên card 192.168.1.18 của máy 2k3.1. Trong cửa sổ Local Area
Connection Properties, check vào Network Load Balancing và click
Properties
+ Tab Cluster Parameters
+ Tab Host Parameters
+ Tab Port Rules
+ Binding Virtual IP:
+ OK. Close
+ Xem kết quả xác nhận lại quá trình cấu hình NLB bằng câu lệnh wlbs query
+ Cấu hình tương tự trên card 192.168.1.19 của máy 2k3.2
+ Các bước kiểm tra tương tự như ở cách 1
- Như vậy chúng ta đã hoàn thành cấu hình NLB bằng cả hai cách, mặc dù
cấu hình bằng nhiều cách khác nhau nhưng thật ra các cách chỉ khác nhau ở
cách thức nhập các giá trị
- Ngoài ra khi cấu hình NLB chúng ta còn có một giá trị nữa là Load
weight mà chúng ta cần lưu ý. Load weight giúp ta có thể điều chỉnh khối
lượng công việc nạp vào mỗi server trong trường hợp các server có cấu
hình phần cứng khác nhau. Load weight được cấu hình trực tiếp trên card
mạng NLB của mỗi server
Chúng ta đã đi tìm hiểu chức năng cơ bản của Network Load Balancing trên Windows Server 2003. Hẹn các bạn ở các bài sau
Sưu tầm !