Giáo trình Hệ điều hành mạng nâng cao - Chương 3: Hệ thống file phân tán - Hoàng Xuân Dậu
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành mạng nâng cao - Chương 3: Hệ thống file phân tán - Hoàng Xuân Dậu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_he_dieu_hanh_chuong_3_he_thong_file_phan_tan_hoan.pdf
Nội dung text: Giáo trình Hệ điều hành mạng nâng cao - Chương 3: Hệ thống file phân tán - Hoàng Xuân Dậu
- HHệệ điđiềềuu hhàànhnh mmạạngng nângnâng caocao GiGiảảngng viên:viên: HoHoààngng XuânXuân DDậậuu Email:Email: dauhoang@vnn.vndauhoang@vnn.vn KhoaKhoa CôngCông nghnghệệ thôngthông tintin 11 HHọọcc viviệệnn CôngCông nghnghệệ BCBC VTVT
- III.III. HHệệ ththốốngng filefile phânphân ttáánn • 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) HĐH mạng nâng cao III. Hệ thống file phân tán 2
- HHệệ ththốốngng filefile vvàà hhệệ ththốốngng filefile phânphân ttáánn • Hệ thống file (FS - file system) • Hệ thống file phân tán (DFS - distributed file system) • Các khái niệm về hệ thống phân tán và hệ thống file phân tán. HĐH mạng nâng cao III. Hệ thống file phân tán 3
- HHệệ ththốốngng filefile • Hệ thống file (file system) là một phương pháp tổ chức và lưu trữ các file và dữ liệu của chúng. • Hệ thống file cho phép người sử dụng dễ dàng tìm kiếm và truy nhập các file. • Hệ thống file có thể sử dụng: – Các thiết bị lưu trữ (đĩa cứng, đĩa mềm, CD) để lưu trữ files, hoặc – Cho phép truy nhập đến dữ liệu trên máy chủ file thông qua một giao thức mạng (NFS, SMB, ) HĐH mạng nâng cao III. Hệ thống file phân tán 4
- HHệệ ththốốngng filefile (ti(tiếếp)p) • Các loại hệ thống file: – Disk File System: sử dụng các thiết bị lưu trữ có kết nối trực tiếp hoặc gián tiếp với máy tính để lưu trữ file (phổ biến là đĩa). • Các loại Disk FS thông dụng là FAT, NTFS, ext2, ext3, ISO 9960 và UDF (Universal Disk Format). – Database file system: sử dụng các khái niệm của CSDL để quản lý files. Thay vì các files được quản lý theo cấu trúc phân cấp (cây), các files được nhận dạng bằng các thuộc tính, như loại file, chủ đề, tác giả hoặc mô tả file. HĐH mạng nâng cao III. Hệ thống file phân tán 5
- HHệệ ththốốngng filefile (ti(tiếếp)p) • Các loại hệ thống file: – Transactional file system: Là loại hệ thống file chuyên dụng, dùng để lưu trữ các giao dịch. Thường được dùng nhiều trong ngành Ngân hàng. – Network file system: là một hệ thống file cho phép truy nhập các files trên máy chủ. NFS hoạt động như là một client của một giao thức truy nhập file từ xa. NFS còn được gọi là Distributed File System (DFS). • Ví dụ: NFS (Sun), AFS (Andrew FS), GFS (Google FS), FTP. – Special purpose file system: Là các hệ thống file không phải là DFS và NFS. • Ví dụ: trong các hệ thống mà các files được quản lý động bởi các phần mềm phục vụ cho giao tiếp giữa các tiến trình, hoặc dành cho không gian lưu trữ tạm thời. HĐH mạng nâng cao III. Hệ thống file phân tán 6
- HHệệ ththốốngng filefile (ti(tiếếp)p) • Hệ điều hành – Hệ thống file sử dụng: – MS-DOS: • FAT (FAT12, FAT16) – Windows 95, 98, Me: • VFAT (FAT32) – NT4, 2000, XP, 2003: • NTFS – Unix, Linux: • ext2, ext3 – Mac OS: • HFS (Hierachical FS) HĐH mạng nâng cao III. Hệ thống file phân tán 7
- HHệệ ththốốngng filefile phânphân ttáánn • Hệ thống file phân tán (Distributed File System - DFS) là một hệ thống file hỗ trợ chia sẻ files và các tài nguyên trên mạng. • Về mặt hình thức và với người dùng, DFS hoàn toàn tương tự như hệ thống file cục bộ. • Các DFS phổ biến: – NFS (Sun), – AFS (Andrew FS) và – Common Internet File System (CIFS) – dựa trên giao thức SMB (Server Message Blocks). HĐH mạng nâng cao III. Hệ thống file phân tán 8
- HHệệ ththốốngng filefile phânphân ttáánn (ti(tiếếp)p) • Nhu cầu cần có DFS: – Nhu cầu chia sẻ dữ liệu của các users (khoảng cách, sự tiện lợi) – Yêu cầu lưu trữ khối lượng dữ liệu khổng lồ cho web, database, audio, video, • 101,435,253 websites vào tháng 11/2006 • 1991-1997 tăng 850%/năm • 1998-2001 tăng 150%/năm • 2002-2006 tăng 25%/năm – Tính sẵn dùng ở mọi lúc, mọi nơi – DFS có khả năng mở rộng tốt và khả năng chịu lỗi cao. – Theo nghiên cứu của IDC, năm 2006, loài người tạo ra 161 tỷ GB thông tin, và dự báo con số này sẽ tăng 6 lần, đạt 988 tỷ GB vào năm 2010. HĐH mạng nâng cao III. Hệ thống file phân tán 9
- HHệệ ththốốngng filefile phânphân ttáánn (ti(tiếếp)p) • Lịch sử phát triển – 1980s: Chia sẻ file dùng đĩa mềm (copy-vận chuyển- copy) – 1980s: Chia sẻ file dùng FTP: vẫn cần 2 lần copy và user phải biết địa chỉ vật lý của ftp server – SPRITE network OS: Giữa những năm 1980 tại ĐH University of California at Berkerly – 1983: AFS: Thực hiện tại ĐH Carnegie Mellon với sự hỗ trợ của IBM. – 1985: Sun NFS HĐH mạng nâng cao III. Hệ thống file phân tán 10
- HHệệ ththốốngng filefile phânphân ttáánn (ti(tiếếp)p) • Lịch sử phát triển – Đầu năm 1990s: CODE (kế tiếp của AFS) – ZEBRA: Đầu những năm 1990 tại ĐH University of California at Berkerly – HARP: Đầu những năm 1990 tại ĐH MIT – Lustre: DFS mã mở, có khả năng kết hợp hàng chục ngàn nút và cung cấp dung lượng lưu trữ đến petabytes. • KB, MB, GB, TB, PB (petabytes), EB (exabyte) • Phiên bản mới nhất: 1.80 vào tháng 5/2009. HĐH mạng nâng cao III. Hệ thống file phân tán 11
- DFSDFS CCáácc yêuyêu ccầầuu • Tính trong suốt (Transparency): – Mạng trong suốt (Network transparency): máy khách có thể truy nhập file từ xa sử dụng tập các thao tác giống như khi truy nhập các file cục bộ; – Vấn đề di chuyển của người dùng (user mobility): người dùng có thể đăng nhập vào bất cứ máy nào trong hệ thống. • Hiệu năng (Performance): là khoảng thời gian đáp ứng mỗi yêu cầu truy nhập. Hiệu năng của DFS phải tương đương với hiệu năng của hệ thống file cục bộ. • Khả năng chịu lỗi (Fault Tolerrence): hệ thống vẫn có khả năng cung cấp dịch vụ nếu một số thành phần của nó gặp trục trặc. • Khả năng mở rộng (Scalability): khả năng thích nghi với việc tăng tải HĐH mạng nâng cao III. Hệ thống file phân tán 12
- DFSDFS CCáácc khkhááii niniệệmm • Hệ thống phân tán (Distributed System): – Một tập hợp các máy tính có liên kết lỏng (loosely coupled machines); – Các máy tính trong hệ thống có thể là các máy tính lớn hoặc máy trạm; – Chúng được kết nối với nhau bằng một mạng truyền thông (thường là LAN). – Tài nguyên cục bộ và từ xa: • Các tài nguyên của bản thân một máy tính thuộc mạng là tài nguyên cục bộ; • Các tài nguyên nằm trên các máy khác trong mạng là tài nguyên từ xa. HĐH mạng nâng cao III. Hệ thống file phân tán 13
- DFSDFS CCáácc khkhááii niniệệmm (ti(tiếếp)p) • Dịch vụ (Service): là một phần mềm chạy trên một hoặc nhiều máy tính cung cấp một chức năng cụ thể cho các máy khách. • Máy chủ (Server): là một phần mềm cung cấp dịch vụ chạy trên một một máy tính. • Máy khách (client): – Là một tiến trình (process) mà có thể gọi một dịch vụ, sử dụng một tập các thao tác. – Tập các thao tác này cấu thành giao diện máy khách (client interface). – Các máy khách thường xây dựng các giao diện phù hợp với các ứng dụng bậc cao, hoặc cho phép người sử dụng trực tiếp truy nhập. HĐH mạng nâng cao III. Hệ thống file phân tán 14
- DFSDFS CCáácc khkhááii niniệệmm (ti(tiếếp)p) • Một hệ thống file cung cấp các dịch vụ về files cho các máy khách. • Giao diện máy khách cho một dịch vụ file được hợp thành từ một tập các thao tác trên file (tạo, xoá, đọc, ghi). • DFS là một FS mà trong đó các máy khách, máy chủ và các thiết bị lưu trữ nằm rải rác trong các máy tính của một hệ thống phân tán. – Do vậy, các hoạt động dịch vụ file phải được thực thi trên mạng, thay vì trên một kho lưu trữ tập trung như trong 1 hệ thống đơn lẻ. HĐH mạng nâng cao III. Hệ thống file phân tán 15
- ĐĐặặtt têntên vvàà ttíínhnh trongtrong susuốốtt (Naming(Naming andand TrTransparency)ansparency) • Tính trong suốt và tính độc lập về vị trí • Các phương pháp đặt tên • Các kỹ thuật thực hiện đặt tên HĐH mạng nâng cao III. Hệ thống file phân tán 16
- ĐĐặặtt têntên vvàà ttíínhnh trongtrong susuốốtt (ti(tiếếp)p) • Đặt tên (naming) là một ánh xạ (mapping) giữa các đối tượng logic và các đối tượng vật lý. • Người dùng thường sử dụng các đối tượng logic, còn hệ thống thường xử lý các đối tượng vật lý. • VD: – Người dùng thường tham chiếu đến một file thông qua tên của nó. – Hệ thống quản lý file thông qua số nhận dạng và cuối cùng được ánh xạ thành các khối lưu trữ trên đĩa. HĐH mạng nâng cao III. Hệ thống file phân tán 17
- ĐĐặặtt têntên vvàà ttíínhnh trongtrong susuốốtt (ti(tiếếp)p) • Việc ánh xạ nhiều lớp đối với đối tượng file cung cấp tính trừu tượng cho người dùng, giúp ẩn các chi tiết của việc một file được lưu trữ như thế nào và file được lưu trữ ở đâu. • Trong các hệ thống DFS trong suốt, tính trừu tượng được bổ sung thêm một đặc tính mới: đặc tính ẩn vị trí của file được lưu trữ trong mạng. • Trong các hệ thống file cục bộ: ánh xạ tên là một địa chỉ trong một đĩa, còn trong DFS, ánh xạ tên bao gồm cả máy chứa đĩa lưu trữ file. HĐH mạng nâng cao III. Hệ thống file phân tán 18
- TTíínhnh trongtrong susuốốtt vvàà ttíínhnh đđộộcc llậậpp vvềề vvịị trtríí • Hai phương pháp ánh xạ tên file: – Trong suốt vị trí: Tên của một file không biểu thị một thông tin nào về vị trí lưu trữ vật lý của file. – Độc lập vị trí: Tên của một file không cần phải thay đổi khi vị trí vật lý của file thay đổi. • Phương pháp đặt tên độc lập về vị trí là phương pháp ánh xạ động do nó có thể ánh xạ cùng một tên file đến các vị trí khác nhau tại hai thời điểm khác nhau. • Độc lập vị trí là một thuộc tính “mạnh” hơn trong suốt vị trí. HĐH mạng nâng cao III. Hệ thống file phân tán 19
- TTíínhnh trongtrong susuốốtt vvàà đđộộcc llậậpp (ti(tiếếp)p) • File độc lập vị trí thường được tham chiếu như: – File di trú (file migration), hoặc – File di động (File mobility) • => việc dịch chuyển vị trí của file hoàn toàn trong suốt đối với người dùng. HĐH mạng nâng cao III. Hệ thống file phân tán 20
- PhânPhân bibiệệtt trongtrong susuốốtt vvàà đđộộcc llậậpp vvịị trtríí • Trừu tượng: – Do độc lập vị trí tách dữ liệu khỏi vị trí, độc lập vị trí cung cấp tính trừu tượng hoá cao hơn. Các file độc lập về vị trí có thể được xem như các kho chứa dữ liệu không gắn với một ví trí lưu trữ cụ thể nào. – Ngược lại, với trong suốt về vị trí, tên file vẫn mô tả một tập các khối đĩa vật lý cụ thể dù chúng được ẩn. HĐH mạng nâng cao III. Hệ thống file phân tán 21
- PhânPhân bibiệệtt trongtrong susuốốtt vvàà đđộộcc llậậpp vvịị trtríí • Chia sẻ dữ liệu: – Trong suốt về vị trí cho phép người dùng chia sẻ dữ liệu một cách thuận lợi. • Người dùng có thể chia sẻ file từ xa bằng cách đặt tên chúng theo cách trong suốt về vị trí như thể chúng là dữ liệu cục bộ. • Tuy nhiên, cách chia sẻ này có nhiều bất lợi do các tên logic vẫn được gắn cố định với các thiết bị lưu trữ vật lý. – Độc lập vị trí cho phép cung cấp sẵn khả năng chia sẻ không gian lưu trữ và các đối tượng dữ liệu. Một cách tổng thể, có thể coi không gian lưu trữ toàn hệ thống như một tài nguyên ảo và đơn nhất, mà trong đó các file có thể di chuyển. HĐH mạng nâng cao III. Hệ thống file phân tán 22
- PhânPhân bibiệệtt trongtrong susuốốtt vvàà đđộộcc llậậpp vvịị trtríí • Cấu trúc: – Độc lập vị trí phân tách cấu trúc phân cấp tên khỏi cấu trúc các thiết bị lưu trữ và cấu trúc liên kết các máy chủ. – Trong suốt về vị trí có tính tương đồng giữa đơn vị thành phần và đơn vị máy. Hệ thống máy được cấu hình tương tự như hệ thống tên. HĐH mạng nâng cao III. Hệ thống file phân tán 23
- CCáácc phươngphương phpháápp đđặặtt têntên • Kết hợp tên máy (host) và tên cục bộ: – Ví dụ: host:local name, trong đó host là tên máy và local name là tên file cục bộ. Trong Windows để truy nhập 1 file chia sẻ từ xa, sử dụng: \\host\shared name\local name. – Vị trí không trong suốt và vị trí không độc lập – Có thể sự dụng cùng một tập các thao tác cho file cục bộ và file ở xa – Cung cấp tính trong suốt về mạng – DFS là một tập hợp của các đơn vị thành phần riêng rẽ; các đơn vị thành phần này là các hệ thống file cục bộ. HĐH mạng nâng cao III. Hệ thống file phân tán 24
- CCáácc phươngphương phpháápp đđặặtt têntên (ti(tiếếp)p) • Kết hợp các thư mục ở xa vào không gian tên cục bộ: – Ví dụ: Sử dụng tính năng “map network drive” trong Windows hoặc trình mount trong Unix/Linux (sử dụng trong Sun’s NFS) để kết hợp các thư mục chia sẻ vào không gian tên cục bộ. – Cung cấp tính trong suốt về vị trí – Cấu trúc tên linh hoạt – Có khả năng tạo không gian tên riêng cho từng máy HĐH mạng nâng cao III. Hệ thống file phân tán 25
- CCáácc phươngphương phpháápp đđặặtt têntên (ti(tiếếp)p) • Không gian cấu trúc tên toàn cục cho tất cả các file trong toàn hệ thống – Cung cấp không gian tên đồng nhất cho tất cả các máy khách – Không gian cấu trúc tên toàn cục nên tương tự như không gian cấu trúc tên cục bộ. HĐH mạng nâng cao III. Hệ thống file phân tán 26
- CCáácc phươngphương phpháápp đđặặtt têntên (ti(tiếếp)p) • Đánh giá các phương pháp đặt tên: độ phức tạp của việc quản trị (administrative complexity): – Sun’s NFS (phương pháp “Kết hợp các thư mục ở xa vào không gian tên cục bộ”) có cấu trúc phức tạp nhất và khó bảo trì nhất. Điều này là do: • Nếu một máy gặp trục trặc hoặc nó bị ngắt khỏi mạng thì các thư mục chia sẻ của máy này sẽ không hoạt động. Hậu quả là một tập các thư mục ánh xạ mạng tới các thư mục chia sẻ của máy kể trên trên các máy khác cũng sẽ không hoạt động (unavailable). • Việc di chuyển các files từ một máy đến một máy khác đòi hỏi phải thay đổi không gian tên của tất cả các máy bị ảnh hưởng. • Mỗi máy cần có một cơ chế kiểm soát việc máy nào trong mạng được phép liên kết đến một thư mục trong không gian tên của nó. HĐH mạng nâng cao III. Hệ thống file phân tán 27
- CCáácc kkỹỹ thuthuậậtt ththựựcc hihiệệnn đđặặtt têntên • Dịch tên đường dẫn (Pathname translation) • Tên nhận dạng có cấu trúc (Structured Identifiers) • Thông tin gợi ý (Hints) • Các cơ chế mount (Mount mechanism) HĐH mạng nâng cao III. Hệ thống file phân tán 28
- DDịịchch têntên đưđườờngng ddẫẫnn (Pathname(Pathname translation)translation) • Là ánh xạ từ tên file sang tên nhận dạng mức thấp, và thường được thực hiện bằng một thủ tục tìm kiếm đệ quy. HĐH mạng nâng cao III. Hệ thống file phân tán 29
- DDịịchch têntên đưđườờngng ddẫẫnn HĐH mạng nâng cao III. Hệ thống file phân tán 30
- DDịịchch têntên đưđườờngng ddẫẫnn • Ví dụ: thủ tục tìm kiếm tên /a/b/c như trong hình 1 – Hình 1 minh hoạ một phần không gian cấu trúc tên được hình thành từ 3 đơn vị thành phần và dựa trên phương pháp “Không gian cấu trúc tên toàn cục”. Để đơn giản, giả thiết bảng vị trí (Location table) có sẵn trên tất cả các máy. – Giả thiết một client trên machine 1 khởi tạo việc tìm kiếm – Đầu tiên, thư mục gốc “/” được tìm kiếm để tìm tên nhận dạng mức thấp của a. – Khi tên nhận dạng mức thấp của a được tìm thấy, thư mục a được đọc từ đĩa. – Tiếp theo b được tìm trong a. Do b là ở xa nên bản ghi thông tin về b trong a chỉ ra rằng b thuộc đơn vị thành phần cu2. – Bộ phần tìm kiếm tên của machine 1 kết thúc công việc của mình và chuyển phần còn lại /b/c cho machine 2. – Trên machine 2, thủ tục tìm kiếm được tiếp tục và cuối cùng được hoàn tất trên machine3 và tên nhận dạng mức thấp của /a/b/c được trả về cho client. HĐH mạng nâng cao III. Hệ thống file phân tán 31
- TênTên nhnhậậnn ddạạngng ccóó ccấấuu trtrúúcc • Mỗi tên nhận dạng có cấu trúc là một chuỗi bit, thường gồm 2 thành phần: – Phần đầu dùng để nhận dạng đơn vị thành phần chứa file – Phần còn lại nhận dạng file cụ thể trong đơn vị thành phần • Trong cấu trúc tên, các phần riêng lẻ của tên là đơn nhất trong mọi thời điểm đối với các phần còn lại của tên. • Tính đơn nhất của tên tại mọi thời điểm có thể đạt được bằng: – Không sử dụng lại một tên nếu tên này đang được sử dụng – Cấp phát lượng bit đủ lớn cho việc lưu trữ tên (trong Andrew FS) – Sử dụng tem thời gian là một phần của tên HĐH mạng nâng cao III. Hệ thống file phân tán 32
- TênTên nhnhậậnn ddạạngng ccóó ccấấuu trtrúúcc (ti(tiếếp)p) • Tên nhận dạng có cấu trúc là phương pháp độc lập về vị trí vì nó không đề cập đến vị trí của các máy. • Ví dụ: chuỗi tên /a/b/c được dịch thành tên nhận dạng có cấu trúc là : – cu3 mô tả đơn vị thành phần của file – 11 là tên nhận dạng file trong đơn vị thành phần • Do vị trí của các máy trong mạng chỉ được lưu trong bảng vị trí nên ánh xạ /a/b/c sang vẫn hợp lệ khi cu3 di chuyển từ machine3 sang machine2, ch ỉ có bảng vị trí cần được cập nhật. HĐH mạng nâng cao III. Hệ thống file phân tán 33
- PhươngPhương phpháápp HintsHints • Hint là một kỹ thuật thường được sử dụng trong ánh xạ vị trí (location mapping) của các DFS. • Một hint là một mẩu thông tin cho phép tăng hiệu năng của việc ánh xạ vị trí nếu thông tin là đúng và không gây ảnh hưởng về ngữ nghĩa nếu thông tin là sai. • Hint giúp tăng hiệu năng tương tự như việc cache thông tin, và để đảm bảo hint luôn đúng thì nó phải được cập nhật thường xuyên. HĐH mạng nâng cao III. Hệ thống file phân tán 34
- PhươngPhương phpháápp HintsHints (ti(tiếếp)p) • Ví dụ: – Trong hệ thống có 1 location server lưu toàn bộ ánh xạ từ file sang vị trí – Các clients cũng lưu (cache) một phần của các ánh xạ trên máy cục bộ. Các thông tin vị trí được lưu cục bộ bởi client được coi như là hint. – Nếu một file được tìm thấy nhờ sử dụng hint thì hiệu năng hệ thống tăng; – Nếu hint không hợp lệ do file đã bị di chuyển thì client phải truy nhập location server để tìm vị trí của file. – Các DFS như AFS và Sprite đều sử dụng hint. HĐH mạng nâng cao III. Hệ thống file phân tán 35
- CCáácc cơcơ chchếế mountmount • Cơ chế mount là việc kết hợp các hệ thống file từ xa vào hệ thống file cục bộ để tạo thành một cấu trúc tên toàn cục. • Thao tác mount liên kết gốc của một hệ thống file (nguồn) vào một thư mục của một hệ thống file khác (đích). • Hệ thống file nguồn được ẩn và được xem như một nhánh của hệ thống file đích. HĐH mạng nâng cao III. Hệ thống file phân tán 36
- CCáácc cơcơ chchếế mountmount (ti(tiếếp)p) • Thư mục trong hệ thống file đích dùng để liên kết 2 hệ thống file được gọi là điểm mount (Mount point). • Tất cả các thao tác mount được lưu trong mount table bởi HĐH. Mount table được sử dụng để định hướng việc tìm kiếm tên đến hệ thống file phù hợp. • Hệ thống file từ xa được truy nhập tương tự như hệ thống file cục bộ sau khi quá trình mount hoàn tất. HĐH mạng nâng cao III. Hệ thống file phân tán 37
- CCáácc ngngữữ nghnghĩĩaa ccủủaa viviệệcc chiachia ssẻẻ • 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 38
- CCáácc ngngữữ nghnghĩĩaa ccủủaa viviệệcc chiachia ssẻẻ • 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 39
- CCáácc ngngữữ nghnghĩĩaa UnixUnix • 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 40
- CCáácc ngngữữ nghnghĩĩaa phiênphiên llààmm viviệệcc • 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 41
- CCáácc ngngữữ nghnghĩĩaa ccủủaa ccáácc filefile chiachia ssẻẻ bbấấtt bibiếếnn • 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 42
- CCáácc ngngữữ nghnghĩĩaa giaogiao ddịịchch • 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 43
- CCáácc phươngphương phpháápp truytruy nhnhậậpp ttừừ xaxa • 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 44
- DDịịchch vvụụ ttừừ xaxa (Remote(Remote service)service) Request Server Client Response HĐH mạng nâng cao III. Hệ thống file phân tán 45
- DDịịchch vvụụ ttừừ xaxa (Remote(Remote service)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 46
- LưuLưu khaykhay (Caching)(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 47
- LưuLưu khaykhay (Caching)(Caching) Request Server Client Response Local Cache HĐH mạng nâng cao III. Hệ thống file phân tán 48
- CachingCaching (ti(tiếếp)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 49
- CachingCaching vsvs RemoteRemote serviceservice • 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 50
- CachingCaching vsvs RemoteRemote serviceservice • 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 51
- CachingCaching vsvs RemoteRemote serviceservice • 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 52
- CachingCaching vsvs RemoteRemote serviceservice • 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 53
- CCáácc vvấấnn đđềề vvềề khkhảả năngnăng mmởở rrộộngng • 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 54
- CCáácc vvíí ddụụ vvềề hhệệ ththốốngng khôngkhông ccóó khkhảả năngnăng mmởở rrộộngng • 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 55
- CCáácc vvíí ddụụ vvềề hhệệ ththốốngng khôngkhông ccóó khkhảả năngnăng mmởở rrộộngng (ti(tiếếp)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 56
- CCáácc vvíí ddụụ vvềề hhệệ ththốốngng khôngkhông ccóó khkhảả năngnăng mmởở rrộộngng (ti(tiếếp)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 57
- SSửử ddụụngng ccáácc titiếếnn trtrììnhnh ““nhnhẹẹ ttảảii”” hohoặặcc luluồồngng • 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 58
- SSửử ddụụngng ccáácc titiếếnn trtrììnhnh ““nhnhẹẹ ttảảii”” hohoặặcc luluồồngng (ti(tiếếp)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 59
- MMộộtt mômô hhììnhnh DFSDFS đơnđơn gigiảảnn HĐH mạng nâng cao III. Hệ thống file phân tán 60
- WindowsWindows 20032003 DFSDFS HĐH mạng nâng cao III. Hệ thống file phân tán 61
- GiGiớớii thithiệệuu ccááchch ccààii đđặặtt vvàà ccấấuu hhììnhnh DFSDFS trêntrên windowswindows 20032003 R2R2 HĐH mạng nâng cao III. Hệ thống file phân tán 62
- GiGiớớii thithiệệuu ccááchch ccààii đđặặtt vvàà ccấấuu hhììnhnh mmộộtt clustercluster trêntrên windowswindows 20032003 R2R2 HĐH mạng nâng cao III. Hệ thống file phân tán 63