Các tệp đang mở có thể được hủy liên kết trên các khối được gắn NFS trong khi các ứng dụng vẫn mở chúng đọc / ghi không?


9

NFS có cho phép tôi hủy liên kết / xóa các tệp đang mở như tôi có thể làm với các hệ thống tệp cục bộ không?

Lý do tôi hỏi là tôi đang phát triển một cái gì đó chạy trên nhiều máy chủ và có thể truy cập NFS như một mặt sau. Nó đơn giản hóa mọi thứ nếu tôi có thể hủy liên kết trên một tệp đang mở.

Đây là một tính năng hay của hệ thống tập tin linux (unix?) Mà bạn có thể hủy liên kết một tệp đang mở. Nó chỉ đơn giản là loại bỏ các mục thư mục. Các tập tin vẫn có sẵn cho một quá trình giữ nó mở miễn là nó được mở. Sau khi đóng, inode bị phá hủy.

Liệu chức năng tương tự có đúng với các tệp được mở trên ngàm NFS không?


Bạn có thể muốn viết lại (để tránh bỏ phiếu), thoạt nhìn có vẻ như bạn đang hỏi liệu bạn có thể xóa các tệp bằng NFS không, điều này khiến tôi khá bối rối về lý do tại sao bạn lại hỏi một câu hỏi cơ bản như vậy với số điểm bạn có. :-)
Red Thâp

Câu trả lời:


9

Câu trả lời ngắn gọn là với hãy cẩn thận.

Vì NFSv3 không trạng thái, trình điều khiển máy khách NFS thực hiện việc này bằng một cái gì đó gọi là "đổi tên ngớ ngẩn", trong đó tệp bị xóa được đổi tên thành một cái gì đó như .nfsXXXXXXXXXX. Điều này thường hoạt động, nhưng có một vài cảnh báo so với một hệ thống tập tin cục bộ. Chẳng hạn, nếu máy khách gặp sự cố thì các tệp .nfsXXXX đó sẽ không bị xóa và bạn sẽ phải dọn sạch chúng theo cách thủ công.

Tôi nghĩ kể từ NFSv4.1, giao thức có các tính năng cần thiết để thực hiện xóa-on-last-close mà không đổi tên ngớ ngẩn, nhưng tôi không biết liệu có khách hàng / máy chủ nào thực hiện việc này không.


Cần lưu ý rằng điều này chỉ hoạt động khi tệp được mở trên cùng một máy khách hủy liên kết nó, vì NFS là không trạng thái.
Quentin Casasnovas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.