Bài toán xây dựng hệ phân tán có khả năng chịu lỗi

26 949 4
Bài toán xây dựng hệ phân tán có khả năng chịu lỗi

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi MỞ ĐẦU 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIỂU LUẬN NGUYÊN LÝ VÀ MÔ THỨC PHÁT TRIỂN HỆ PHÂN TÁN Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi Giảng viên hướng dẫn: TS Vũ Thị Hương Giang Học viên thực hiện: Nguyễn Văn Ninh Nguyễn Thị Thu Hằng Lớp: 12ACNTT – HY NĂM 2012 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi MỤC LỤC CHƯƠNG 1 .6 TỔNG QUAN VỀ HỆ PHÂN TÁN .6 1. Một số định nghĩa về hệ phân tán .6 1.1. Định nghĩa 1 .6 1.2. Định nghĩa 2 .6 1.3. Định nghĩa 3 .6 2. Mục tiêu, phân loại hệ phân tán .6 2.1. Mục tiêu của hệ phân tán .6 2.1.1 Kết nối người sử dụng và tài nguyên 6 2.1.2. Tính trong suốt 6 2.1.3. Tính mở .7 2.1.4. Tính co giãn .7 2.2. Phân loại hệ phân tán .7 2.2.1. Hệ phân tán mang tính hệ thống .7 2.2.2. Hệ phân tán mang tính ứng dụng 8 CHƯƠNG 2 .9 KHẢ NĂNG CHỊU LỖI CỦA HỆ PHÂN TÁN 9 1. Chịu lỗi và khái niệm 9 1.1. Các khái niệm liên quan .9 1.1.1. Các khái niệm 9 1.1.2. Phân loại lỗi 9 1.2. Các mô hình lỗi .10 1.2.1. Lỗi sụp đổ 10 1.2.2. Lỗi bỏ sót .10 1.2.3. Lỗi thời gian 10 1.2.4. Lỗi đáp ứng .11 1.2.5. Lỗi bất kỳ 11 2. Phương pháp che giấu lỗi 11 2.1. Che giấu lỗi bằng dư thừa 12 2.1.1. Dư thừa thông tin 12 2.1.2. Dư thừa thời gian 12 2.1.3. Dư thừa vật lý 12 2.2. Phục hồi tiến trình 13 2.2.1. Phương pháp thiết kế 13 2.2.2. Phương pháp nhân bản và che giấu lỗi .14 2.2.3. Các thỏa thuận trong hệ thống gặp lỗi 15 2.2.4. Phương pháp phát hiện lỗi 15 2.3. Che giấu lỗi trong truyền thông Client/ Server và tin cậy .15 2.3.1. Truyền thông điểm - điểm 16 2.3.2. RPC khi xảy ra lỗi và cách khắc phục 16 2.4. Che giẫu lỗi trong truyền thông nhóm tin cậy .17 2.4.1. chế Multicasting tin cậy bản 17 2.4.2. chế Multicast tin cậy dạng cây 18 2.4.3. chế Multicast nguyên tử .19 3. Sự phục hồi lỗi 19 2 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi 3.1. Phục hồi lùi 19 3.1.1. Ý tưởng, phương pháp 19 3.1.2. Một số hạn chế 19 3.2. Phục hồi tiến 20 3.2.1. Ý tưởng thực hiện 20 3.2.2. Vấn đề chính của phương pháp 20 4. Ví dụ về tính chịu lỗi khi thiết kế một giao tiếp mạng .20 4.1. Vấn đề của bài toán 20 4.1.1. Mô tả hệ thống 20 4.1.2. Phát hiện lỗi 21 4.2. Giải quyết bài toán .23 4.2.1. Cấu hình lại .23 4.2.2. Khắc phục lỗi 23 4.2.3. Đánh giá khả năng chịu lỗi của hệ thống .23 KẾT LUẬN .25 TÀI LIỆU THAM KHẢO 25 3 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi DANH MỤC CÁC HÌNH - BẢNG Bảng 1.1. Các mô hình lỗi 10 Hình 1.1. Server bị ngắt kết nối tạm thời 11 không đáp ứng được trong khoảng thời gian giới hạn 11 Hình 1.2. Thực hiện thêm một số lần cho đến khi kết nối được với Server .12 Hình 1.3. Tạo ra 3 bản sao .13 Hình 1.4. Hai server khác nhau cho cùng một nội dung 14 Hình 1.5. Lỗi sau khi thực hiện xong yêu cầu .16 Hình 1.6. Nhận được yêu cầu và bị lỗi 17 Hình 1.7. (a). Truyền bản tin (b). Bản tin phản hồi .17 Hình 1.8. Multicast tin cậy dạng cây .18 Hình 1.9. Hai máy tính A và B giao tiếp với nhau trong mô hình OSI .21 4 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi MỞ ĐẦU Hệ phân tán là tập hợp nhiều máy tính độc lập kết nối với nhau qua mạng và được cài đặt phần mềm của hệ phân tán. Các phần mềm của hệ phân tán được thiết kế để giúp cho các máy phối hợp hoạt động với nhau, cùng sử dụng những tài nguyên chung của hệ như phần cứng, phần mềm và dữ liệu. Khi sử dụng một hệ phân tán thiết kế tốt thể nhận được một tiện ích tính toán thống nhất, ngay cả khi tiện ích đó được sử dụng ở nhiều máy tính đặt ở những vị trí khác nhau. Các hệ phân tán được lắp đặt trên sở các phần cứng với phạm vi khác nhau, từ một số ít trạm làm việc kết nối bằng mạng LAN vào INTERNET, đến tập hợp các mạng LAN và WAN rộng khắp thế giới kết nối hàng triệu máy tính với nhau với tốc độ truyền dữ liệu từ 64Kbps đến gigabits mỗi giây. Kết quả của những cải tiến về mặt kỹ thuật đem lại sự kết nối dễ dàng nhiều hệ thống máy tính với nhau để tạo một mạng tốc độ cao. Tuy nhiên trong môi trường phân tán, đôi khi các hệ máy tính vẫn bị hỏng. Khi phần cứng hoặc phần mềm xuất hiện hư hỏng, các chương trình sẽ cho kết quả sai, hoặc bị dừng trước khi hoàn thành phép xử lý đã định. Để xây dựng được một hệ phân tán hoạt động hiệu quả và tối ưu, nhà thiết kế phải giải quyết rất nhiều vấn đề tính chiến lược. Tiểu luận này nhằm trình bày một số vấn đề bản xây dựng một hệ phân tán khả năng chịu lỗi và đưa ra một số giải pháp nhằm giải quyết các vấn đề đó. 5 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi CHƯƠNG 1 TỔNG QUAN VỀ HỆ PHÂN TÁN 1. Một số định nghĩa về hệ phân tán 1.1. Định nghĩa 1 Hệ phân tán là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán. 1.2. Định nghĩa 2 Hệ phân tán là một hệ thống chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính. 1.3. Định nghĩa 3 Hệ phân tán là một tập các máy tính độc lập giao tiếp với người dùng như một hệ thống thống nhất, toàn vẹn. Như vậy, thể nói : Hệ phân tán là sự kết hợp của mạng máy tính và phần mềm hệ phân tán. Ví dụ hệ phân tán: Một ví dụ đơn giản và phổ biến nhất là hệ thống World Wide Web (WWW)- tổ hợp các dịch vụ WebServer, các máy chủ cài đặt giao thức HTTP – đang cùng nhau cung cấp CSDL phân tán gồm các tài liệu siêu văn bản và tài liệu đa phương tiện. Các máy tính của mạng nội bộ cung cấp một hình ảnh đồng nhất về một hệ thống tệp phân tán. Tổ hợp các máy tính trong mạng Internet chạy dịch vụ tên miền DNS. 2. Mục tiêu, phân loại hệ phân tán 2.1. Mục tiêu của hệ phân tán 2.1.1 Kết nối người sử dụng và tài nguyên Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing) 2.1.2. Tính trong suốt Ẩn giấu sự rời rạc và những nhược điểm nếu của hệ phân tán đối với người sử dụng (end-user ) và những nhà lập trình ứng dụng (application programmer). Cụ thể hóa tám dạng trong suốt: - Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên. - Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên. Hai dạng trong suốt vừa trình bày được gọi chung là trong suốt mạng (network transparency). - Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vị trí của tài nguyên. - Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyển của tài nguyên khi đang được sử dụng. 6 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi - Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sử dụng bản sao của tài nguyên. - Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency). - Trong suốt sự cố (Failure transparency): che giấu lỗi hệ thống nếu có. - Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại. 2.1.3. Tính mở Hệ phân tán được gọi là mở nếu nó cung cấp các dịch vụ theo các quy tắc chuẩn mô tả cú pháp và ngữ nghĩa của dịch vụ đó. Thông thường trong hệ phân tán các dịch vụ thường đặc tả qua các giao diện bằng ngôn ngữ đặc tả giao diện (Interface Definition Language- IDL). Vì thế chỉ quan tâm đến cú pháp. Nó cho phép các dịch vụ khác nhau cùng chung sống. Nếu các giao diện của hệ phân tán được đặc tả đầy đủ và đúng đắn. 2.1.4. Tính co giãn Một hệ phân tán được gọi là tính co giãn nếu nó thích nghi với sự thay đổi quy mô của hệ thống. Thể hiện trên các khía cạnh sau: • Dễ bổ sung người sử dụng và tài nguyên hệ thống • Khi hệ thống thay đổi quy mô về mặt địa lý dẫn đến sự thay đổi về vị trí địa lý của người sử dụng và các tài nguyên. • Hệ thống thay đổi quy mô về quản trị. ba giải pháp phổ dụng để giải quyết vấn đề co giãn của hệ phân tán: • Ẩn giấu • Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệ thống (quản lý phân cấp). Ví dụ DNS xác định theo cách phân cấp miền lớn thành các miền con. Với phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng hay tài nguyên vào hệ thống. • Nhân bản: nhân bản một thành phần nào đó của hệ thống. Ví dụ tài nguyên dữ liệu đặt tại các vị trí khác nhau trong hệ thống. 2.2. Phân loại hệ phân tán 2.2.1. Hệ phân tán mang tính hệ thống Hệ điều hành phân tán được phát triển trên sở một số tiền đề sau đây: - Thứ nhất, do nhu cầu tăng không ngừng việc chia sẻ tài nguyên và thông tin mà các hệ điều hành đã từ trước không đáp ứng được. Trong quá trình triển khai ứng dụng tin học, các mạng máy tính phát triển không ngừng, các tài nguyên của các máy tính trong mạng được 7 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi mở rộng và nâng cấp, giá trị các tài nguyên này tăng nhanh dẫn đến sự tăng trưởng vượt bậc về chia sẻ tài nguyên. - Thứ hai, liên qua đến giá các trạm làm việc giảm nhanh chóng. Chính điều này làm cho chúng được sử dụng phổ dụng hơn, số lượng và chất lượng các trạm tăng không ngừng. Từ đó làm tăng yêu cầu xử lý phân tán. - Thứ ba, việc sử dụng rộng rãi các mạng. Trên sở việc sử dụng kết nối mạng để triển khai hệ điều hành mạng tạo nên một sở kỹ thuật hạ tầng làm nền tảng phát triển hệ điều hành phân tán. 2.2.2. Hệ phân tán mang tính ứng dụng Hệ phân tán phạm vi ứng dụng rất rộng, từ cung cấp các tiện ích tính toán dùng cho mục đích chug của nhiều nhóm người sử dụng đến các hệ thống tryền thông đa phương tiện, hệ thống thu ngân ngân hàng tự động, và hầu như chúng chứa đựng hầu hết các ứng dụng kỹ thuật và thương mại về máy tính. 8 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi CHƯƠNG 2 KHẢ NĂNG CHỊU LỖI CỦA HỆ PHÂN TÁN 1. Chịu lỗi và khái niệm 1.1. Các khái niệm liên quan 1.1.1. Các khái niệm Một hệ thống khả năng chịu lỗi là một hệ thống đảm bảo được những yêu cầu sau: • Tính sẵn sàng • Tính tin cậy • Tính an toànKhả năng bảo trì (maintainability). Tính sẵn sàng (availability): hệ thống tính sẵn sàng là hệ thống luôn sẵn sàng hoạt động tốt ở mọi thời điểm. Tính tin cậy (Reliability): một hệ thống tính tin cậy là hệ thống khả năng hoạt động trong một thời gian dài mà không bị gián đoạn, không xảy ra lỗi. Tính an toàn (Safety): hệ thống tính an toànhệ thống mà khi xảy ra lỗi cũng không dẫn tới thảm họa. Các hệ thống cần phải độ an toàn cao là các hệ thống điều khiển. Khả năng bảo trì (Maintainability):hệ thống khả năng bảo trì là hệ thống khả năng phục hồi lại được sau khi lỗi. Nếu sự phục hồi này diễn ra tự động thì thể nói hệ thống này cũng tính sẵn sàng cao. Tính chịu lỗi còn liên quan tới khái niệm điều khiển lỗi (Fault control). Điều khiển lỗi bao gồm ngăn ngừa lỗi, loại bỏ lỗi và dự báo lỗi với mục tiêu xây dựng thành công khả năng chịu lỗi cho hệ thống Rõ ràng việc tìm ra nguyên nhân gây lỗi là rất quan trọng. Chẳng hạn một môi trường truyền không tốt thể dễ dàng ảnh hưởng đến. Trong trường hợp này, xóa bỏ lỗikhá dễ dàng. Tuy nhiên lỗi do truyền thể bị gây ra bởi điều kiện thời tiết xấu (ví dụ trong mạng wireless). Thay đổi thời tiết để ngăn chặn lỗi là một giải pháp không khả thi. Việc xây dựng một hệ thống thể tin cậy được liên quan chặt chẽ đến việc xử lý lỗi. Với chúng ta, điều quan trọng nhất là tính chịu lỗi, nghĩa là hệ thống thể cung cấp các dịch vụ trong khi vấn tồn tại lỗi. Nói cách khác, hệ thống thể chịu lỗi và tiếp tục hoạt động một cách bình thường. 1.1.2. Phân loại lỗi Lỗi được phân chia thành các loại sau: Lỗi nhất thời (Transient faults): Là loại lỗi xuất hiện một lần rồi biến mất. Cách khắc phục: thực hiện lại hoạt động lỗi này 9 Đề tài: Bài toán xây dựng hệ phân tán khả năng chịu lỗi Lỗi lặp (Intermittent faults): Là loại lỗi mà chúng xuất hiện, rồi biến mất, sau đó lại xuất hiện lại và cứ tiếp tục như thế. Lỗi này thường gây ra các hậu quả trầm trọng vì chúng rất khó xác định được. Cách khắc phục: sử dụng bộ sửa lỗi cho hệ thống (fault doctor) để khắc phục lỗi. Lỗi lâu dài (Permanent faults): Là loại lỗi vẫn tồn tại ngay cả khi thành phần gây lỗi đó đã được sửa chữa. 1.2. Các mô hình lỗi Kiểu lỗi Mô tả Lỗi sụp đổ Server ngừng hoạt động nhưng vẫn hoạt động đúng cho đến khi nó ngừng hoạt động. Lỗi bỏ sót Nhận thiếu sót Gửi thiếu sót Server bị lỗi khi không khả năng nhận hoặc phản hồi các yêu cầu. Server bị lỗi khi chưa nhận được yêu cầu. Server bị lỗi trước khi gửi các phản hồi. Lỗi thời gian Server bị lỗi khi bản tin phản hồi được gửi đi bên ngoài khoảng thời gian quy định. Lỗi đáp ứng Sai giá trị Trạng thái chuyển đồi bị lỗi Server phản hồi không chính xác. Giá trị phản hồi là không chính xác. Khi server bị lỗi thể đưa ra những quyết định không đúng. Lỗi bất kỳ Máy chủ thể tạo ra các phản hồi bất kỳ tại thời điểm bất kỳ. Bảng 1.1. Các mô hình lỗi 1.2.1. Lỗi sụp đổ Khi server gặp lỗi này thì nó sẽ bị treo, trước đó server vẫn hoạt động tốt cho đến khi ngừng hoạt động. Khi server gặp lỗi này, nó sẽ không thể làm gì được nữa. Một ví dụ hay gặp lỗi này là hệ điều hành của các máy cá nhân. Khi hệ điều hành ngừng hoạt động thì chỉ còn cách duy nhất là khởi động lại. 1.2.2. Lỗi bỏ sót Lỗi này xảy ra khi server không khả năng nhận hay đáp ứng đày đủ các yêu cầu. Trong trường hợp lỗi nhận các yêu cầu, khả năng server không bao giờ nhận được yêu cầu ngay trong lần đầu tiên. Lỗi nhận các yêu cầu nói chung sẽ không ảnh hưởng đến trạng thái của server vì server chỉ không nhận biết được rằng thông điệp gửi cho nó. Tương tự như vậy, lỗi gửi các bản tin xảy ra khi server đã hoàn thành công việc của nó, nhưng vì một lý do nào đó mà không thể gửi được phản hồi. 1.2.3. Lỗi thời gian Xảy ra khi bản tin phản hồi được gửi đi trong một khoảng thời gian không thích hợp, như gửi dữ liệu quá sớm thể dễ dàng gây ra rắc rối cho phía nhận nếu bên nhận không đủ 10 . về máy tính. 8 Đề tài: Bài toán xây dựng hệ phân tán có khả năng chịu lỗi CHƯƠNG 2 KHẢ NĂNG CHỊU LỖI CỦA HỆ PHÂN TÁN 1. Chịu lỗi và khái niệm 1.1. Các. bản xây dựng một hệ phân tán có khả năng chịu lỗi và đưa ra một số giải pháp nhằm giải quyết các vấn đề đó. 5 Đề tài: Bài toán xây dựng hệ phân tán có khả

Ngày đăng: 14/12/2013, 15:05

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan