tính chịu lỗi trong hệ thống tệp tin phân tán
TRANSCRIPT
LÝ THUYẾT HỆ PHÂN TÁN
Fault tolerance làm rõ đối với
Distributed File System
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
Cám ơn sự theo dõi củathầy và các bạn!