Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
876 KB
Nội dung
Đề tài: Bàitoánxâydựnghệphântáncókhảnăngchịulỗ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ÂNTÁN Đề tài: Bàitoánxâydựnghệphântáncókhảnăngchịulỗ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àitoánxâydựnghệphântáncókhảnăngchịulỗi MỤC LỤC CHƯƠNG 1 .6 TỔNG QUAN VỀ HỆPHÂNTÁN .6 1. Một số định nghĩa về hệphântá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ântán .6 2.1. Mục tiêu của hệphântá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ântán .7 2.2.1. Hệphântán mang tính hệ thống .7 2.2.2. Hệphântán mang tính ứng dụng 8 CHƯƠNG 2 .9 KHẢNĂNGCHỊULỖI CỦA HỆPHÂNTÁN 9 1. Chịulỗ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. Cơ chế Multicasting tin cậy cơ bản 17 2.4.2. Cơ chế Multicast tin cậy dạng cây 18 2.4.3. Cơ chế Multicast nguyên tử .19 3. Sự phục hồi lỗi 19 2 Đề tài: Bàitoánxâydựnghệphântáncókhảnăngchịulỗ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ịulỗi khi thiết kế một giao tiếp mạng .20 4.1. Vấn đề của bàitoá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àitoá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ăngchịulỗi của hệ thống .23 KẾT LUẬN .25 TÀI LIỆU THAM KHẢO 25 3 Đề tài: Bàitoánxâydựnghệphântáncókhảnăngchịulỗ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àitoánxâydựnghệphântáncókhảnăngchịulỗi MỞ ĐẦU Hệphântá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ântá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ântáncó thiết kế tốt có 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ântán được lắp đặt trên cơ 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âydựng được một hệphântá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 đề có tính chiến lược. Tiểu luận này nhằm trình bày một số vấn đề cơ bản xâydựng một hệphântáncókhảnăngchịulỗ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àitoánxâydựnghệphântáncókhảnăngchịulỗi CHƯƠNG 1 TỔNG QUAN VỀ HỆPHÂNTÁN 1. Một số định nghĩa về hệphântán 1.1. Định nghĩa 1 Hệphântá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ântán là một hệ thống có chức năng và dữ liệu phântá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ântá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, có thể nói : Hệphântá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ântá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 có chạy dịch vụ tên miền DNS. 2. Mục tiêu, phân loại hệphântán 2.1. Mục tiêu của hệphântán 2.1.1 Kết nối người sử dụng và tài nguyên Giải quyết bàitoá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ó của hệphântá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àitoánxâydựnghệphântáncókhảnăngchịulỗ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ỗihệ 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ântá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ântá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ântán được đặc tả đầy đủ và đúng đắn. 2.1.4. Tính co giãn Một hệphântán được gọi là có 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 có thay đổi quy mô về quản trị. Có 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ầnhệ 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ântán 2.2.1. Hệphântán mang tính hệ thống Hệ điều hành phântán được phát triển trên cơ 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 đã có 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àitoánxâydựnghệphântáncókhảnăngchịulỗ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 cơ 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 cơ 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ântán mang tính ứng dụngHệphântáncó phạm vi ứng dụng rất rộng, từ cung cấp các tiện ích tính toándù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àitoánxâydựnghệphântáncókhảnăngchịulỗi CHƯƠNG 2 KHẢNĂNGCHỊULỖI CỦA HỆPHÂNTÁN 1. Chịulỗ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 cókhảnăngchịulỗ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àn • Khảnăng bảo trì (maintainability). Tính sẵn sàng (availability): hệ thống có 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 có tính tin cậy là hệ thống có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 có tính an toàn là hệ 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 có độ an toàn cao là các hệ thống điều khiển. Khảnăng bảo trì (Maintainability):hệ thống cókhảnăng bảo trì là hệ thống cókhảnăng phục hồi lại được sau khi có lỗi. Nếu sự phục hồi này diễn ra tự động thì có thể nói hệ thống này cũng có tính sẵn sàng cao. Tính chịulỗi còn có 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âydựng thành công khảnăngchịulỗ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 có thể dễ dàng ảnh hưởng đến. Trong trường hợp này, xóa bỏ lỗi là khá dễ dàng. Tuy nhiên lỗi do truyền có 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âydựng một hệ thống có 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 có 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 có thể chịulỗ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ỗiLỗ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 cólỗi này 9 Đề tài: BàitoánxâydựnghệphântáncókhảnăngchịulỗiLỗ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 có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ỗicó thể đưa ra những quyết định không đúng. Lỗi bất kỳ Máy chủ có 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 có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, có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 có 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 có 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ả