Bài giảng Hệ điều hành nâng cao - Chương 3 Hệ thống file phân tán
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
63 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2616 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Hệ điều hành nâng cao - Chương 3 Hệ thống file phân tán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hệ điều hành mạng
nâng cao
Giảng viên: Hoàng Xuân Dậu
Email: dauhoang@vnn.vn
Khoa Công nghệ thông tin 1
Học viện Công nghệ BC-VT
HĐH mạng nâng cao III. Hệ thống file phân tán 2
III. 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)
HĐH mạng nâng cao III. Hệ thống file phân tán 3
Hệ thống file và
hệ thống file phân tán
• 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 4
Hệ thống file
• 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 5
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 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 6
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.
– 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 7
Hệ thống file (tiế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 8
Hệ thống file phân tán
• 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 9
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,…
• 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 10
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.
– 1985: Sun NFS
HĐH mạng nâng cao III. Hệ thống file phân tán 11
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 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 12
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.
• 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 13
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.
HĐH mạng nâng cao III. Hệ thống file phân tán 14
DFS - Các khái niệm (tiế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 15
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).
• 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 16
Đặt tên và tính trong suốt
(Naming and Transparency)
• 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 17
Đặt tên và tính trong suốt (tiế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 18
Đặt tên và tính trong suốt (tiế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 19
Tính trong suốt và tính độc lập về vị trí
• 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 20
Tí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.
HĐH mạng nâng cao III. Hệ thống file phân tán 21
Phân biệt trong suốt và độc lập vị trí
• 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 22
Phân biệt trong suốt và độc lập vị trí
• 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 23
Phâ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ấ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 24
Các phương pháp đặt tê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 25
Các phương pháp đặt tên (tiế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 26
Cá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ộ.
HĐH mạng nâng cao III. Hệ thống file phân tán 27
Các phương pháp đặt tên (tiế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 28
Các kỹ thuật thực hiện đặt tê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 29
Dịch tên đường dẫn
(Pathname 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 30
Dịch tên đường dẫn
HĐH mạng nâng cao III. Hệ thống file phân tán 31
Dị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
được trả về cho client.
HĐH mạng nâng cao III. Hệ thống file phân tán 32
Tê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)
– 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 33
Tên nhận dạng có cấu trúc (tiế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 34
Phương pháp Hints
• 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 35
Phương pháp Hints (tiế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 36
Các cơ chế mount
• 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 37
Các cơ chế mount (tiế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 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
Các file đính kèm theo tài liệu này:
- he_dieu_hanh_mang_nang_cao_chuong_3_he_thong_file_phan_tan_0502.pdf