gắn kết Linux NFS. rpc.statd không chạy


7

Tôi có Ubuntu 12.04 là máy chủ NFS. Các khách hàng là Linux. /etc/exportsTập tin của tôi có 1 dòng,

/folderToExport *(rw,async,no_subtree_check)  

/etc/init.d/nfs-kernel-server statuscho thấy rằng chia sẻ NFS đang hoạt động như mong đợi. Vấn đề là bất cứ khi nào tôi cố gắng gắn kết chia sẻ NFS từ một máy chủ Linux khác, stdout nói

mount.nfs: rpc.statd is not running but is required for remote locking
mount.nfs: use '-o nolock'...or start statd

ps -ef |grep statdcho thấy rpc.statdđã chạy, vậy tại sao họ nói "bắt đầu statd"?

Bao gồm -o nolockđề xuất của họ cho phép NFS gắn kết xảy ra, nhưng sau đó NFS được gắn kết trở thành chỉ đọc. Các /etc/exportstập tin yêu cầu rw.

Làm thế nào để bạn bắt đầu statd? Là máy khách hoặc máy chủ NFS thiếu một số cấu hình?


Đây là những gì làm việc cho tôi. Khai báo cho từng thư mục dùng chung /etc/exports, vd

/folderToExport *(rw,async,no_subtree_check) 

statd có thể được bắt đầu bởi

service statd stop theo dõi bởi

service statd start. Sau đó ps -ef |grep statdcho thấy

statd 1994 1 0 15:23 ? 00:00:00 rpc.statd -L

Khi bạn đã xác minh rằng nó statdđang chạy, lần chạy tiếp theo mounttừ máy khách Linux,

mount 192.168.1.3:/folderToExport /mountFolder

Không còn có một tin nhắn rpc.statd is not running ... start statd

Cuối cùng, hãy chắc chắn rằng các quyền trên máy chủ NFS cho phép các rwquyền. (Chỉ sửa đổi /etc/exportstệp là không đủ)

chmod 0777 /folderToExport -R

Câu trả lời:


3

statdlà một phần của gói nfs-common. Bạn có thể có thể thấy rằng chính bạn locate statdmang lại cho bạn trong số những người khác /etc/init.d/statd.

Bạn có thể bắt đầu statdvới:

service statd start

Nhưng nó thường đã bắt đầu khởi động hệ thống nhưng có lẽ có điều gì đó không ổn. Bạn nên kiểm tra tệp nhật ký của mình: grep statd /var/log/*để xem liệu có lý do nào khiến việc đó không bắt đầu không.

Ngoại hình của bạn /etc/exportsok với tôi. Tôi sử dụng:

/data0    *(rw,no_root_squash,no_subtree_check)

trên máy chủ của tôi và:

192.168.0.2:/data0 /data0   nfs  defaults,noauto,user 0 0

trong /etc/fstabkhách hàng của tôi.


Tôi không thể ra lệnh sudo service statd starttrên Ubuntu 13.10
puk

@puk có lẽ bạn chưa cài đặt nfs-common. Nếu bạn không nhận được statd: unrecognized service. Sau khi apt-get install nfs-commonbạn nhận đượcstart: Job is already running: statd
Anthon

2
Tôi vừa kiểm tra lại, và nó hoạt động trên 2 máy tính Ubuntu, nhưng nó không hoạt động trên raspbian mặc dù đã cài đặt nfs-common.
puk

@puk Tôi chỉ kiểm tra trên Ubuntu 13.10 cho Intel trên máy ảo. Tôi xin lỗi, nhưng tôi không có quyền truy cập vào raspbian và không thể giúp bạn ở đó.
Anthon

6

Tôi tìm thấy một câu trả lời làm việc trên Raspbian cho tôi ở đây .

Kích hoạt dịch vụ rpcbind và nfs.

sudo update-rc.d rpcbind enable

sudo update-rc.d nfs-common enable

Khởi động lại dịch vụ rpcbind

sudo service rpcbind restart


2

Nếu rpcbind và statd được kích hoạt và chạy và bạn vẫn nhận được thông báo lỗi này, có thể máy chủ được cấu hình với các trình bao bọc tcp hạn chế. Các lỗi sau sẽ được ghi lại:

rpc.statd: Failed to read /var/lib/nfs/state: Success

Trong trường hợp đó, bạn nên thêm phần sau vào /etc/hosts.allow:

rpcbind: 127.0.0.1

1
Cảm ơn bạn đã nhập Roaima, tôi hy vọng rằng tôi đã làm cho nó rõ ràng hơn bây giờ - vui lòng xem lại.
Thùy 10/11/2016

0

Trong /etc/default/nfs-common, chèn yesvào NEED_STATD=yes.


1
Những câu trả lời ngắn như vậy thường được hưởng lợi rất nhiều từ việc mở rộng để thêm giải thích hoặc tài liệu nguồn có liên quan.
HalosGhost

Điều này không giúp được gì trên một quả mâm xôi pi
Trevor
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.