Thứ Hai, 4 tháng 6, 2012

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 !

Không có nhận xét nào:

Đăng nhận xét