Bài giảng Hệ điều hành mạng nâng cao - Hoàng Xuân Dậu - Chương 3: Hệ thống File phân tán
• Hệ thống file v à hệ thống file phân t án
• Đặt tên v à tính trong su ốt
• Các ngữ nghĩa của việc chia s ẻ
• Các phương ph áp truy nh ập từ xa
• Các vấn đề về khảnăng ch ịu lỗi
• Các vấn đề về khảnăng m ở rộng
• Giới thiệu hệ thống file phân t án của
Google (Google Distributed File System)
file phân tán 38 Các ngữ nghĩa của việc chia sẻ • Các ngữ nghĩa của việc chia sẻ là một thuộc tính chỉ ra các ảnh hưởng của việc có nhiều clients đồng thời truy nhập một file chia sẻ. • Một cách cụ thể, các ngữ nghĩa của việc chia sẻ chỉ ra khi nào việc sửa đổi dữ liệu bởi một client có thể quan sát (thấy được) bởi các clients khác. • Đây cũng là tiêu chí quan trọng để đánh giá một hệ thống file bất kỳ cho phép nhiều clients truy nhập các file chia sẻ. • File session: là chuỗi truy nhập file (Read/Write) bởi một client trên 1 file luôn được thực hiện trong khoảng 2 thao tác: Mở (Open) và Đóng (Close) file. HĐH mạng nâng cao III. Hệ thống file phân tán 39 Các ngữ nghĩa của việc chia sẻ • Các ngữ nghĩa Unix (Unix Semantics) • Các ngữ nghĩa phiên làm việc (Session Semantics) • Các ngữ nghĩa của các file chia sẻ bất biến (Immutable Shared File Semantics) • Các ngữ nghĩa giao dịch (Transaction- like Semantics) HĐH mạng nâng cao III. Hệ thống file phân tán 40 Các ngữ nghĩa Unix • Mỗi thao tác đọc một file sẽ thấy được ảnh hưởng của tất cả các thao tác ghi được thực hiện trước đó lên một file trong DFS. – Cụ thể, thay đổi bởi các thao tác ghi thực hiện bởi 1 client lên 1 file xuất hiện ngay tức thì trên các client khác cũng đang mở file này. • Giải pháp: Các clients có thể chia sẻ một con trỏ đến vị trí hiện tại của file trong hệ thống. – Nếu 1 client làm dịch chuyển con trỏ này thì sẽ ảnh hưởng đến tất cả các clients khác cùng chia sẻ con trỏ. HĐH mạng nâng cao III. Hệ thống file phân tán 41 Các ngữ nghĩa phiên làm việc • Các thay đổi bởi các thao tác ghi vào 1 file đang mở xuất hiện tức thì trên các clients cục bộ, nhưng không xuất hiện trên các clients ở xa cũng đang mở file này. • Khi file được đóng lại, các thay đổi trên file chỉ xuất hiện trong các phiên làm việc với file bắt đầu sau thao tác này. – Các thay đổi không xuất hiện trên các clients đã bắt đầu các phiên làm việc trước đó. HĐH mạng nâng cao III. Hệ thống file phân tán 42 Các ngữ nghĩa của các file chia sẻ bất biến • Các file chia sẻ bất biến là các file không thể sửa đổi (chỉ đọc) khi được chia sẻ. • Tên file không thể được tái sử dụng và nội dung của file không thể sửa đổi. HĐH mạng nâng cao III. Hệ thống file phân tán 43 Các ngữ nghĩa giao dịch • Một file session tương đương với một giao dịch. • Khi một giao dịch được thực hiện, file bị khoá (lock) cho đến khi giao dịch hoàn tất. • Thường dùng trong các hệ thống quản trị CSDL. HĐH mạng nâng cao III. Hệ thống file phân tán 44 Các phương pháp truy nhập từ xa • Xem xét việc 1 client yêu cầu truy nhập 1 file từ xa, cần thực hiện hai thao tác: – Máy chủ lưu file cần được tìm thông qua hệ thống tên – Chuyển dữ liệu của file từ máy chủ về máy khách. • Có hai phương pháp thực hiện việc vận chuyển dữ liệu file: – Dịch vụ từ xa (Remote service) và – Lưu khay (Caching). HĐH mạng nâng cao III. Hệ thống file phân tán 45 Dịch vụ từ xa (Remote service) Server Client Request Response HĐH mạng nâng cao III. Hệ thống file phân tán 46 Dịch vụ từ xa (Remote service) • Client gửi yêu cầu truy nhập đến server; • Server thực hiện truy nhập và gửi kết quả cho client; • Có sự tương quan giữa truy nhập và lưu lượng mạng. Mỗi truy nhập do server thực hiện đều phát sinh lưu lượng mạng (network traffic); • Trong thực tế, nếu chỉ thực hiện Remote service là không thực tế. Remote service thường được sử dụng kết hợp với caching. HĐH mạng nâng cao III. Hệ thống file phân tán 47 Lưu khay (Caching) • Client lưu dữ liệu (toàn bộ hoặc một phần) của file tại cache cục bộ trong các lần truy nhập file trước đó để sử dụng trong các lần kế tiếp. • Nếu client tìm thấy dữ liệu cho yêu cầu truy nhập file trong cache, thì truy nhập được thực hiện trên phiên bản dữ liệu lưu trong cache. • Nếu dữ liệu cho yêu cầu truy nhập file không có trong cache, client sẽ tải dữ liệu của file từ máy chủ. HĐH mạng nâng cao III. Hệ thống file phân tán 48 Lưu khay (Caching) Server Client Request Response Local Cache HĐH mạng nâng cao III. Hệ thống file phân tán 49 Caching (tiếp) • Cache đạt hiệu quả cao nhất khi các truy nhập tham chiếu có tính lân cận. • Cần có chính sách cập nhật phiên bản chủ của file để đảm bảo tính nhất quán giữa dữ liệu trong cache và dữ liệu file trên máy chủ. • Không có sự tương quan giữa truy nhập và lưu lượng mạng. • Trong hệ thống file cục bộ, cache được sử dụng để giảm truy nhập vào/ra, còn trong DFS, cache được sử dụng để giảm lưu lượng mạng. HĐH mạng nâng cao III. Hệ thống file phân tán 50 Caching vs Remote service • Hiệu năng – Khi sử dụng caching: • Một lượng lớn các truy nhập từ xa có thể được xử lý một cách hiệu quả trong cache cục bộ. • Nếu truy nhập file có tính lân cận thì hiệu quả càng cao. • Hầu hết các truy nhập từ xa có thể được phục vụ với tốc độ của các truy nhập cục bộ. • Giảm được tải cho máy chủ và lưu lượng mạng – Khi sử dụng remote service: • Mỗi truy nhập phải được xử lý qua mạng • Làm tăng tải cho máy chủ và tăng lưu lượng mạng. • Giảm hiệu năng hệ thống HĐH mạng nâng cao III. Hệ thống file phân tán 51 Caching vs Remote service • Tải trên mạng (network overhead) – Khi sử dụng caching: tổng tải mạng giảm do dữ liệu được vận chuyển một số ít lần với khối lượng lớn; – Khi sử dụng remote service: tổng tải mạng tăng do dữ liệu được vận chuyển nhiều lần với khối lượng nhỏ theo từng yêu cầu truy nhập cụ thể. HĐH mạng nâng cao III. Hệ thống file phân tán 52 Caching vs Remote service • Chu trình truy nhập đĩa – Caching: máy chủ có thể tối ưu hoá chu trình truy nhập đĩa nếu có các yêu cầu truy nhập một lượng lớn các khối dữ liệu kề nhau. – Remote service: Khó tối ưu hoá do truy nhập thường là ngẫu nhiên. HĐH mạng nâng cao III. Hệ thống file phân tán 53 Caching vs Remote service • Vấn đề đồng nhất dữ liệu là một trong các vấn đề lớn nhất của caching. – Caching có hiệu năng cao khi tần suất ghi thấp. – Ngược lại, nếu tần suất ghi lớn, hiệu năng giảm mạnh do caching phải thường xuyên cập nhật dữ liệu file trên máy chủ để đảm bảo tính đồng nhất dữ liệu. • Ổ đĩa cục bộ: – Để sử dụng caching, client phải có ổ đia cục bộ hoặc bộ nhớ chính lớn. – Với remote service, client không đòi hỏi phải có ổ đĩa cục bộ. HĐH mạng nâng cao III. Hệ thống file phân tán 54 Các vấn đề về khả năng mở rộng • Các ví dụ về hệ thống không có khả năng mở rộng • Sử dụng các tiến trình “nhẹ tải” hoặc luồng HĐH mạng nâng cao III. Hệ thống file phân tán 55 Các ví dụ về hệ thống không có khả năng mở rộng • Nguyên lý “tài nguyên tới hạn” (Bounded resources): Yêu cầu cung cấp dịch vụ từ bất kỳ một bộ phận nào của một hệ thống thường bị giới hạn bởi một hằng số. Hằng số này là độc lập với số lượng các nút có trong hệ thống”. – Nếu một máy chủ mà tải của nó tỷ lệ thuận với kích cỡ của hệ thống thì nó sẽ trở thành vật gây tắc nghẽn khi hệ thống mở rộng kích cỡ đến một giới hạn nào đó. – Bổ sung tài nguyên không giải quyết được cở bản vấn đề do năng lực của máy chủ này hạn chế khả năng mở rộng của hệ thống. – VD: Thiết kế CSS trong DFS Locus không phải là một thiết kế scalable do CSS được gán trách nhiệm quản lý một nhóm file (tương được component unit), và mọi thao tác mở file đều phải thông qua CSS. Khi hệ thống đạt kích cỡ đủ lớn CSS trở thành điểm gây tắc nghẽn. HĐH mạng nâng cao III. Hệ thống file phân tán 56 Các ví dụ về hệ thống không có khả năng mở rộng (tiếp) • Nguyên lý “tài nguyên tới hạn” cũng được áp dụng trong trường hợp của lưu lượng mạng trong hệ thống. Mạng phát kiểu quảng bá (broadcast) thường ít được sử dụng do việc quảng bá gói tin có liên quan đến tất cả các máy trong mạng. • Nghẽn và trễ mạng là các trở ngại chính trong việc xây dựng các hệ thống có khả năng mở rộng. – Để giảm nghẽn mạng, cần giảm đến tối thiểu giao tiếp giữa các máy bằng các giải pháp caching, hints và thực thi các ngữ nghĩa chia sẻ “nới lỏng”. – Có sự tương quan giữa tính chặt chẽ của ngữ nghĩa chia sẻ trong một DFS và tải của mạng và máy chủ. Ngữ nghĩa chia sẻ càng chặt chẽ thì khả năng hệ thông có thể mở rộng càng thấp. HĐH mạng nâng cao III. Hệ thống file phân tán 57 Các ví dụ về hệ thống không có khả năng mở rộng (tiếp) • Các giải pháp tập trung điều khiển và tập trung tài nguyên thường làm giảm khả năng mở rộng hệ thống. Chức năng của các máy trong hệ thống là bất đối xứng. – VD: các máy chủ xác thực, chủ tên và máy chủ file. • Các máy cần có chức năng đối xứng (ngang nhau) và có khả năng “tự trị” (autonomy). Tính tự trị và tính đối xứng là hai thuộc tính quan trọng trong thiết kế các DFS có khả năng mở rộng. HĐH mạng nâng cao III. Hệ thống file phân tán 58 Sử dụng các tiến trình “nhẹ tải” hoặc luồng • Một trong các vấn đề lớn nhất khi thiết kế các dịch vụ là tổ chức tiến trình của máy chủ khi có nhiều clients truy nhập đồng thời. • Máy chủ với một tiến trình đơn không phải là lựa chọn tốt khi một yêu cầu bị tắc nghẽn có thể gây tắc nghẽn toàn bộ dịch vụ. • Gán một tiến trình cho mỗi client là lựa chọn tốt hơn. Tuy nhiên, nó làm tăng tổng tải lên CPU. Ngoài ra, vấn đề chia sẻ thông tin giữa các tiến trình gặp nhiều khó khăn do chúng có không gian địa chỉ riêng. HĐH mạng nâng cao III. Hệ thống file phân tán 59 Sử dụng các tiến trình “nhẹ tải” hoặc luồng (tiếp) • Gán một tiến trình “nhẹ tải” hay luồng (thread) cho một client là giải pháp hiệu quả hơn cả. – Một nhóm các threads chia sẻ mã, không gian địa chỉ và tài nguyên hệ thống. – Mỗi thread có riêng trạng thái các thanh ghi. – Việc tạo và chuyển đổi giữa các threads cũng không đắt đỏ như đối với process. HĐH mạng nâng cao III. Hệ thống file phân tán 60 Một mô hình DFS đơn giản HĐH mạng nâng cao III. Hệ thống file phân tán 61 Windows 2003 DFS HĐH mạng nâng cao III. Hệ thống file phân tán 62 Giới thiệu cách cài đặt và cấu hình DFS trên windows 2003 R2 HĐH mạng nâng cao III. Hệ thống file phân tán 63 Giới thiệu cách cài đặt và cấu hình một cluster trên windows 2003 R2
File đính kèm:
- Bài giảng Hệ điều hành mạng nâng cao - Hoàng Xuân Dậu - Chương 3 Hệ thống File phân tán.pdf