tính chịu lỗi trong hệ thống tệp tin phân tán

16
LÝ THUYẾT HỆ PHÂN TÁN Fault tolerance làm rõ đối với Distributed File System

Upload: duc-tran

Post on 21-Jul-2015

60 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Tính chịu lỗi trong hệ thống tệp tin phân tán

LÝ THUYẾT HỆ PHÂN TÁN

Fault tolerance làm rõ đối với

Distributed File System

Page 2: Tính chịu lỗi trong hệ thống tệp tin phân tán

Nội dung

Phần 1: Nhắc lại kiến thức cơ bản

Phần 2: Làm rõ với Distributed File System

Phần 3: Kết luận

01

Page 3: Tính chịu lỗi trong hệ thống tệp tin phân tán

Phần 1: NHẮC LẠI KIẾN THỨC CƠ BẢN

1.Một số khái niệm cơ bản

• Tính sẵn sàng (availability)

• Tính tin cậy (Reliability)

• Tính an toàn (Safety)

• Khả năng duy trì (Maintainability)

2.Phân loại lỗi

• Lỗi nhất thời (Transient fault)

• Lỗi lặp (Intermittent fault )

• Lỗi lâu dài (Permanent fault)

02

Page 4: Tính chịu lỗi trong hệ thống tệp tin phân tán

Mô hình lỗi Miêu tả

Lỗi bị treo Một máy chủ tạm dừng, nhưng nó vẫn hoạt động chính xác cho

tới khi nó tạm dừng

Lỗi thiếu sót

Nhận thiếu sót

Gửi thiếu sót

Một máy chủ bị lỗi đáp ứng các yêu cầu gửi tới

Một máy chủ bị lỗi nhận các thông tin gửi tới

Một máy chủ bị lỗi gửi các thông tin

Lỗi về thời gian Đáp ứng của một máy chủ nằm phía ngoài khoảng thời gian

quy định

Đáp ứng bị lỗi

Giá trị bị lỗi

Trạng thái truyền bị lỗi

Đáp ứng của một máy chủ không chính xác

Giá trị của đáp ứng bị sai

Các máy chủ đi chệch khỏi sự kiểm soát chính xác

Lỗi tùy ý Một máy chủ có thể xử lý nhiều đáp ứng tùy ý tại bất kỳ thời

điểm nào

Phần 1: NHẮC LẠI KIẾN THỨC CƠ BẢN

03

Page 5: Tính chịu lỗi trong hệ thống tệp tin phân tán

Phần 1: NHẮC LẠI KIẾN THỨC CƠ BẢN

3.Các phương pháp che dẫu lỗi

• Bằng dư thừao Thông tin

o Thời gian

o Vật lý

• Khôi phục tiến trình

• Che giấu lỗi trong truyền thông client/server đáng tin

cậy

• Che giấu lỗi trong truyền thông nhóm đáng tin cậy

04

Page 6: Tính chịu lỗi trong hệ thống tệp tin phân tán

Phần 1: NHẮC LẠI KIẾN THỨC CƠ BẢN

4.Phục hồi

• Phục hồi tiếno Đưa sang trạng thái mới mà hệ thống hoạt động tốt

o Cần dự đoán khi nào lỗi để chuẩn bị

• Phục hồi lùio Đưa hệ thống về thời điểm trước khi lỗi

o Cần liên tục ghi lại trạng thái - checkpoint

05

Page 7: Tính chịu lỗi trong hệ thống tệp tin phân tán

1. Xử lý lỗi Byzantine (Handling Byzantine Failures)

• Thường được bỏ qua.Lý do??

• Xử lý:

o Ý tưởng triển khai nhân bản: xây dựng một tập hữu hạncác trạng thái máy và phải có các tiến trình không lỗitrong tập này thực hiện các nhiệm vụ. Nếu k tiến trình lỗithì ít nhất k +x tiến trình khác nhau hoạt động.

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

06

Page 8: Tính chịu lỗi trong hệ thống tệp tin phân tán

1. Xử lý lỗi Byzantine (Handling ByzantineFailures)

• Khó khăn: tiến trình không bị lỗi, thực hiện tất cả cácquá trình theo thứ tự ->điều phối viên.

• Điều quan trọng: một cơ chế bỏ phiếu được sử dụngo Bất cứ khi nào một tiến trình nhận được yêu cầu để thực hiện

các hoạt động o với số lượng n trong khung nhìn v,o Gửi thông tin này cho tất cả các tiến trình khác, và chờ đợi cho

đến khi đã nhận được xác nhận từ ít nhất 2k tiến trình khác. Bằng cách này, chúng ta có được số lượng 2k+ 1 tiến trình choyêu cầu.

o Về bản chất, nó cho chúng ta biết rằng một số đủ lớn các tiếntrình sẽ thực hiện cùng yêu cầu -> an toàn thực thi.

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

07

Page 9: Tính chịu lỗi trong hệ thống tệp tin phân tán

1. Xử lý lỗi Byzantine (Handling Byzantine Failures)

• Toàn bộ giao thức bao gồm năm pha, thể hiện trong hình

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

08

Page 10: Tính chịu lỗi trong hệ thống tệp tin phân tán

1. Xử lý lỗi Byzantine (Handling Byzantine Failures)• Tại pha Prepare tất cả các tiến trình này cũng đã đồng ý về việc thiết

đặt các yêu cầu giống nhau. Tuy nhiên, điều này chỉ đúng trongkhung nhìn giống nhau: nếu có sự thay đổi khung nhìn mới,các tiếntrình khác nhau có thể có cùng số thứ tự cho các hoạt động khácnhau, nhưng đã được giao cho các khung nhìn khác. Vì lý do này, chúng ta cần pha Commit, trong đó mỗi tiến trình thông báo vớinhững tiến trình khác rằng nó đã lưu trữ các yêu cầu trong log cụcbộ của nó, và cho các khung nhìn hiện tại. Như một hệ quả, thậmchí nếu có một nhu cầu để phục hồi từ một sự sụp đổ, một tiến trìnhsẽ biết chính xác dãy số đã được chỉ định, và trong suốt khung nhìnđó.

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

09

Page 11: Tính chịu lỗi trong hệ thống tệp tin phân tán

2.High A vailability in Peer-to-Peer Systems

Có 2 phương pháp-Replication

-Erasure coding• Tính sẵn sàng:

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

10

e: Xác xuất không sẵn sàngn,m: số mảnh mã hóa file

m là số mảnh cần thiếta: mức độ sẵn sàng trung bình củafile

Page 12: Tính chịu lỗi trong hệ thống tệp tin phân tán

2.High A vailability in Peer-to-Peer SystemsVí dụ:P2P Backup system

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

11

Page 13: Tính chịu lỗi trong hệ thống tệp tin phân tán

2.High A vailability in Peer-to-Peer Systems• So sánh mức độ sẵn sàng giữa nhân bản và erasure coding

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

12

Page 14: Tính chịu lỗi trong hệ thống tệp tin phân tán

2.High A vailability in Peer-to-Peer Systems

• Dung lượng lưu trữ là không hề thiếu

• Tuy nhiên, sẽ ảnh hưởng băng thông.

• Ví dụ hiệu suất với các node kết nối với Internet qua DSL bất đối xứng hoặc đường dây cáp, tốc độ vài trămKbps.

Phần 2: LÀM RÕ VỚI DISTRIBUTED FILE SYSTEM

13

Page 15: Tính chịu lỗi trong hệ thống tệp tin phân tán

• Tính chịu lỗi là rất quan trọng trong hệ phân tán

• Có nhiều giải pháp tăng tính chịu lỗi với nhiều hệ thốngkhác nhau.

Phần 3: KẾT LUẬN

Page 16: Tính chịu lỗi trong hệ thống tệp tin phân tán

Cám ơn sự theo dõi củathầy và các bạn!