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

Các phương pháp dự phòng nâng cao tính sẵn sàng của hệ thống

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.79 MB, 50 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
----------

PHÂN TÍCH & THIẾT KẾ AN TỒN MẠNG
MÁY TÍNH
ĐỀ TÀI: Các phương pháp dự phịng nâng cao tính sẵn
sàng của hệ thống

Hà Nội - 2018


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................


......................................................................................................................................
......................................................................................................................................
......................................................................................................................................


Mục lục:
MỞ ĐẦU................................................................................................................. 4
CHƯƠNG I ............................................................................................................. 5
HỆ THỐNG SẴN SÀNG CAO .............................................................................. 5
1.1. Khái niệm về hệ thống sẵn sàng cao (High Availability) ............................. 5
1.2. Các rủi ro và mức độ rủi ro trong một hệ thống ........................................... 8
1.3. Các giải pháp chung đảm bào tính sẵn sàng cao........................................... 9
CHƯƠNG II .......................................................................................................... 14
CÔNG NGHỆ KẾT CỤM .................................................................................... 14
2.1. Định nghĩa kết cụm (Cluster) ...................................................................... 14
2.2. Các lợi ích và hạn chế của sự kết cụm ........................................................ 15
2.3. Kết cụm nhiều địa điểm và phân tán về địa lý ............................................ 16
2.4. Tổ chức kết cụm .......................................................................................... 18
2.5. Nguyên lý hoạt động kết cụm ..................................................................... 19
2.6. Các cơ chế thứ lỗi (Failover )...................................................................... 22
2.7. Nhịp tim (Heartbeat) ................................................................................... 28
2.8. Cân bằng tải mạng (Network Load Balancing- NLB) ................................ 29
CHƯƠNG 3 : DEMO (NLB) ................................................................................ 34
CHƯƠNG 4: KẾT LUẬN .................................................................................. 49
TÀI LIỆU THAM KHẢO .................................................................................... 50


MỞ ĐẦU
Với nền kinh tế toàn cầu đang phát triển, các Cơng ty với quy mơ trên
tồn thế giới đã và đang đưa công nghệ thông tin vào các ứng dụng thực tế.

Thương mại điện tử đã tạo diều kiện dế mọi người có thể tiến hành kinh doanh
24 giờ một ngày, 7 ngày một tuần. Những ứng dụng mới có thể cho phép tiến
hành tin học hố các hoạt động hàng ngày của mình với mức độ cao nhất từ xưa
đến nay.
Xu hướng như vậy đã rõ ràng, tất cả chúng ta đều cần phải dựa vào một hệ
thống ổn định để có thể truy cập bất cứ lúc nào. Chính nhu cầu này làm tăng
đáng kể tính sẩn sàng của hệ thống. Chính vì các cơng ty và các tổ chức đều phải
dựa vào hệ thống máy tính của mình, bất cứ thời gian ngừng hoạt động nào của
hệ thống đều có thể ảnh hưởng nghiêm trọng đến kinh doanh của cơng ty. nó
khơng chỉ là sự sút giảm về năng suất lao động mà còn là sự thất thốt về doanh
thu hay thậm chí là sự suy giám vị thế trên thị trường.
Hiện nay các hãng lớn về lĩnh vực công nghệ thông tin đã và đang được
nghiên cứu các giải pháp nâng cao tính sẵn sàng cao hệ thống mạng bao gồm cả
giải pháp phần cứng và phần mềm. Các công ty,tổ chức với quy mô lớn đang
được áp dụng các giải pháp tính sàn sàng cao đế đảm bảo hệ thống của họ vận
hành liên tục. Và tương lai mọi công ty, tổ chức vừa và nhỏ mà hoạt động của họ
đều dựa vào hệ thống mạng thì cần phải có một giải pháp sẵn sàng tích hợp.


CHƯƠNG I
HỆ THỐNG SẴN SÀNG CAO
1.1. Khái niệm về hệ thống sẵn sàng cao (High Availability)
1.1.1. Định nghĩa tính sẵn sàng cao của hệ thống
Tính sẵn sàng cao cùa hệ thống được hiểu là khá năng hoạt động của một
hệ thống trực tuyến và sẵn sàng đáp ứng nhu cầu khách hàng ở mọi thời điểm.
Có rất nhiều nhân tố làm cho hệ thống ngừmg hoại động không thể đáp ứng
được yêu cầu của khách hàng trong đó bao gồm cả thời gian cần để bảo trì hệ
thống. Mục đích của các giải pháp tính sẵn sàng cao là hạn chế tối đa việc ngừng
hoạt động và sự khôi phục hệ thống một cách nhanh chóng khi có sự cố xảy ra.
Tính sẵn sàng cao khơng phải là một cơng nghệ riêng biệt hay là một đặc

trưng rõ ràng cua hệ thống. Đúng hơn, tính sẵn sàng cao là khả năng để đạt được
mục tiêu và mang nhiều ý nghĩa cụ thể tuỳ theo nhu cầu đặt ra. Để đạt được mục
tiêu chiến lược này có rất nhiều chiến lược công nghệ và dịch vụ đã được dùng
và mỗi công nghệ hay dịch vụ lại hướng đến một mục tiêu cụ thể.

1.1.2. Các mức sẵn sàng cao
Trong một phạm vi nào đó. tính sẵn sàng cao chỉ đơn giản mang ý nghĩa
khôi phục một thảm hoạ và đưa tổ chức trở lại hoạt động bình thường của hệ
thống một cách nhanh chóng. Với những hệ thống nhỏ thì nó có thể chỉ đơn giản
là có một hệ thống điện và công nghệ lưu trữ dữ liệu được bảo vệ an tồn khơng
bị ngắt kỹ thuật. Với một phạm vi rộng hơn thì tính sẵn sàng cao là hệ thống có
thể sẵn sàng làm việc liên tục đáp ứng mọi nhu cẩu cùa khách hàng với cường
độ, tần xuất và khối lượng khác nhau. Ví du như cơng nghệ chia sẻ một khối


lượng lớn cống việc để tiến hành ở nhiều nơi, đảm bảo tính trong suốt đối với
khách hàng khi sử dụng các dữ liệu được phân bổ ở nhiều nơi với khoảng cách
lớn thì khách hàng cảm nhận như sử dụng các dữ liệu tại chỗ. Cho nên, có thể
nói rằng, có rất nhiều mức độ tính sẵn sàng cao khác nhau nằm giữa hai mức độ
tối thiểu và tối đa được đề cập đến.
Người ta chia mức độ sẵn sàng trung bình như sau:
Sẵn sàng

Mức độ sẵn sàng

Thời gian ngừng hđ/năm

100%

0 phút


Tính chịu lỗi cao

99.9999%

5 phút

Tính chịu lỗi thường

99.99%

53 phút

Sán sàng cao

99.9%

8,8 tiếng

99-99.5%

44-87 tiếng

Sẵn sàng liên tục

Sẩn sàng bình thường

Mức độ sẵn sàng được tính bằng cơng thức sau:

Trong dó MTBF (Mean Time Between Fault) là thời gian mà hệ thống

hoạt động cung cấp dịch vụ, MTTR (Mean Time To Repair) là thời gian mà hệ
thống ngừng hoạt động cung cấp dịch vụ.
Như vậy chúng ta có thể nâng cao mức độ sẵn sàng bằng cách giảm thời
gian ngừng hoạt dộng của hệ thống và thời gian khôi phục lỗi khi hệ thống gặp
sự cố.
1.1.3. Q uan niệm về hệ sẵn sàng cao
Quan niệm đơn thuần về kỹ thuật
Không có một giải pháp nào là đơn giản, dễ dàng và rẻ tiền cho tính sẵn
sàng cao. Bấi kì giải pháp nào cũng phải đảm bảo cân đối giữa nhu cầu thực tế
và tính kinh tế cùa nó.


Xu hướng của chúng ta là tập hợp những thành phần quan trọng khác nhau
về phấn cứng, phần mềm, các tiến trình của những hệ thống độc lập để tạo thành
một hệ thống phối hợp để có thể quản lý một cách tập trung. Cụ thể hơn là, tập
hợp những thành phần có mối quan hệ phụ thuộc lẫn nhau của hệ thống phức tạp
thành một hệ thống tổng thể để đáp ứng được các yêu cầu đặt ra.
Một hệ thống phối hợp thường được cấu hình và đo đạc bởi một trung tâm
máy dịch vụ và trung tâm mạng.
Trung tâm máy dịch vụ là tập hợp các máy dịch vụ được kết cụm với tính
sẵn sàng đo bằng phần trăm thời gian dịch vụ trực tuyến mà các khách hàng ở
bất cứ nơi nào trong miền của hệ thống đều có thể truy cập được.
Trung tâm mạng dựa vào một kiến trúc phân tán. Tính sẵn sàng đo bằng
phần trăm thời gian dịch vụ trực tuyến tại mức người dùng cuối cùng.
Giải pháp nâng cao tính sẵn sàng thường tập trung vào hai mặt là: ngăn
ngừa và tránh những sự cố của tất cả các vấn đề có thể làm cho hệ thống bị gián
đoạn việc cung cấp dịch vụ. Thêm vào đó, cần tập trung vào việc phục hồi nhanh
và hạn chế mọi xung đột có thể xảy ra làm cho hệ thống ngừng hoạt động.
Quan niệm kinh tế kỹ thuật
Thực hiện cách tiếp cận tiên tiến đòi hỏi không những phải lựa chọn thiết

bị phần cứng tốt. đổng bộ mà còn biết lựa chọn dịch vụ phần mềm và tổ chức
quản lý chúng để có thế đạt được một giải pháp toàn bộ hiệu quả.
Sự cần thiết của một dịch vụ phẩn mềm bổ sung cho cơ sở hạ tầng là một
điểm rất quan trọng. Tính sẵn sàng cao không chỉ là việc đạt được thông qua các
giải pháp kỹ thuật, mặc dù công nghệ là một phần quan trọng trong bất kỳ giải
pháp nào. Việc mua thiết bị và cơng nghệ với một giá cao, tính chịu lỗi cao,
trạng thái của một hệ thống nghệ thuật khơng phái lúc nào cũng cần thiết. Điều
đó có nghĩa là, việc kinh doanh cần đạt được mức độ của tính sẵn sàng mong
muốn chỉ với những cơng nghệ có dịch vụ thích hợp, với sự quản trị, sự hỗ trợ
phòng ngừa rủi ro, quản lý và đặt kế hoạch khôi phục đúng đắn.


Bất kỳ một giải pháp sẵn sàng cao nào đều cần đến một sự hiểu biết thấu
đáo về hệ thống và có một kế hoạch xát xao. Tính sẵn sàng của hệ thống phải
được đánh giá, đo đạc, phòng ngừa và những kế hoạch điểu khiển hoạt động của
hệ thống một cách thích hợp. Tính chun mơn cao là một yêu cầu cho một giải
pháp đạt hiệu quả cao.

1.2. Các rủi ro và mức độ rủi ro trong một hệ thống
Qua các nghiên cứu cho thấy, nguyên nhân chính làm cho nhiều hệ thống
bị trục trặc, sụp đổ có nguồn gốc từ: phần mềm, phần cứng, người dùng và môi
trường.
- Lỗi phần cứng: Phần cứng thường là nguyên nhân chính dẫn tới hệ
thống bị lỗi. Theo thống kê cho thấy 39% trường hợp đều liên quan tới
phần cứng, trong đó lỗi do thiết bị lưu trữ là 51,7%, bộ nhớ là 23%, các
bảng mạch 16,7%, bộ xử lý 2,9% và nguồn điện là 5,7%. Những lỗi này
là hậu quả của q trình sản xuất bao gổm các cơng nghệ sản xuất và sự
quản lý nó. Ngày nay, rất nhiều nhà sản xuất đã không ngừng cái tiến
công nghệ và tổ chức quản lý để xây dựng các thiết bị phần cứng với độ
tin cậy cao. Các thiết bị phần cứng ngày càng có nhiều tính năng và sức

mạnh lớn hơn với độ tin cậy cao hơn. Ngoài các lỗi do bản thân thiết bị,
lỗi phần cứng còn xảy ra ở khâu kết nối như cáp, các card mạng, bộ
chuyển mạch.v.v.
- Lỗi phần mềm: Tồn tại như một sự tất yếu. Nhất là việc xuất hiện các
phiên bản phần mềm mới càng ngày càng gia tăng khả năng lỗi đi kèm
theo phần mềm đó. Theo thống kê cho thấy, lỗi phần mềm chiếm 31%
tổng số lỗi. Trong đó, do hệ điểu hành là 61,7% và các ứng dụng là
39,3%. Cũng như đối với lỗi phần cứng, các nhà sản xuất phần mềm
thường xun hồn thiện và sử dụng cơng nghệ mới (hướng đối tượng),
tăng cường q trình tự động hóa việc sản xuất phần mềm. sử dụng
thành phần dùng lại để giảm thiểu lỗi phần mềm.


- Lỗi mơi trường: mà trong đó hệ thống hoạt động có thể có nhiều sự cố
chủ quan đưa lại. Nó bao gồm sự mất nguồn điện và thảm hoạ môi
trường như cháy, khủng bố, lũ lụt, động đất.v.v. Theo thống kê, lỗi do
môi trường chiếm 12%.
- Lỗi người dùng: Theo thống kê cho thấy, 18% lỗi do người dùng gây
ra, trong đó 66,6% là do người điều khiển. Nguyên nhân dẫn đến lỗi
người dùng có thể là chương trình khơng tiện dùng, do trình độ thành
thạo của người dùng cịn hạn chế. Vì vậy, có thể giảm lỗi người dùng
bằng một số phương pháp như tăng cường đào tạo, phần mểm dễ sử
dụng và tổ chức quản lý tập trung.

Hình. Biểu đồ mức lỗi trung bình các loại trong một hệ thống

1.3. Các giải pháp chung đảm bào tính sẵn sàng cao
1.3.1. Giải pháp phần cứng



Nhìn vào biểu đồ lỗi ta thấy, số lỗi phần cứng là lớn nhất. Vì vậy, các
giải pháp để khắc phục các lỗi phần cứng được quan tâm trước hết.
- Sử dụng dự phòng trong kết nối các máy khách dịch vụ:
Trong một hệ sẵn sàng cao cần có giải pháp cho các vấn để xảy ra khi máy
khách truy cập các dịch vụ từ máy dịch vụ qua mạng. Ta có thể loại bỏ lỗi đơn
khâu kết nối bằng cách dự phòng các thành phần kết nối như sử dụng nhiều card
mạng ,Hub, Switch, Router và Cáp, v.v. từ đó một hệ thơng có thể chuyển tới
một card dự phịng mà khơng ảnh hưởng đến sự gián đoạn trong việc kết nối bởi
máy khách.
- Sử dụng công nghệ kết cụm để hạn chế tối đa sự ngừng hoạt động dịch
vụ:
Để hạn chế tối đa sự ngừng trễ hoạt động của dịch vụ ta có thể trang bị hai
hoặc nhiều máy dịch vụ kết nối với nhau trong một môi trường kết cụm thực
hiện một hay nhiều công việc khác nhau, trong trường hợp một dịch vụ hay máy
dịch vụ bị hỏng các dịch vụ đó sẽ chuyển sang máy dịch vụ khác trong mơi
trường kết cụm đó với thời gian ngừng chi vài giây.
Có rất nhiều cơng nghệ kết cụm đã phát triển để hạn chế tối đa sự ngừng
trễ của hệ thống. Các cơng nghệ đó đã được thiết kế cho từng dịch vụ và đối với
mỗi hệ điều hành nhất định. Công nghệ kết cụm được xem là giải pháp chủ yếu
để đảm bảo tính sẵn sàng cao của tồn hệ thống.
- Cơng nghệ lưu trữ và bảo vệ dữ liệu:
Tính sẵn sàng cao liên quan đến việc truy cập dữ liệu với thiết bị lưu trữ.
Việc thiết kế kết hợp phần cứng bằng công nghệ RAID (Redundant Array of
Inexpensive Disk) với việc sử dụng phần mềm bản sao dữ liệu là rất cần thiết.
Để đạt được mục đích tính sẵn sàng cao và hiệu suất cao thì việc thiết kế nên có
nhiều bộ điều khiển thiết bị lưu trữ cùng với đường dẫn và cáp dự phòng tới thiết
bị lưu trữ.
- Dự phòng các thiết bị phần cứng cho thay thế:



Để nâng cao tính sẵn sàng của hệ thống thì cần phải dự phòng một số thiết
bị cần thiết để đảm bảo kịp thời trong việc thay thế thiết bị đã bị hỏng khi sự cố
phần cứng xảy ra. Khi dự phịng cho thay thế cần tính đến xác xuất thống kê về
sự hư hỏng mỗi loại thiết bị.
- Quản lý, dự báo và báo cáo tình trạng phần cứng hệ thống:
Để nâng cao tính sẵn sàng của hệ thống cần phải nói đến việc dự đốn rủi
ro để bảo vệ và lập báo cáo về hiện trạng của hệ thống. Trên cơ sở đó, ta có thế
ngăn ngừa các rủi ro và sớm đưa ra giải pháp khắc phục sự cố. Cho nên, cần có
phẩn mềm giúp cho người quán trị như giám sát các tài nguyên của hệ thống,
giám sát các yêu cầu của người dùng, kiểm tra tình trạng của tài ngun và gửi
thơng điệp kịp thời mỗi khi gặp sự cố, đặc biệt trường hợp khẩn cấp.
Phần mềm Event Monitoring Service (EMS) của HP hỗ trợ việc nâng cao
tính sẵn sàng của hệ thống. Nó có thể báo cáo khi mất (hỏng) tài nguyên. Nó có
thể nhận ra và báo cáo khi lỗi lớn có thể xảy ra, giúp cho người quản trị hành
động trước sự kiện xảy ra nhằm bảo vệ sự mất mát thông tin và nâng cao tính sẵn
sàng.
1.3.2. Giải pháp phần mềm
Tính sẵn sàng của hệ thống có thể được bảo đảm bằng các phầm mềm ứng
dụng hoạt động tốt tránh bị lỗi. Cho nên, để nâng cao các ứng dụng họat động tốt
và tính đúng đắn thì cần chú ý đến các vấn đề sau:
• Sao lưu và phục hồi dữ liệu: Khi một chương trình ứng dụng khơng
hoạt động được thì có thể phục hồi từ trạng thái cũ.
• Phân tán dữ liệu: Có thể phân tán dữ liệu để chia sẻ sự thực hiện của
hệ thống cùng với chia sẻ lỗi của một hệ thống.
• Các hệ quản trị cơ sơ dữ liệu: Hệ quản trị cơ sở dữ liệu phải có khả
năng phục hồi và sao lưu dữ liệu cùng với việc phân tán dữ liệu để
nâng cao tính sẵn sàng của dịch vụ. Khơng những có các tính năng
trên, mà một hệ quản trị cơ sở dữ liệu cịn cần phải tin cậy, ít lỗi, dễ
sử dụng và dễ quán trị.



1.3.3. Giải pháp liên quan đến mơi trường
Để phịng chống hệ thống khỏi sự cố và nâng cao tính sẵn sàng có thể
thực hiện bằng cách sử dụng nhiều địa điểm vật lý (multiple physical sites).
Kiến trúc nhiều địa điểm (multi-siie architecture) có thể được thiết kế theo rất
nhiều cách khác nhau, trong đó phổ biến nhất là có site gốc (primary site) và
một hay vài site ở xa (remote site) để tránh khỏi những thảm họa do môi trường
như bão, lũ lụt, cháy v.v..
Đối với nguồn điện thì nên sử dụng hai nguồn cung cấp điện cho hệ thống,
bao gồm đường cung cấp điện và thiết bị lưu điện (UPS). Nếu một nguồn điện
bị mất thì mạch diện sẽ chuyển sang một nguồn khác mà không làm cho hệ
thống bị ngắt.
Để đạt được một mức độ tính sẵn sàng cao của nguồn điện trong trường
hợp mất điện thì nên sử dụng thiết bị lưu điện riêng biệt cho mỗi máy dịch vụ và
cho các thiết bị lưu trữ chia sẻ.
1.3.4. Giải pháp liên quan đến người dùng
Để nâng cao tính sẵn sàng của hệ thống khơng những tập trung chú ý đến
việc đầu tư công nghệ hoặc thiết bị đắt tiền có tính chịu lỗi cao mà cần tập trung
vào đào tạo đội ngũ cán bộ kĩ thuật công nghệ thông tin làm sao để họ hiểu biết
về cái giá phải trả khi hệ thống bị ngưng hoạt động và cách bảo vệ cũng như
cách khắc phục lỗi. Trên cơ sở đó, đưa ra các quy định về cách thức sử dụng hệ
thống để tránh những lỗi của người quản trị. Không những đào tạo để khắc phục
hoặc bảo vệ mà cịn nghiên cứu các cơng nghệ mới để đáp ứng nhu cầu tính sẵn
sàng của hệ thống.
1.3.5. Lựa chọn một giải pháp tổng hợp
Để có được một giải pháp thích hợp đáp ứng nhu cầu tính sẵn sàng của hệ
thống thì cần tập hợp rất nhiều giải pháp khác nhau, từ đó xem xét và lựa chọn
các phương án thích hợp đáp ứng các nhu cầu đặt ra tùy theo hồn cảnh, đảm
bảo tính kinh tế và tính kỹ thuật.




CHƯƠNG II
CÔNG NGHỆ KẾT CỤM
2.1. Định nghĩa kết cụm (Cluster)
Trong một mạng máy tính của một cơ quan hay một cơ sở kinh doanh lớn.
các dữ liệu cần thiết để hoạt động đều được lưu giữ trên các máy dịch vụ. Người
dùng cuối liên tục truy cập các dữ liệu này để phục vụ cho cơng việc của mình.
Điều này yêu cầu hệ thống mạng phải đảm bảo luôn sẵn sàng phục vụ người sử
dụng. Trong thực tế, mặc 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 hệ thống máy tính, nhưng cũng như tất cả các phương tiện kỹ
thuật khác, việc xảy ra sự cố là vấn đề không bao giờ tránh khỏi của hệ thống
mạng. Bởi vậy, vấn đề quan trọng đặt ra là làm thế nào để cho các dữ liệu luôn
luôn sẵn sàng để cho người dùng truy cập, ngay cả khi có sự cố xảy ra. Kết cụm
là một giải pháp mà các hãng sản xuất máy tính đưa ra để giải quyết vấn đế này.
Kết cụm là một kiến trúc kết nối một số máy dịch vụ cùng với những phần
mềm chuyên dụng 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 nhờ khả năng thay thế hay thứ lỗi khi gặp lỗi của cả hệ thống.
Kiến trúc này được thiết kế sao cho hệ thống vẫn hoạt động bình thường khi có
một sự cố nào đó xảy ra ở một máy dịch vụ đang làm việc. Sự kết cụm cho phép
sử dụng một số máy dịch vụ kết nối với nhau tạo thành một cụm có khả năng
khắc phục hay thứ lỗi nhằm nâng cao độ sẵn sàng của hệ thống mạng. Nếu một
máy dịch vụ ngừng hoạt động do bị sự cố hoặc để nâng cấp, bảo trì v.v... thì tồn
bộ cơng việc mà máy dịch vụ này đảm nhận sẽ được tự động chuyển sang cho
một máv dịch vụ khác (trong cùng một kết cụm) mà không làm cho hệ thống bị
ngắt hay gián đoạn. Quá trình này gọi là quá trình thứ lỗi và việc phục hồi tài
nguyên trở lại máy dịch vụ cũ được gọi là phục hồi lại “fail-back” .
Mỗi nhà sản xuất có một chiến lược và công nghệ riêng cho việc thiết kế
hệ kết cụm. Ví dụ như một giải pháp đơn giản của HP là kết hợp các kỹ thuật



chịu đựng sai sót nhỏ bao gồm các việc bố trí bộ nguồn điện dự phịng và có độ
an tồn cao.
2.2. Các lợi ích và hạn chế của sự kết cụm
2.2.1. Lợi ích của sự kết cụm
Việc, kết cụm được sử dụng để phục vụ cho 3 vấn đề cơ bản sau:
- Yêu cầu về tính sẵn sàng cao (Availability) :
Tính sẵn sàng cao ở đây muốn đề cập đến việc cung cấp cho người dùng
cuối khá năng cao nhất để truy cập đến các dữ liệu hay dịch vụ mạng và giảm
thiểu sự ngừmg hoạt động ngoài ý muốn. Giải pháp đưa ra cần đáp ứng được
nhu cầu hoạt động của cơ quan.
- Yêu cầu về độ tin cậy cao (Reliability) :
Độ tin cậy cao được hiểu là khả năng giảm thiểu tần xuất 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. Một giải pháp được coi là
có độ tin cậy cao nếu nó giảm thiểu được số các sự cố riêng rẽ xảy ra cũng như
sự ảnh hưởng của các sự cố này đến các dịch vụ mà hệ thống cung cấp. Người
ta nâng cao độ tin cậy của hệ thống dựa vào các kỹ thuật như dự phòng, thứ lỗi,
cũng như các phầm mềm ứng dụng . Khả năng chịu đựng sai sót phải được hiểu
là khả năng phát hiện được lỗi, nhưng không làm cho hệ thống bị ngừng hoạt
động do cơ chế để xử lý lỗi.
- Yêu cầu về khả năng mở rộng được (Scalablility) :
Khả năng có thể cải thiện hoạt động của hệ thống bằng cách trang bị thêm
tài nguyên hay máy tính cho hệ thống đó được gọi là khả năng mở rộng được.
Các hệ thống riêng rẽ có thể được mở rộng bằng cách thêm các tài nguyên (như
CPU s, bộ nhớ, ổ đĩa). Các dịch vụ cũng có thể được mở rộng bằng cách thêm
các thiết bị vào hệ thống để tăng khả năng làm dịch vụ của hệ thống cả về quy
mô và chất lượng.


Một dịch vụ mạng được thiết kế tốt thường sử dụng kỹ thuật hệ thống và

thành phần dư thừa để dự phòng các sự cố làm ảnh hưởng đến sự sẵn sàng của
tồn bộ dịch vụ dó.
Ba u cầu trên còn được gọi tắt là RAS (Reliability-AvailabilityScalability) cũng như những hệ thống đáp ứng dược ba yêu cầu trên còn được
gọi là hệ thống RAS.
2.2.2. Những hạn chế
Kỹ thuật kết cụm phụ thuộc vào sự tương thích giữa các ứng dụng và dịch
vụ để có thể hoạt động tốt. Các phần mểm cần phải có những đáp ứng thích hợp
khi có sự cố xảy ra. Tuy nhiên, kỹ thuật kết cụm 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, sao lưu dữ liệu.

2.3. Kết cụm nhiều địa điểm và phân tán về địa lý
Hầu hết các doanh nghiệp đều xây dựng hệ thống phòng chống sự cố và
nâng cao tính sẵn sàng bằng cách sử dụng nhiều địa điểm vật lý (multiple
physical sites). Kiến trúc nhiều địa điểm (multi-site architecture) có thể được
thiết kế theo rất nhiều cách khác nhau, trong đó phổ biến nhất là có địa điểm
chính (primary site) và một hay vài địa điểm ở xa (remote site).
2.3.1. Kiểu thiết kế thực hiện đầy đủ
Với kiểu thiết kế đầy đủ, toàn bộ cấu trúc của địa điểm chính được xây
dựng lại đầy đủ ở các địa điếm ở xa. Điều này cho phép địa điểm ở xa hoạt động
độc lập hay xử lỷ toàn bộ khối lượng cơng việc của địa điểm chính 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 phải đổng bộ và được sao lặp lại ngay lập tức hay được sao lặp ở chế
độ thời gian thực (real-time replication).


Sự sao lặp ở chế độ thời gian thực đám bảo một trạng thái ổn định cho dữ
liệu và các ứng dụng dịch vụ giữa các địa điểm. Trong trường hợp không thể
thực hiện việc cập nhật theo thời gian thực như nêu trên thì cơ sờ dữ liệu và ứng

dụng phải được cập nhật càng sớm càng tốt.

2.3.2. Kiêu thiết kế thực hiện từng phần
Với kiểu thiết kế thực hiện từng phần thì chi có các thành phần cơ bản là
được cài đặt ở các địa đ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 trường hợp địa điếm chính bị sự cố.
+ Cung cấp một số dịch vụ hạn chế nêu cần.

2.3.3. Phân bô rải rác các kết cụm


Cá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 dịch vụ trong kết cụm nhằm rải rác về mặt địa lý (geographically
dispersed). Kết cụm phân tán về địa lý sử dụng mạng LAN ảo (VLAN) để 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. Một kết nối mạng LAN ảo với độ trễ vào khỏang dưới 500 ms đảm
bảo rằng sự kết cụm có thể duy trì được.
Việc mở rộng các kho lưu trữ, nếu có, sẽ được xử lý bằng các phần cứng,
còn sự kết cụm sẽ không quán lý việc thực hiện các công việc này. Việc hỏng
hóc xảy ra (bao gồm cả việc hỏng kho lưu trữ gốc) cần được can thiệp bằng thủ
cơng để duy trì chức năng sự kết cụm.

2.4. Tổ chức kết cụm
Kết cụm được tổ chức thành các nhóm gọi là các trại (farm) hay gói
(pack). Trong hầu hết các trường hợp, các dịch vụ ở tầng trước và giữa được tổ
chức thành các trại sử dụng các clone, trong khi đó các địch vụ tầng sau được tổ
chức thành các gói.
2.4.1. Trại kết cụm (Cluster Farm)


Một trại là một nhóm các máy dịch vụ chạy các dịch vụ giống nhau
và sử dụng dữ liệu giống nhau, nhưng không dùng chung các dữ liệu. Các
trại xử lý bất cứ yêu cầu nào được gửi đến cho chúng với các dữ liệu giống
hệt nhau được lưu giữ cục bộ trên chúng. Do các máy dịch vụ sử dụng các
bản sao dữ liệu giống hệt nhau (chứ không dùng chung một bản dữ liệu),
nên các máy dịch vụ thành viên trong trại có thể làm việc độc lập và chúng
cũng được gọi là clone.
2.4.2. Gói kết cụm (Cluster Pack)


Một gói là một nhóm các máy dịch vụ hoạt động cùng với nhan và chia sẻ
vớì nhau các phần dữ liệu. Chúng làm việc với nhau để quản lý và duy trì
các dịch vụ. Các thành viên của gói làm việc theo một phương thức điều
hành thống nhất.
M ột ví dụ về gói kết cụm là một kết cụm các máy dịch vụ cơ sở dữ liệu
(Database Server Cluster) chạy SQL Server 2000 và mỗi máy dịch vụ với các
khung nhìn dữ liệu thành phẩn (partitioned database view). Mỗi thành viên của
gói này chia nhau ra xử lý một đoạn dữ liệu thay vì phải xử lý tồn bộ cơ sở dữ
liệu.
Ví dụ trong bốn nút SQL Server kết cụm: chúng được phân chia như sau:
+ M áy dịch vụ CSDL 1 có thể x ử lý các account bắt đầu bằng A -F.
+ Máy dịch vụ CSDL 2 có thể xử lý các account bắt đầu bằng G-M.
+ Máy dịch vụ CSDL 3 có thể xử lý các account bắt đầu bằng N-S.
+ Máy dịch vụ CSDL 4 có thể xử lý các account bắt đầu bằng T-Z.

2.5. Nguyên lý hoạt động kết cụm
Sự tin cậy và tính sẵn sàng là một thách thức lớn cho các ứng dụng, trong
khi hậu quả của việc ứng dụng đó có thế là một thảm hoạ rất nặng nề. Ví dụ như
hệ thống điều khiển máy bay, hệ thống theo dõi bệnh nhân, ứng dụng trực tuyến
giao dịch tài chính. Rõ ràng đối với các hệ thống này thì một sự cố sẽ làm hệ

thống ngừng hoạt động có thể gây ra hậu quả không thế lường được. Những ứng
dụng như vậy đều yêu cầu những hệ thống máy tính liên tục hoạt động kể cả
trong trường hợp xảy ra sự cố vể phần cứng hoặc phần mềm hoặc cả phần cứng
và phần mềm.
Trước đây người ta thiết kế phần cứng có tính chịu đựng lỗi cao để nâng
cao tính sẵn sàng và độ tin cậy của hệ thống ví dụ như máy Stratus, Tanden.
Tuy nhiên để thiết kế được một cơng nghệ như vậy thường rất đắt tiền. Đó là
một khó khăn cho các khách hàng khi muốn sử dụng chúng.


Gần đây người ta đã quan tâm tới xây dựng hệ thống có tính chịu lỗi cao
bằng cách dự phịng các thành phần sử dụng công nghệ “ Kết cụm ” . Nhiều sản
phẩm dã được thương mại hóa như M C/Service Guard, Life keeper, Microsoft
Cluster Service. Trong hệ thống xây dựng theo kiến trúc này, nếu một nút bị lỗi
trong một hệ kết cụm, ứng dụng đang chạy trên nút đó sẽ được chuyển sang nút
khác nằm trong hệ kết cụm đó. Đày là một q trình khắc phục lỗi, khắc phục
lỗi cho phép hệ thống tiếp tục cung cấp dịch vụ. Tuy nhiên, sự thực hiện của
toàn hệ thống có thể giảm sút.
Xây dựng một hệ tin cậy và sẵn sàng thường bao gồm việc dự phòng thiết
bị phần cứng để sẵn sàng thay thế và hệ thống có thể tiếp tục thực hiện cơng
việc của thiết bị bị lỗi. Nút chính của kết cụm chạy một ứng dụng, trong khi nút
dự phòng hoặc trong chế độ chờ đợi hoặc chạy một số ứng dụng khác. Nút chính
trao đổi thơng tin với nút dự phịng qua một mạng, nút dự phòng vẫn truy cập
được dữ liệu khi nút chính bị lỗi vì dữ liệu được lưu lên đĩa ngồi được kết nối
tới cả hai nút.

Hình 2.3
Một cách tiêu biểu để thực hiện một hệ có độ tin cậy và sẵn sàng là kiểm tra định
kỳ dữ liệu ứng dụng định kỳ của đĩa dùng chung. Khi nút chính bị lỗi, nút dự
phòng sẽ nạp lại dữ liệu tại điểm kiếm tra trước đó từ đĩa dùng chung rồi tiếp tục

chạy ứng dụng bắt đầu từ điểm kiểm tra gần nhất này. Thực hiện kiểm tra thường
xuyên nói chung làm tăng chi phí thời gian thao tác thơng thường, nhưng giảm
thời gian khắc phục lỗi nhờ hạn chế tối thiếu số lượng công việc phải thực hiện
lại.


Hình 2.4
Quá trình tự động phát hiện ra lỗi và dịch chuyển cơng việc tới nút dự
phịng tại điếm kiểm tra gần nhất được gọi là quá trình khắc phục lỗi.
Trong hình 2.4 mơ tả một q trình khắc phục lỗi. Một cách chung nhất
để phát hiện lỗi là sử dụng cơ chế “ nhịp tim ” (heartbeat) theo định kỳ. Một
ứng dụng C chạy trên máy dịch vụ chính được định kỳ gửi một thơng báo tình
trạng bình thường của nó tới máy dự phịng, ứng dụng C được kiếm tra hàng
mỗi T giây trong khi C đang chạy và cho phép phát hiện ở thời điểm X mà ứng
dụng gặp lỗi trong khoảng T giây đó. Khi máy dự phịng phát hiện ra sự vắng
mặt của thơng tin nhịp tim từ máy dịch vụ chính, đầu tiên nó xác nhận lỗi của
máy dịch vụ chính bởi sử dụng cơ chế bỏ phiếu. Khi một lỗi của máy dịch vụ
chính được phát hiện, máy dự phịng sẽ tiếp tục hoạt động. Đầu tiên nó tải dữ
liệu của C từ dữ liệu chia sẻ và khởi động lại chương trình C cùng với trạng thái
bắt đầu từ thời điểm kiểm tra gần nhất. Cuối cùng máy dự phòng làm lại tất cả
sự tính tốn bắt đầu từ thời điểm kiểm tra gần nhất trước khi m áy dịch vụ chính
bị lỗi. Cuối cùng hệ thống có thể tiếp tục cung cấp dịch vụ cho khách hàng.
Độ trễ của sự khắc phục lỗi là thước đo quan trọng của sự khắc phục lỗi
của hệ thống, đặc biệt cho những ứng dụng trọng yếu. Độ trễ khắc phục lỗi xác
định bởi khoảng thời gian mà dịch vụ không hoạt động. Độ trễ khắc phục lỗi
bao gồm thời gian phát hiện lồi, phục hồi trạng thái bộ nhớ tại thời điểm kiểm
tra gần nhất và thực hiện lại việc tính lốn từ điểm bị lỗi.
Đa số hệ thống kết cụm hiện tại có thời gian khắc phục lỗi hệ thống khá
dài (hơn 10 s), chủ yếu do hai lý do: Đầu tiên ứng dụng phải nạp dữ liệu từ đĩa
để khôi phục lại trạng thái ở điểm kiểm tra gần đây nhất. Thứ hai, đa số các giải

pháp đặt khoảng điểm kiếm tra lớn dần tới thời gian của quá trình khắc phục lỗi
thực hiện kéo dài hơn.


2.6. Các cơ chế thứ lỗi (Failover )
Cơ chế thứ lỗi là đặc trưng của việc triển khai của một số ứng dụng cá
biệt hoặc một số phần riêng lẻ đế đạt được độ sẵn sàng cao.
Trong một kết cụm gồm hai nút, việc xác định cơ chế thứ lỗi là một công
việc đơn giản, nếu một nút bị hỏng, một lựa chọn duy nhất thiết lập để phục hồi
hoạt động ở nút còn lại. Nhưng khi số lượng nút của một kết cụm tăng lên thì có
thể có rất nhiều phương án thứ lỏi khác nhau và khả năng này có các đặc tính
khác nhau.
Các cặp thứ lỗi (Failover pairs)
Trong một kết cụm lớn, các cặp thứ lỗi có thể định nghĩa một tập các cặp cơ
chế phục hồi lỗi giữa hai nút.
Ví dụ minh hoạ trong hình 2.5 dưới đây biếu diễn hai ứng dụng: ứng
dụng một và ứng dụng hai trong một kết cụm bốn nút.

Hình 2.5
Cơ chế này có các ưu nhược điếm sau:


• Áp dụng tốt cho các kết cụm hỗ trợ các ứng dụng lớn như các cơ sở
dữ liệu. Cơ chế này đảm bảo khi có một sự cơ' xảy ra, hai ứng dụng
sẽ khơng nằm trong một nút.
• Dễ dàng tính dung lượng của các máy dịch vụ trong kết cụm : Dung
lượng của mỗi nút là kích thước dựa trên ứng dụng mà nút đó sẽ
phải đảm nhiệm .
• Độ sẵn sàng và hiệu suất của hệ thống là dễ xác định.
• Đạt được tính mềm dẻo cho một kết cụm lớn.

• Chỉ có 50% năng lực của kết cụm được sử dụng.
• Sự can thiệp cùa người quản trị là cần thiết nếu có sự cố xảy ra với
nhiều hỏng hóc.
Máy dịch vụ dụ phịng (Hot-Standby Server)
Nhằm giảm tổng số các cặp thứ lỗi, một nút dự phịng cho mỗi cặp nút có
thể trở thành một nút đơn. Có nghĩa là, máy dịch vụ dự phịng đảm nhiệm các
công việc trong trường hợp xảy ra sự cố hỏng hóc như minh hoạ trong hình 2.6
dưới đây:

Hình 2.6


Cơ chế này có các ưu nhược điểm sau:
• Áp dụng tốt cho các kết cụm hỗ trợ các ứng dụng lớn như các cơ sở
dữ liệu, đảm bảo khi có một sự cố xảy ra, hai ứng dụng sẽ khơng
nằm trong một nút.
• Dễ dàng tính dung lượng của các máy dịch vụ trong kết cụm: Dung
lượng của mỗi nút là kích thước dựa trên ứng dụng mà nút đó đảm
nhiệm, nút dự phịng có dung lượng bằng dung lượng lớn nhất cùa tất
cả các nút trong kết cụm.
• Độ sẵn sàng và hiệu suất của hệ thống là rất dễ xác định.
• Loại bỏ được lỗi đơn.
• Khơng thực sự giải quyết được nhiều lỗi hỏng. Điều này chỉ là dự
phịng theo lịch trình trong thời gian bào hành.

Hiện nay có nhiều cơng nghệ kết cụm hỗ trợ các máy dịch vụ dự phòng sử
dụng kết hợp chế độ dự phòng và thực hiện song song :
Thứ lỗi N+Ị

Máy dịch vụ dự phòng làm việc tốt với các kết cụm bốn nút trong một số

cơ chế, tuy nhiên khả năng giải quyết nhiều lỗi hỏng cùng một lúc của nó là có
giới hạn. Các cấu hình N+I là một sự mở rộng của khái niệm máy dịch vụ dự
phòng khi các ứng dụng với N nút và 1nút dự phịng như minh hoạ ở hình 2.7
sau:


Hình 2.7
Cơ chế N+I có các ưu nhược điểm sau :
• Áp dụng tốt cho các kết cụm hỗ trợ các ứng dụng lớn như các
cơ sở dữ liệu. Cấu hình này đảm bảo rằng khi có một ứng dụng
bị lỗi, thì ứng dụng đó sẽ chuyển tới nút dự phịng chứ khơng
phải một nút đang sử dụng.
• Dễ dàng tính dung lượng của các máy dịch vụ trong kết cụm:
Dung lượng của mỗi nút là kích thước dựa trên ứng dụng mà
nút đó đảm nhiệm.
• Độ sẵn sàng và hiệu suất của hệ thống là rất dễ xác định.
• Cơ chế này đám bảo hoạt động tốt khi xảy ra nhiều lỗi hỏng.
• Khơng thực sự giải quyết hồn toàn đối với nhiêu ứng dụng
chạy trên cùng một nút. Cơ chế này phù hợp nhất đối với các
ứng dụng chạy trên một kết cụm chuyên dụng.

Thứ lỗi vòng (Failover Ring)


×