HOÀNG XUÂN DẬUBỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 6 2.1.1 Hệ thống file tiế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 h
Trang 1BÀI GIẢNG MÔN HỌC
HỆ ĐIỀU HÀNH MẠNG
Giảng viên: TS Hoàng Xuân Dậu
2 HỆ THỐNG FILE PHÂN TÁN
Trang 2www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 2
2 Hệ thống file phân tán
1 Hệ thống file và hệ thống file phân tán
2 Vấn đề đặt tên và tính trong suốt trong DFS
3 Các ngữ nghĩa của việc chia sẻ
4 Các phương pháp truy nhập từ xa
5 Một mô hình DFS đơn giản
6 GFS - Google Distributed File System
Trang 3 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.
2.1 Hệ thống file và hệ thống file phân tán
Trang 4www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 4
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, …)
Trang 52.1.1 Hệ thống file (tiếp)
Các loại hệ thống file:
Disk File System
Database file system
Transactional file system
Network file system
Special purpose file system
Trang 6www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 6
2.1.1 Hệ thống file (tiế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 files thường được quản lý theo cấu trúc phân cấp (cây);
• Các loại Disk FS thông dụng là FAT (FAT16, FAT32), NTFS, ext2, ext3, ext4, ISO 9960 và UDF (Universal Disk Format).
Trang 72.1.1 Hệ thống file (tiếp)
Các loại hệ thống file:
Database file system:
• Sử dụng các khái niệm của CSDL để quản lý files;
• 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
Trang 8www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 8
2.1.1 Hệ thống file (tiế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, trong đó mỗi file là một giao dịch.
Trang 92.1.1 Hệ thống file (tiếp)
Các loại hệ thống file:
Network file system:
• Là một hệ thống file cho phép truy nhập các files lưu 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), HDFS
FTP.
Trang 10www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 10
2.1.1 Hệ thống file (tiếp)
Các loại hệ thống file:
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;
– Bảng trắng (White board) là một dạng file đặc biệt.
Trang 12www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 12
GFS (Google): hệ thống file phân tán của Google
HDFS (Hadoop distributed file system): hệ thống file phân tán
dựa trên nền tảng mở Hadoop.
Trang 132.1.2 Hệ thống file phân tán (tiế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,…
• Khoảng 85,5 triệu websites vào tháng 12/2006
• Khoảng 238 triệu websites vào tháng 12/2009
• Gần 700 triệu websites vào tháng 12/2012
• Hơn 940 triệu websites vào tháng 10/2015
• Gần 1,5 tỷ website vào tháng 2.2017 (theo NetCraft)
• 1991-1997 tăng 850%/năm
• 1998-2001 tăng 150%/năm
• 2002-2006 tăng 25%/năm
Trang 14www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 14
2.1.2 Hệ thống file phân tán (tiếp)
Nhu cầu cần có DFS:
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, con số của năm 2011 là 1.800 tỷ GB, năm 2013 là 4.400 tỷ GB và dự báo con số này sẽ tăng thêm 10 lần, ước đạt 44.000 tỷ GB vào năm 2020
Nhu cầu lưu trữ rất lớn của các nhà cung cấp dịch vụ Internet:
• Facebook có gần 1,89 tỷ người dùng hoạt động (tính đến đầu 2017)
• Gmail có khoảng 900 triệu người dùng (tính đến 5/2015), với dung lượng cho phép là 15 GB/user.
Trang 152.1.2 Hệ thống file phân tán (tiế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.
• OpenAFS là phiên bản mã mở của AFS OpenAFS vẫn được duy trì
và phát triển Phiên bản mới nhất là 1.6.11.1 phát hành vào 4.2015.
1985: Sun NFS
Trang 16www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 16
2.1.2 Hệ thống file phân tán (tiế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 1.80 vào tháng 5/2009.
• Phiên bản 2.6.0 phát hành vào tháng 3.2015.
Trang 172.1.2 DFS - Các yêu cầu
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.
Trang 18www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 18
2.1.2 DFS - Các yêu cầu
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.
Trang 192.1.2 DFS - Các khái niệm
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
Trang 20www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 20
2.1.2 DFS - Các khái niệm (tiếp)
Trang 212.1.2 DFS - Các khái niệm (tiếp)
Trang 22www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 22
2.1.2 DFS - Các khái niệm (tiế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).
Trang 232.1.2 DFS - Các khái niệm (tiếp)
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ẻ
Trang 24www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 24
Khái quát về vấn đề đặt tên
So sánh 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
2.2 Vấn đề đặt tên và tính trong suốt trong DFS
Trang 25 Đặ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ý
2.2.1 Khái quát về vấn đề đặt tên
Trang 26www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 26
Tính trừu tượng:
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.
2.2.1 Khái quát về vấn đề đặt tên (tiếp)
Trang 27 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
Hay vị trí lưu trữ file hoàn toàn trong suốt với người dùng.
Ánh xạ tên file:
Trong các hệ thống file cục bộ: ánh xạ tên là một địa chỉ trong một đĩa;
Trong DFS, ánh xạ tên bao gồm cả máy chứa đĩa lưu trữ file
2.2.1 Khái quát về vấn đề đặt tên (tiếp)
Trang 28www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 28
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.
Nhận xét:
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í
2.2.1 Khái quát về vấn đề đặt tên (tiếp)
Trang 29 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
2.2.1 Khái quát về vấn đề đặt tên (tiếp)
Trang 30www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 30
Trang 31 Chia sẻ dữ liệu:
Độc lập vị trí: 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.
Trong suốt về vị trí: cho phép người dùng chia sẻ dữ liệu một
Trang 32www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 32
• 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.
2.2.2 So sánh tính trong suốt và tính độc lập về vị trí
Trang 33 Kết hợp tên máy (host) và tên cục bộ
Kết hợp các thư mục ở xa vào không gian tên cục bộ
Sử dụng 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
2.2.3 Các phương pháp đặt tên
Trang 34www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 34
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.
Đặc điểm:
• Vị trí không trong suốt và 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 sử dụng phương pháp này 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ộ.
2.2.3 Các phương pháp đặt tên (tiếp)
Trang 35 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ộ.
Đặc điểm:
• 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.
2.2.3 Các phương pháp đặt tên (tiếp)
Trang 36www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 36
Sử dụng 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:
Đặc điểm:
• 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ộ
2.2.3 Các phương pháp đặt tên (tiếp)
Trang 37 Đánh giá các phương pháp đặt tên: theo độ 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
2.2.3 Các phương pháp đặt tên (tiếp)
Trang 38www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 38
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 mechanisms)
2.2.4 Các kỹ thuật thực hiện đặt tên
Trang 39 Là ánh xạ từ tên file sang tên nhận dạng mức thấp;
Thường được thực hiện bằng một thủ tục tìm
kiếm đệ quy
Dịch tên đường dẫn
Trang 40www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 40
Dịch tên đường dẫn
Trang 41 Ví dụ: thủ tục tìm kiếm tên /a/b/c như trong hình trên
Hình trên 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.
Dịch tên đường dẫn
Trang 42www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 42
Ví dụ: thủ tục tìm kiếm tên /a/b/c như trong hình trên
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
Dịch tên đường dẫn
Trang 43 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.
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, 11>:
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
Tên nhận dạng có cấu trúc
Trang 44www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU
BỘ MÔN: AN TOÀN THÔNG TIN - KHOA CNTT1 Trang 44
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 (như trong Andrew File System)
Sử dụng tem thời gian là một phần của tên.
Tên nhận dạng có cấu trúc