Tải bản đầy đủ (.pdf) (11 trang)

Load balancing Anti attack DDoS

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 (187.3 KB, 11 trang )

GIẢI PHÁP CÂN BẰNG TẢI- HẠN CHẾ TẤN CÔNG DoS-DDoS
Cân bằng tải của một web -site (LOAD BALANCING A WEB SITE ) Nhiều web-site trở nên quá
tải rất nhanh chóng bởi vì có quá nhiều người sử dụng chúng . Ta có thể lắp đặt thêm những web
server ở cùng vị trí để giữ những bản sao thô ng tin. Sau đó những yêu cầu web được gởi đến một
trong số những web server có khả năng nhất (về đáp ứng yêu cầu). Các web-site cũng có thể được
sao chép lại ở những đị a điểm vật lý khác nhau để có thể đáp ứng yêu cầu củ
a người sử dụng
nhanh hơn.
Trong trường hợp sau,Cisco Systems đã phát triển một phần mềm cân bằng tải cho các lộ trì nh gọi
là Distributed Director . Phần mềm nầy có thể chạy giao thức lộ trì nh có khả năng gởi những yêu
cầu c ủa người sử dụng đến một server gần nhất . Cơ bản , một tên máy chủ đơn DNS (Domain
Name System) được quy đị nh bởi nhiều đị a chỉ IP . Khi người sử dụng gọi một server bằng tên thì
router sẽ xác đị nh đị a chỉ IP nào có thể đáp ứng tốt nhất yêu cầu nầy và chuyển yêu cầu đến server
đó.
Giải thích đơn giản như sau:
Khi ta đánh www.nhac.vui.vn vào trình duyệt.
Đầu tiên nó sẽ kiểm tra trong máy xem có lưu thông tin về www.nhac.vui.vn không, nếu có nó sẽ
mở kết nối TCP tới HTTP server trên máy tính có IP đó.
Nếu không, thì trình duyệt sẽ chuyển cái tên www.nhac.vui.vn cho phần mềm client của DNS.
DNS client sẽ gửi truy vấn tới DNS server.
Hệ thống server của www.nhac.vui.vn bao gồm nhiều server có nội dung giống nhau, mỗi server
là một hệ thống đầu cuối khác nhau và có IP khác nhau. Mỗi máy này gắn với các tên khác nhau,
VD www4.nhac.vui.vn hay www5.nhac.vui.vn.
Nhóm IP này gắn liền với tên đầy đủ của 1 máy trong hệ thống server đó, ở đây là
www.nhac.vui.vn
Khi client gửi truy vấn để xác định địa chỉ IP tới server thì server sẽ gửi toàn bộ nhóm IP này ,
nhưng các IP trong nhóm này được hoán vị nhau.
Khi client nhận được nhóm IP này, nó sẽ gửi thông điệp HTTP cho IP đầu tiên trong nhóm đó. Vì
vậy ta sẽ thấy trên trình duyệt là www4.nhac.vui.vn , thỉnh thoảng thì www5.nhac.vui.vn
Để chứng minh điều này, mình đã vào www.nhac.vui.vn và nó trả về là www4.nhac.vui.vn, ngay
sau đó thử fake IP và vào lại thì nhận được là www5.nhac.vui.vn.


Và thử NSLOOKUP thì có kết quả thế này
www4.nhac.vui.vn
Server: dns3.vietel.com.vn
Address: 203.113.188.1
Non-authoritative answer:
Name: www4.nhac.vui.vn
Address: 210.245.126.36
www5.nhac.vui.vn
Server: dns3.vietel.com.vn
Address: 203.113.188.1
Non-authoritative answer:
Name: www5.nhac.vui.vn
Address: 210.245.121.29
Như vậy đó là 2 máy khác nhau trên hệ thống server của www.nhac.vui.vn. Và trong nhóm IP đó


thì các IP được hoán vị khi server gửi nó cho client.


Công nghệ Clustering cho các hệ thống máy tính
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. Bài
báo này giới thiệu nguyên lý và phân tích một số giải pháp clustering đang được áp dụng cho các
hệ thống mạng máy tính lớn với hi vọng có thể giúp độc giả hiểu rõ hơn về công nghệ tưởng như
đơn giản nhưng thực tế khá phức tạp này.
Ths. Nguyễn Trọng Đường
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.
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ả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. Bài báo này giới thiệu nguyên lý
và phân tích một số giải pháp clustering đang được áp dụng cho các hệ thống mạng máy tính lớn
với hi vọng có thể giúp độc giả hiểu rõ hơn về công nghệ tưởng như đơn giản nhưng thực tế khá
phức tạp này.
Tổng quan về công nghệ Clustering
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à 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”.
Việc thiết kế và lắp đặt các cluster cần thoả mãn các yêu cầu sau:
Yêu cầu về tính sẵn sàng cao (availability). Các tài nguyên mạng phải luôn sẵn sàng trong khả
năng cao nhất để cung cấp và phục vụ các người dùng cuối và giảm thiểu sự ngưng hoạt động hệ
thống ngoài ý muốn.
Yêu cầu về độ tin cậy cao (reliability). Độ tin cậy cao của cluster được hiểu là khả năng giảm thiểu
tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót của hệ thống.
Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có khả năng dễ dàng cho việc
nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng bao hàm cả việc thêm các thiết bị, máy
tính vào hệ thống để nâng cao chất lượng dịch vụ, cũng như việc thêm số lượng người dùng, thêm

ứng dụng, dịch vụ và thêm các tài nguyên mạng khác.
Ba yêu cầu trên được gọi tắt là RAS (Reliability-Availability-Scalability), những hệ thống đáp ứng
được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt với Remote Access Service là dịch
vụ truy cập từ xa).


Cũng cần chú ý rằng hiệu quả hoạt động của hệ thống Clustering phụ thuộc vào sự tương thích
giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Ngoài ra, kỹ thuật clustering không
thể chống lại các sự cố xảy ra do virus, sai sót của phần mềm hay các sai sót do người sử dụng. Để
chống lại các sự cố này cần xây dựng một cơ sở dữ liệu được bảo vệ chắc chắn cũng như có các kế
hoạch khôi phục, backup dữ liệu.
Cấu trúc của Cluster
Cluster được tổ chức thành các nhóm gọi là các farm hay pack. Trong hầu hết các trường hợp, các
dịch vụ ở tầng trước và giữa (front-end and middle-tiers services) được tổ chức thành các farm sử
dụng các clone, trong khi đó các dịch vụ tầng sau (back-end services) được tổ chức thành các pack.
Các khái niệm farm, pack và clone trong hệ thống cluster sẽ được làm rõ ngay dưới đây.
Cluster Farm là một nhóm các máy chủ chạy các dịch vụ giống nhau, nhưng không dùng chung cơ
sở dữ liệu. Được gọi là farm (trang trại) bởi vì chúng xử lý bất cứ yêu cầu nào gửi đến cho chúng
bằng các bản sao cơ sở dữ liệu (tài nguyên) giống hệt nhau được lưu giữ cục bộ, chứ không dùng
chung một bản cơ sở dữ liệu. Cũng bởi tính chất này nên các máy chủ thành viên của farm làm
việc độc lập và chúng được gọi là clone (clone là máy tính được thiết kế để mô phỏng chức năng
của máy tính khác).
Cluster Pack là một nhóm các máy chủ hoạt động cùng với nhau và chia sẻ với nhau các phần của
cơ sở dữ liệu. Được gọi là pack (khối) vì sự hoạt động của các máy chủ thành viên của pack có
liên hệ chặt chẽ với nhau và chúng làm việc theo một phương thức thống nhất để quản lý và duy
trì các dịch vụ.
Chế độ hoạt động của Cluster
Mỗi máy chủ trong cluster được gọi là một nút (cluster node), và có thể được thiết lập ở chế độ
chủ động (active) hay thụ động (passive). Khi một nút ở chế dộ chủ động, nó sẽ chủ động xử lý
các yêu cầu. Khi một nút là thụ động, nó sẽ nằm ở chế độ dự phòng nóng (stanby) chờ để sẵn sàng

thay thế cho một nút khác nếu bị hỏng. Nguyên lý hoạt động của Cluster có thể biểu diễn như
trong hình 1.
Hình 1. Nguyên lý hoạt động của một Cluster
Trong một cluster có nhiều nút có thể kết hợp cả nút chủ động và nút thụ động. Trong những mô
hình loại này việc quyết định một nút được cấu hình là chủ động hay thụ động rất quan trọng. Để
hiểu lý do tại sao, hãy xem xét các tình huống sau:
- Nếu một nút chủ động bị sự cố và có một nút thụ động đang sẵn sàng, các ứng dụng và dịch vụ
đang chạy trên nút hỏng có thể lập tức được chuyển sang nút thụ động. Vì máy chủ đóng vai trò
nút thụ động hiện tại chưa chạy ứng dụng hay dịch vụ gì cả nên nó có thể gánh toàn bộ công việc
của máy chủ hỏng mà không ảnh hưởng gì đến các ứng dụng và dịch vụ cung cấp cho người dùng
cuối (Ngầm định rằng các các máy chủ trong cluster có cấu trúc phần cứng giống nhau).
- Nếu tất cả các máy chủ trong cluster là chủ động và có một nút bị sự cố, các ứng dụng và dịch vụ
đang chạy trên máy chủ hỏng sẽ phải chuyển sang một máy chủ khác cũng đóng vai trò nút chủ
động. Vì là nút chủ động nên bình thường máy chủ này cũng phải đảm nhận một số ứng dụng hay
dịch vụ gì đó, khi có sự cố xảy ra thì nó sẽ phải gánh thêm công việc của máy chủ hỏng. Do vậy
để đảm bảo hệ thống hoạt động bình thường kể cả khi có sự cố thì máy chủ trong cluster cần phải
có cấu hình dư ra đủ để có thể gánh thêm khối lượng công việc của máy chủ khác khi cần.
Trong cấu trúc cluster mà mỗi nút chủ động được dự phòng bởi một nút thụ động, các máy chủ
cần có cấu hình sao cho với khối lượng công việc trung bình chúng sử dụng hết khoảng 50% CPU
và dung lượng bộ nhớ.


Trong cấu trúc cluster mà số nút chủ động nhiều hơn số nút bị động, các máy chủ cần có cấu hình
tài nguyên CPU và bộ nhớ mạnh hơn nữa để có thể xử lý được khối lượng công việc cần thiết khi
một nút nào đó bị hỏng.
Các nút trong một cluster thường là một bộ phận của cùng một vùng (domain) và có thể được cấu
hình là máy điều khiển vùng (domain controllers) hay máy chủ thành viên. Lý tưởng nhất là mỗi
cluster nhiều nút có ít nhất hai nút làm máy điều khiển vùng và đảm nhiệm việc failover đối với
những dịch vụ vùng thiết yếu. Nếu không như vậy thì khả năng sẵn sàng của các tài nguyên trên
cluster sẽ bị phụ thuộc vào khả năng sẵn sàng của các máy điều khiển trong domain.

Cluster nhiều địa điểm phân tán
Với các hệ thống mạng lớn có các người dùng phân bố rải rác, hiệu quả của việc phòng chống sự
cố và nâng cao tính sẵn sàng của mạng sẽ được cải thiện hơn nhiều nếu xây dựng hệ thống cluster
bố trí tại nhiều địa điểm. Kiến trúc nhiều địa điểm có thể được thiết kế theo rất nhiều cách khác
nhau, trong đó phổ biến nhất là có một điểm gốc và một số điểm ở xa.
Với kiểu thiết kế đầy đủ, toàn bộ cấu trúc của điểm gốc được xây dựng lại đầy đủ ở các điểm ở xa.
Điều này cho phép các điểm ở xa hoạt động độc lập và có thể xử lý toàn bộ khối lượng công việc
của điểm gốc nếu cần. Trong trường hợp này, việc thiết kế phải đảm bảo sao cho cơ sở dữ liệu và
các ứng dụng giữa điểm gốc và các điểm ở xa phải đồng bộ và được cập nhật sao lặp ở chế độ thời
gian thực.
Với kiểu thiết kế thực hiện từng phần thì chỉ có các thành phần cơ bản là được cài đặt ở các điểm
ở xa nhằm: Xử lý các khối lượng công việc quá tải trong các giờ cao điểm; Duy trì hoạt động ở
mức cơ bản trong trường hợp điểm gốc site bị sự cố; Cung cấp một số dịch vụ hạn chế nếu cần.
Cả kiểu thiết kế đầy đủ hay từng phần đều dùng phương cách phân tán các máy chủ rải rác về mặt
địa lý. Cluster phân tán về địa lý sử dụng mạng LAN ảo (Virtual LAN) để kết nối các mạng khu
vực lưu trữ SAN (storage area network) qua những khoảng cách lớn. Để có thể duy trì hoạt động
cluster một cách hiệu quả, yêu cầu đối với kết nối trong mạng LAN ảo phải có độ trễ khoảng dưới
500 ms.
Tối ưu hoá các thiết bị lưu trữ trên cluster
Các thiết bị lưu trữ trên cluster cần được tối ưu hoá trên cơ sở những nhu cầu về hiệu năng và mức
độ sẵn sàng. Trong bảng 1 dưới đây cung cấp một cách khái quát những cấu hình hệ thống đĩa dự
phòng RAID phổ biến có thể lựa chọn cho Cluster. Các đầu mục trong bảng được sắp xếp từ mức
RAID cao nhất đến thấp nhất.
Bảng 1. Các cấu trúc RAID cho Cluster
Mức RAID Kiểu RAID Mô tả RAID Ưu/Nhược điểm
5+1 Phân “vành” (Disk striping) có kiểm tra chẵn lẻ (parity checking) + phản chiếu (mirroring)
Cần 6 khối (volume) trở lên, mỗi volume trên một ổ đĩa riêng và được cấu hình giống hệt nhau tạo
thành một tổ hợp vành được sao gương có kiểm tra lỗi chẵn lẻ (parity error checking). Có mức
chịu đựng lỗi rất cao nhưng cũng dư thừa nhiều. Hiệu suất sử dụng ổ đĩa thấp.
5 Phân “vành” có chẵn lẻ Cần 3 volume trở lên, mỗi volume trên một ổ đĩa riêng và được cấu hình

như nhau thành một tổ hợp vành có kiểm tra lỗi chẵn lẻ. Trong trường hợp bị lỗi thì dữ liệu vẫn có
thể phục hồi lại được. Có khả năng chịu đựng lỗi nhưng ít dư thừa hơn so với kiểu sao gương.
Hiệu suất đọc cao hơn so với kiểu sao gương.
1 Phản chiếu Hai volume trên hai ổ đĩa có cấu hình giống hệt nhau. Dữ liệu được ghi vào cả hai ổ
đĩa. Nếu một ổ bị lỗi, dữ liệu không bị mất vì ổ đĩa kia cũng lưu dữ liệu. Có dự phòng nóng. Hiệu
suất ghi tốt hơn so với đĩa phân “vành” có chẵn lẻ.
0+1 Phân “vành” + phản chiếu Hai volume trở lên, mỗi volume trên một ổ đĩa riêng, được phân
thành vành đai và được phn chiõu. Dữ liệu được ghi tuần tự lên các ổ đĩa có cấu hình giống hệt


nhau. Có dự phòng nóng với hiệu suất đọc/ghi tốt.
0 Phân “vành” Hai hay nhiều volume trên từng ổ đĩa riêng được cấu hình thành một “vành” (stripe
set). Dữ liệu được chia thành các khối được ghi tuần tự lên tất cả các ổ đĩa trong stripe set. Tốc độ
và hiệu năng những không có bảo vệ dữ liệu.
Tính mở của Cluster
Một vấn đề mà các nhà đầu tư xây dựng hệ thống cần quan tâm là khả năng mở rộng của hệ thống
Clustering. Tuỳ theo yêu cầu cụ thể các cluster có thể cần phải thêm các máy chủ vào Cluster,
hoặc thêm CPU và RAM cho các máy chủ để tăng khả năng đảm nhận công việc cho các máy chủ
đã có.
Muốn mở rộng Cluster bằng cách thêm các server, thì cả hai yếu tố là Kỹ thuật clustering lẫn Hệ
điều hành mà server sử dụng đều quan trọng. Ví dụ như trình bày trong bảng 2 sau đây, sự khác
nhau cơ bản về khả năng mở rộng của Advanced Server và Datacenter Server là số nút có thể dùng
với Cluster. Với Windows 2000, số nút máy chủ của Cluster tối đa là 4, trong khi đó với
Windows .NET, số nút máy chủ của Cluster tối đa là 8.
Bảng 2. Số nút tối đa tương ứng với các hệ điều hành và kỹ thuật Clustering
Hệ điều hành Kỹ thuật Clustering
Tên gọi Phiên bản Cân bằng tải mạng Cân bằng tải thành phần Dịch vụ Cluster
Windows 2000 Advanced Server 32 8 2
Datacenter Server 32 8 4
Windows .NET Advanced Server 32 8 4

Datacenter Server 32 8 8
Muốn mở rộng Cluster bằng cách thêm vào các CPUs và RAM thì việc đang dùng hệ điều hành
nào là vấn đề rất quan trọng. Ví dụ như Hệ điều hành Window 2000 Advanced Server hỗ trợ tối đa
8 bộ vi xử lý và 8 GB RAM, trong khi đó Window 2000 Datacenter Server hỗ trợ tối đa 32 bộ vi
xử lý và 64 GB RAM. Như vậy, có thể phải nâng cấp hệ điều hành từ Advanced Server lên
Datacenter Server nếu yêu cầu thêm CPU và RAM vượt quá khả năng của hệ điều hành đang
dùng.
Linux Cluster
Mặc dù công nghệ clustering hiện nay vẫn phổ biến dùng hệ điêù hành nguồn đóng, nhưng các
thống kê về thị phần và mức tăng trưởng của thị trường máy chủ cho thấy rõ ràng là sự chuyển
dịch sang các hệ điều hành nguồn mở như Linux đang ngày càng trở nên hiện thực (IBM đã đầu tư
khoảng 1 tỷ USD để phát triển hệ thống IBMLinux cluster. Bởi vậy khi thảo luận về công nghệ
clustering, việc tìm hiểu về Linux clustering là một vấn đề rất cần thiết).
Linux cluster được chú ý phát triển nhờ có các đặc điểm như: Giá thành rẻ do phát triển từ hệ điều
hành UNIX có mã nguồn mở; Tốc độ tính toán nhanh; Độ tin cậy cao. Linux cluster trên cơ sở bộ
xử lý Intel đã trở nên thông dụng trong các viện ngiên cứu. Đó là một phương án không quá tốn
kém đối với những vấn đề của công nghệ thông tin như lập trình song song, phát triển công cụ
song song và quản lý các hệ thống phân tán. Đồng thời,Intel Linux cluster cũng đang xuất hiện
trong các dự án nghiên cứu trong công nghiệp, mới đầu dưới dạng hộp mẫu hoặc thử nghiệm hệ
thống đang thiết kế.
Về nguyên lý hoạt động nói chung hệ thống Linux cluster cũng giống như các hệ thống cluster
dùng phần mềm nguồn đóng, tuy nhiên hệ điều hành cơ sở cho Linux cluster là hệ điều hành
Linux, được cài đặt trên từng nút của cluster. Chương trình quản lý được dùng trong các Linux
cluster tuỳ theo yêu cầu của khách hàng có thể hỗ trợ các chức năng bao gồm việc cung cấp giao
diện dòng lệnh hoặc cửa sổ; Các chức năng quản trị từ xa như thiết đặt lại hệ thống; giám sát các
tham số quan trọng; kiểm soát nguồn; xem tệp nhật ký hệ thống; thao tác đơn tác động song song


đến nhiều nút v.v. Sơ đồ nguyên lý của một Linux cluster cỡ lớn có thể biểu diễn như trong hình 2.
Hình 2: Sơ đồ nguyên lý của một Linux cluster lớn

Như đã nói ở trên, Linux cluster có độ tin cậy và tính ổn định khá cao, tuy nhiên việc thiết kế một
Linux cluster hay một siêu cluster không phải là đơn giản, nó đòi hỏi phải xác định được các lớp
rất trừu tượng và độ phức tạp tăng theo kích thước của cluster. Các đề án về giải pháp Linux
cluster phải do những người có hiểu biết cần thiết về các vấn đề này xây dựng nên. Việc xác định
các nút cần thiết phải theo các nguyên tắc sau:
· Cứ 32 đến 64 nút tính toán cần có một nút đầu mối.
· Mỗi hệ thống cần có một nút quản lý
· Việc vào/ra bên ngoài cần có một hay nhiều nút lưu trữ.
Có ba mạng chức năng cần phải có:
· Mạng dành cho việc liên lạc giữa các tiến trình IPC (inter process communication) với tốc độ
phụ thuộc vào bài toán được đặt ra.
· Mạng dùng cho vào/ra tệp (file I/O). Mạng IPC cũng có thể kiêm luôn nhiệm vụ này
· Mạng phục vụ cho việc quản lý hệ thống, thường là mạng được thiết lập bởi các chuyển mạch
10/100 Ethernet. Cũng cần phải có cả máy chủ phục vụ đầu cuối trong mạng này.
Kết luận
Clustering là một kỹ thuật được áp dụng nhằm nâng cao độ tin cậy và tính sẵn sàng của hệ thống
mạng máy tính. Một mạng được cấu trúc dưới dạng clustering sẽ có khả năng hoạt động bình
thường ngay cả khi có sự cố xảy ra cho một máy chủ mạng trong cluster. Tuỳ theo yêu cầu cụ thể
của hệ thống mà có thể cấu trúc cluster 2 nút, 4 nút, 8 nút hoặc nhiều hơn. Các nút trong cluster có
thể toàn ở thể chủ động, hoặc có nút chủ động, có nút thụ động. Mỗi cấu trúc của cluster sẽ đòi hỏi
một cấu hình phần cứng của các máy chủ tương ứng. Hệ điều hành cũng là một yếu tố quan trọng
cần xem xét khi thiết kế clustering cho mạng. Lựa chọn các phần mềm nguồn đóng như Window
2000 đảm bảo hệ thống dễ thiết lập, tuy nhiên tính bảo mất thường không cao. Các hệ điều hành
nguồn đóng như Linux tuy khó thiết định nhưng lại có tính bảo mật và độ an toàn cao hơn. Bởi
vậy, khi định thiết đặt một cấu trúc clustering cho hệ thống mạng của mình, nhà đầu tư cần xem
xét kỹ các yếu tố nêu trên để có thể quyết định lựa chọn giải pháp tối ưu cho mình./.


Một Giải pháp toàn diện cho vấn đề này dùng thiết bị chuyên dụng về quản lý lưu lượng:


Đối với các DN vừa và lớn, mỗi ngày có hàng ngàn lượt người truy cập vào trang web, hàng triệu
giao dịch được thực trên các hệ thống ứng dụng ... Bài viết giới thiệu về giải pháp chia tải giúp hệ
thống ứng dụng của các DN luôn đáp ứng kịp thời và bảo mật, các yêu cầu của khách hàng cũng
như các công nghệ và thiết bị cho giải pháp này.
Tại sao phải chia tải
Mỗi ngày có hàng ngàn người truy cập vào trang web của DN, tổ chức, hàng triệu thuê bao sử
dụng điện thoại và các dịch vụ gia tăng của nhà cung cấp, hàng nghìn tỷ đồng giao dịch giữa các
ngân hàng. Điều gì sẽ xảy ra nếu các dịch vụ đó hoạt động kém cỏi, ì ạch hay trong một giờ tất cả
những hoạt động đó bị ngừng lại? DN sẽ mất đi cả trăm khách hàng, đối tác tiềm năng, nhà cung
cấp bị phàn nàn, các hoạt động giao dịch, kinh doanh của khách hàng bị ảnh hưởng, hàng nghìn
nhà đầu tư bị mất chi phí, cơ hội. Đó không chỉ là thiệt hại về kinh tế mà còn về uy tín, hình ảnh,
sức cạnh tranh.
Nguyên nhân gây ra tình trạng trên có thể do hạ tầng mạng, phần cứng, phần mềm hiệu năng thấp,
cũng có thể do hệ thống bị tấn công, hệ thống không được sử dụng tối ưu, không có cơ chế tăng
tốc. Đối với lỗi gây đình trệ hệ thống, phần lớn do hệ thống nội bộ trong các DN, tổ chức có lỗi,
chẳng hạn như đường mạng bị đứt, thiết bị bị hỏng, mất điện cục bộ, ứng dụng bị lỗi, máy chủ bị
lỗi hay bị tấn công và có thể xảy ra ở bất cứ hệ thống nào, bất cứ lúc nào.
Để tránh tình trạng trên, các DN đều đã và đang đầu tư hệ thống hạ tầng một cách bài bản nhằm
đạt hiệu năng cao. Đó là việc trang bị các máy chủ ứng dụng mạnh, có dự phòng. Tuy nhiên, nếu
tại mỗi thời điểm mỗi chức năng chỉ có một server hoạt động hoặc không có giải pháp chuyên
dụng để chia tải cho các server thì không thể đáp ứng được nhu cầu của hệ thống ứng dụng đồ sộ,
đòi hỏi hoạt động liên tục như các trang web thương mại điện tử, các ứng dụng nhiều người dùng,
các hoạt động tiền tệ, tài chính, các cửa ngõ giao tiếp với khách hàng của ngân hàng, chứng khoán,
nhà cung cấp dịch vụ. Do đó, cần phải có nhiều server cùng đồng thời cung cấp một dịch vụ cho
hệ thống, cung cấp hiệu năng và tính sẵn sàng cao hơn, tính tin cậy cao hơn. Làm sao để các
server đó có thể phối hợp với nhau hiệu quả, đảm bảo tính sẵn sàng, liên tục, an toàn. Đó là lý do
ra đời của các giải pháp chia tải.
Các giải pháp chia tải trên thế giới
Việc chia tải có thể thực hiện bằng nhiều phương cách, hình thức khác nhau, với các công nghệ
khác nhau hay kết hợp chúng lại:

* Chia tải bằng phần mềm cài trên các máy chủ: Kết hợp nhiều server một cách chặt chẽ tạo thành
một server ảo (virtual server). Các hệ điều hành cho máy chủ thế hệ mới của các hãng Microsoft,
IBM, HP... hầu hết đều cung cấp khả năng này, một số hãng phần mềm khác như Veritas(Symantec)
cũng cung cấp giải pháp theo hướng này. Các giải pháp thuộc nhóm này có ưu điểm là quen thuộ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ý. Tuy nhiê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 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 ứng dụng.
* Chia tải nhờ proxy: Nhóm này thường tận dụng khả năng chia tải sẵn có trên phần mềm proxy
như ISA Proxy củaMicrosoft 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áy phổ dụng nên giải pháp này có ưu
điểm là chi phí thấp, khả năng mở rộng tốt vì cài đặt trên một máy độc lập, dễ quản trị. Tuy nhiên,
cũng vì chỉ hoạt động ở mức ứng dụng nên hiệ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ều lỗ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 dòng này thường
có tính ổn định kém, hiệu năng thấp, dễ mắc lỗi. Đây là điều không thể chấp nhận được đối với
các hệ thống đòi hỏi tính sẵn sàng cao như ngân hàng, tài chính.
* Chia tải nhờ thiết bị chia kết nối: Nhóm này thường sử dụng các mođun cắm thêm trên các thiết
bị chuyên dụng như Bộ định tuyến (Router) hay hay bộ chuyển mạch (Switch) để chia tải theo
luồng, thường hoạt động từ layer 4 trở xuống. Vì sử dụng thiết bị chuyên dụng nên có hiệu năng
cao, tính ổn định cao, khả năng mở rộng tốt hơn nhưng khó phát triển được tính năng bảo mật
phức tạp như giải pháp proxy, thường thuật toán chia tải rất đơn giản như DNS round-robin (đây là
thuật toán chia tải phổ biến nhất và đơn giản, tuy nhiên cứng nhắc và hiệu quả 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 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 giao dị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ăng tố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ì theo dõ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ải phá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ăng tố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ệu nă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ãng chỉ đáp ứng được một phần trong các yêu cầu trên như Module
CSS của Cisco, ISA của Microsoft, hay Netscaler của Citrix)
* Sử dụng thiết bị quản trị lưu lượng: là thiết bị có kiến trúc của một proxy hoàn chỉnh, thiết bị
này có khả năng kiểm soát, điều khiển và tối ưu hóa lưu lượng mạng chạy qua nó. Một trong
những thiết bị quản trị lưu lượng hàng đầu được biết đến là BIG IP LTM của hãng F5 Networks.
Đây là một thiết bị chia tải chuyên dụng khai thác tinh tế, thông minh của phần mềm thông qua
HĐH riêng TMOS do F5 tự nghiên cứu và phát triển. Thiết bị này sử dụng các thuật toán mềm dẻo
để theo dõi tự động trạng thái máy chủ, trạng thái kết nối và khả năng đáp ứng của ứng dụng
tương tự giải pháp sử dụng phần mềm chạy trên máy chủ nhưng nhờ có HĐH riêng chuyên dụng
được “cứng hóa”(hardened) nên bảo mật hơn và có khả năng xử lý song song, phân luồng gói tin
một cách thông minh, nhanh chóng.
Nhờ đó, BIG IP LTM được coi là một bước tiến vượt bậc không chỉ trong công nghệ cân bằng tải
mà còn về công nghệ bảo mật bởi nó có thể tích hợp các tính năng của Firewall, có khả năng
phòng chống hiệu quả các hình thức tấn công DoS, có hỗ trợ các chuẩn bảo mật tiên tiến nhất nhất
là FIPS 140-2 Level 2 và HIPAA. BIG-IP LTM được đánh giá cao ở tính năng bảo mật nhờ khả
năng nhận dạng tấn công đến tận tầng ứng dụng thông qua việc ảo hóa, và che dấu các lỗi ứng
dụng, lỗi phần cứng, real URL, những gì có thể làm căn cứ cho hacker tìm ra điểm yếu của hệ
thống để tấn công. Đặc biệt F5 tăng cường bảo mật cho kết nối SSL với khả năng mã hóa, giải mã
(cả khóa và dữ liệu) bằng phần cứng. Hơn nữa HĐH TMOS được kết hợp giữa kiến trúc phần
cứng xử lý hiệu năng cao với kiến trúc phần mềm module hóa tới từng giao thức, cộng với khả
năng quản trị hệ thống ở mức thời gian thực đã xóa bỏ rào cản công nghệ của cả hai nhóm

appliance và software.
F5 BIG-IP LTM có thuật toán cân bằng tải phong phú và thông minh dựa trên cơ chế tĩnh và động,
bao gồm Round-Robin, Dynamic Ratio, Least Connections, Fastest, Predictive và Observed khắc
phục hoàn toàn nhược điểm của phương pháp cân bằng tải cứng nhắc dựa trên thuật toán DNS
round-robin
Đặc biệt với ngôn ngữ lập trình iRule, sản phẩm BIG-IP có thể được tùy biến lại việc cân bằng tải,
đóng vai trò Ipv6 gateway cho mạng Ipv4 nên đáp ứng được sự chuyển đổi mạng từ Ipv4 sang
Ipv6 trong tương lai. BIG-IP LTM cung cấp giao diện lập trình iControl cho phép người dùng có
những tác động hạn chế lên nền tảng của BIG-IP. Chức năng caching thông minh của BIG-IP


khiến cho có thể offload tải (là khả năng chuyển tải cho một modun phần cứng chuyên dụng để xử
lý) giúp các các máy chủ ứng dụng và web tăng cường hiệu năng. Tới nay, đây là giải pháp duy
nhất có kỹ thuật multi-store caching (là khả năng quản lý các vùng cache khác nhau cho từng ứng
dụng, từng bộ phận) đem lại sự thông minh trong điều khiển và khả năng phân mức ưu tiên cho
ứng dụng.




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×