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
Trang 1Hệ điều hành m ạng
nâng cao
Giảng viên: Hoàng Xuân Dậu
Email: dauhoang@vnn.vnKhoa Công nghệ thông tin 1
Học viện Công nghệ BC-VT
Trang 2III Hệ thống file phân t án
Trang 3Hệ thống file v à
• Hệ thống file (FS - file system)
• Hệ thống file phân tán (DFS
-distributed file system)
hệ thống file phân tán.
Trang 4Hệ thống file
tổ chức và lưu trữ các file và dữ liệu của chúng
tìm kiếm và truy nhập các file
– 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 5Hệ thống file (ti ếp)
– 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.
Trang 6Hệ thống file (ti ếp)
– 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
Trang 8Hệ thống file phân t án
-DFS) là một hệ thống file hỗ trợ chia sẻ files vàcác tài nguyên trên mạng
toàn tương tự như hệ thống file cục bộ
Trang 9Hệ 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, …
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.
Trang 10Hệ thống file phân t án (tiếp)
Trang 11Hệ 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
Trang 12DFS - 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.
• 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
Trang 13DFS - Các khái niệm
– Một tập hợp các máy tính có liên kết lỏng (loosely
– 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 14DFS - Các khái ni ệm (tiếp)
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
dịch vụ chạy trên một một máy tính
Trang 15DFS - Các khái ni ệm (tiếp)
cho các máy khách
hợp thành từ một tập các thao tác trên file (tạo,xoá, đọc, ghi)
Trang 17Đặt tên v à tính trong su ốt (tiếp)
giữa các đối tượng logic và các đối tượng vậtlý
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.
Trang 18Đặt tên v à tính trong su ốt (tiếp)
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ưutrữ như thế nào và file được lưu 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
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
Trang 19Tính trong su ốt và tính đ ộc lập về vị trí
– 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áp ánh xạ động do nó có thể ánh xạ cùng mộttên file đến các vị trí khác nhau tại hai thời điểmkhác nhau
suốt vị trí
Trang 20Tính trong su ốt và độc lập (tiế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.
Trang 21– 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
Trang 22• 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
Trang 23Phân bi ệt trong su ốt và độc lập vị trí
• 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ấutrú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ốngmáy được cấu hình tương tự như hệ thốngtên
Trang 24Các phương ph áp đặt tên
– 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:
– 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
Trang 25Các phương ph áp đặt tên (ti ếp)
– 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
Trang 26Các phương ph áp đặt tên (ti ế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ộ
Trang 27Các phương ph áp đặt tên (ti ếp)
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
Trang 28Các kỹ thuật th ực hiện đặt tên
Trang 29Dịch tên đư ờng dẫn (Pathname translation)
thấp, và thường được thực hiện bằng một thủtục tìm kiếm đệ quy
Trang 30Dịch tên đư ờng dẫn
Trang 31Dịch tên đư ờng dẫn
• 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
Trang 32Tên nhận dạng có cấu trúc
• 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)
Trang 33Tên nh ận dạng có cấu trúc (tiếp)
độc lập về vị trí vì nó không đề cập đến vị trí
của các máy
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
trong bảng vị trí nên ánh xạ /a/b/c sang
<cu3, 11> 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
Trang 34Phương ph áp Hints
ánh xạ vị trí (location mapping) c ủa các DFS
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
cache thông tin, và để đảm bảo hint luôn đúngthì nó phải được cập nhật thường xuyên
Trang 35Phương ph áp Hints (ti ếp)
– 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.
Trang 36Các cơ ch ế mount
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.
thống file (nguồn) vào một thư mục của một hệ thống file khác (đích).
xem như một nhánh của hệ thống file
đích.
Trang 37Các cơ ch ế mount (ti ếp)
kết 2 hệ thống file được gọi là điểm mount
(Mount point)
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
như hệ thống file cục bộ sau khi quá trình
mount hoàn tất
Trang 38Cá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
Trang 39Các ng ữ nghĩa của việc chia s ẻ
Semantics)
• Các ngữ nghĩa của các file chia sẻ bất
biến (Immutable Shared File Semantics)
(Transaction-like Semantics)
Trang 40Các ngữ nghĩa Unix
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.
đế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
Trang 41Cá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 đó
Trang 42Các ng ữ nghĩa của các file
• 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ẻ.
và nội dung của file không thể sửa
đổi.
Trang 43Cá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.
trị CSDL.
Trang 44Các phương ph áp truy nh ập từ xa
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.
chuyển dữ liệu file:
– Dịch vụ từ xa (Remote service) v à
– Lưu khay (Caching).
Trang 45Dịch vụ từ xa (Remote service)
Request
Response
Trang 46Dịch vụ từ xa (Remote service)
client;
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);
là không thực tế Remote service thường được
sử dụng kết hợp với caching
Trang 47Lưu khay (Caching)
file tại cache cục bộ trong các lần truy nhập filetrước đó để sử dụng trong các lần kế tiếp
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
trong cache, client s ẽ tải dữ liệu của file từ máychủ
Trang 48Lưu khay (Caching)
Request
Response
Local Cache
Trang 49Caching (ti ếp)
tham chiếu có tính lân cận
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ủ
lượng mạ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
Trang 50Caching vs Remote service
– 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.
Trang 51Caching vs Remote service
do dữ liệu được vận chuyển một số ít lầnvới khối lượng lớn;
tăng do dữ liệu được vận chuyển nhiều lầnvới khối lượng nhỏ theo từng yêu cầu truynhập cụ thể
Trang 52Caching vs Remote service
trình truy nhập đĩa nếu có các yêu cầu truynhập một lượng lớn các khối dữ liệu kề
nhau
nhập thường là ngẫu nhiên
Trang 53Caching vs Remote service
đề 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.
Trang 55– 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.
Trang 56Các ví dụ về hệ thống
• 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ẻ