Truy cập các tệp nằm trên hệ thống tệp cơ bản của điểm gắn kết NFS


8

Có lẽ đây là một yêu cầu kỳ lạ, nhưng nó ngược lại với câu hỏi chi tiết tại:

Có thể xem nội dung của một mount NFS bên dưới mà không ngắt kết nối nội dung NFS không?

Tôi có một sự sắp xếp trong đó các máy chủ Linux tại nhiều trang web từ xa gắn kết chia sẻ NFS từ một máy chủ trung tâm (tất cả CentOS 5.x). Hãy suy nghĩ: /opt/softwarehoặc một cái gì đó tương tự.

Nếu tất cả đều ổn, các hệ thống máy khách sẽ xuất NFS từ máy chủ chính và chạy mà không gặp sự cố. Dữ liệu chứa trong chia sẻ không thay đổi thường xuyên (có lẽ hàng tuần).

Tôi lo ngại về tình trạng mất kết nối với máy chủ NFS chính (mất máy chủ NFS, cắt cáp, v.v.). Do thực tế, dữ liệu chia sẻ không thay đổi thường xuyên, tôi muốn các hệ thống này có thể chạy độc lập nếu chúng mất kết nối NFS.

Giả sử thú cưỡi biến mất, tôi muốn sử dụng các tệp cục bộ nằm /opt/softwarebên dưới giá treo NFS tại cùng một vị trí. Ngoài ra, tôi sẽ giữ đồng bộ hàng ngày các tệp đó.

Gắn kết NFS là đọc / ghi vì những thay đổi đối với âm lượng được gắn cần phải có thể từ bất kỳ trang web khách nào.

Điều này có thể không? Làm cách nào để tôi truy cập (hoặc ghi đè) các tệp trong thư mục bên dưới? Có khả năng sẽ có vấn đề thời gian chờ? Có bất kỳ tùy chọn gắn kết / mẹo có thể giúp với điều này?

Câu trả lời:


16
mount -o bind / /mnt

Khi bạn nhìn vào / mnt / opt / phần mềm, bạn sẽ tìm thấy các tệp (nếu có) bên dưới giá trị gắn kết / opt / phần mềm.


Nhưng điều đó sẽ gắn kết tất cả các hệ thống tập tin gốc dưới / mnt. Hmm ...
ewwhite

1
Vì thế? Nó sẽ gây hại gì? Nó chỉ cho phép bạn đồng bộ hóa các tập tin bạn muốn. Bạn thậm chí có thể đặt nó trong / private / root trong đó / private là 700 root để không ai khác có thể nhận được tại các tệp đó, không phải nó sẽ gây hại gì nếu chúng có thể vì chúng có cùng quyền. Về cơ bản, nó giống như một câu trả lời chính xác cho câu hỏi của bạn. Bây giờ nếu câu hỏi của bạn là làm thế nào để phục hồi khi máy chủ NFS biến mất, điều đó hoàn toàn khác và có thể liên quan đến lực lượng không thể đếm được. Điều đó sẽ làm mất hiệu lực và do đó phá vỡ một nửa các quy trình của bạn buộc phải khởi động lại bằng mọi cách.
Seth Robertson

Điều này đã gần, nhưng tôi quyết định chỉ gắn thư mục mà tôi cần truy cập với tham số liên kết đến một vị trí khác trên hệ thống tập tin.
ewwhite

Trên thực tế điều này rất hữu ích trong một trường hợp cụ thể và tôi ước rằng tôi đã biết về tùy chọn này từ lâu. Tôi chỉ gặp phải tình huống này một lần nữa. Về cơ bản tôi đã có một thư mục / usr được gắn với hệ thống tập tin gốc và muốn di chuyển nó đến hệ thống tập tin riêng của mình để phục hồi không gian trên root. Vậy sau khi tạo usr và di chuyển dữ liệu ở đó và khởi động lại để gắn usr mới, làm thế nào để bạn dễ dàng xóa dữ liệu cũ / usr? Một cách là sử dụng chế độ người dùng duy nhất và hy vọng không có gì sử dụng tệp ở đó. Một cách khác là sử dụng thủ thuật liên kết này và xóa thư mục dữ liệu khỏi một đường dẫn thay thế.
deltaray

8

Điều này có thể bằng cách sử dụng mount --bindtùy chọn.

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
   mount --bind olddir newdir
After this call the same contents is accessible in two places.

Vì vậy, tôi đã có thể mount --bind /opt/software /foo

Và sau đó áp dụng gắn kết NFS /opt/software, duy trì khả năng xem các tệp bên dưới tại /foo.


3

Những gì bạn có thể cần, vì các tệp tương đối tĩnh, là rsync. Trừ khi nhiều máy khách từ xa có khả năng thay đổi tập tin. Nếu dữ liệu về cơ bản là chỉ đọc, tại sao không chỉ rsync một vài lần một ngày thông qua một số công việc giống như cron, trên mỗi máy. Một lần nữa, tôi có thể thiếu điểm, nhưng nếu dữ liệu trên NFS về cơ bản chỉ giống như đọc, thì điều này có thể làm điều đó.


Theo truyền thống, Rupync sẽ có ý nghĩa, nhưng có khả năng các tệp sẽ được sửa đổi tại bất kỳ trang web cụ thể nào. Nếu tôi đang cài đặt chỉ đọc, rsync sẽ là lựa chọn tốt hơn. Trừ khi bạn biết về giải pháp đồng bộ hóa hai chiều ...
ewwhite

Một điều bạn có thể làm với rsync là thiết lập một công việc định kỳ kiểm tra dấu thời gian trên các tệp của bạn trên mỗi máy và có thể thực hiện sau mỗi 5 phút. Ngay khi nhận thấy bản cập nhật, đẩy các tệp lên nfs và quảng cáo đồng thời có thể tạo tệp kích hoạt mà mọi máy khác kiểm tra trong một khoảng thời gian cố định. Ngay khi thấy trình kích hoạt này, tất cả họ đều chạy rsync để nhận hầu hết các tệp được cập nhật từ NFS.
slashdot

Tôi có thể thử Unison như một cách tiếp cận để giải quyết điều này.
ewwhite
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.