Urutan reboot adalah penting. Mem-boot ulang server setelah klien dapat menyebabkan situasi ini. Pegangan NFS basi menunjukkan bahwa klien memiliki file terbuka, tetapi server tidak lagi mengenali pegangan file. Dalam beberapa kasus, NFS akan membersihkan struktur datanya setelah batas waktu. Dalam kasus lain, Anda perlu membersihkan sendiri struktur data NFS dan memulai kembali NFS sesudahnya. Di mana struktur ini berada agak tergantung O / S.
Coba mulai ulang NFS pertama di server dan kemudian di klien. Ini dapat menghapus pegangan file.
Mem-boot ulang server NFS dengan file yang dibuka dari server lain tidak disarankan. Ini terutama bermasalah jika file yang terbuka telah dihapus di server. Server dapat menjaga file tetap terbuka sampai reboot, tetapi reboot akan menghapus pegangan file dalam memori di sisi server. Maka klien tidak lagi dapat membuka file.
Menentukan mount mana yang telah digunakan dari server adalah sulit dan tidak dapat diandalkan. The showmount -a
pilihan mungkin menunjukkan beberapa gunung aktif, tapi mungkin tidak melaporkan semua dari mereka. File yang dikunci lebih mudah diidentifikasi, tetapi membutuhkan penguncian untuk diaktifkan dan bergantung pada perangkat lunak klien untuk mengunci file.
Anda dapat menggunakan lsof
klien untuk mengidentifikasi proses yang memiliki file terbuka di tunggangan.
Saya menggunakan opsi hard
dan intr
mount pada mount NFS saya. The hard
pilihan menyebabkan IO harus dicoba tanpa batas. The intr
pilihan memungkinkan proses untuk dibunuh jika mereka menunggu di NFS IO untuk lengkap.
hard, intr
nasihat yang baik. Namun, perhatikan bahwa NFS menggandakan batas waktu dengan setiap percobaan. Jadi Anda lebih baik mengaturtimeo=1
danretrans=5
atau lebih. Perhatikan bahwa ini akan sangat membebani server NFS Anda setelah NFS restart. Cobalah untuk tidak me-restart layanan NFS Anda begitu sering;)