Saya menjalankan server kecil untuk bagian flat kami. Ini sebagian besar file server dengan beberapa layanan tambahan. Klien adalah mesin Linux (sebagian besar Ubuntu, tetapi beberapa distro lain juga) dan beberapa Mac (-Buku) di antaranya (tapi mereka tidak penting untuk pertanyaan). Server menjalankan Ubuntu 11.10 (Oneiric Ocelot) 'Server Edition', sistem tempat saya melakukan pengaturan dan pengujian menjalankan 11.10 'Desktop Edition'. Kami menjalankan saham kami dengan Samba (yang lebih kami kenal) untuk beberapa waktu tetapi kemudian bermigrasi ke NFS (karena kami tidak memiliki pengguna Windows di LAN dan ingin mencobanya) dan sejauh ini semuanya berfungsi dengan baik .
Sekarang saya ingin mengatur pemasangan otomatis dengan autofs untuk memperlancar segalanya (hingga sekarang semua orang memasang saham secara manual bila diperlukan). Pemasangan otomatis tampaknya juga berfungsi. Masalahnya adalah "server" kami tidak beroperasi 24/7 untuk menghemat energi (jika seseorang membutuhkan barang-barang dari server, ia mengaktifkannya dan mematikannya setelah itu, jadi ia hanya berjalan beberapa jam setiap hari). Tetapi karena pengaturan autofs klien menutup sering berhenti ketika server tidak berjalan.
Saya dapat memulai semua klien dengan baik, bahkan ketika server tidak berjalan.
Tetapi ketika saya ingin menampilkan direktori (dalam terminal atau nautilus), yang berisi tautan simbolik ke bagian di bawah
/nfs
ketika server tidak berjalan, hang selama setidaknya dua menit (karena autofs tidak dapat terhubung ke server tetapi tetap mencoba, saya kira).- Apakah ada cara untuk menghindarinya? Sehingga pemasangan akan tertunda hingga perubahan ke direktori atau sampai konten direktori itu diakses? Tidak ketika "melihat" tautan ke bagian di bawah
/nfs
? Saya pikir tidak, tapi mungkin mungkin untuk tidak mencoba mengaksesnya begitu lama? Dan beri saya direktori kosong atau "tidak dapat menemukan / terhubung ke dir itu" atau sesuatu seperti itu.
- Apakah ada cara untuk menghindarinya? Sehingga pemasangan akan tertunda hingga perubahan ke direktori atau sampai konten direktori itu diakses? Tidak ketika "melihat" tautan ke bagian di bawah
Ketika server berjalan, semuanya berfungsi dengan baik.
Tetapi ketika server dimatikan, sebelum bagian dilepas, alat (suka
df
ataull
) hang (dengan asumsi karena mereka pikir bagian itu masih aktif tetapi server tidak akan merespons lagi).- Apakah ada cara untuk meng-unmount share secara otomatis, ketika koneksi terputus?
Juga klien tidak akan mematikan atau memulai ulang ketika server sedang down dan mereka masih berbagi mount. Mereka menggantung (tampaknya seperti tak terbatas) dalam " membunuh proses yang tersisa " dan sepertinya tidak ada yang terjadi.
Saya pikir itu semua bermuara pada nilai batas waktu yang rapi untuk pemasangan dan pelepasan. Dan mungkin untuk menghapus semua saham ketika koneksi ke server terputus.
Jadi pertanyaan saya adalah: Bagaimana cara menangani ini? Dan sebagai bonus: apakah ada cara yang baik untuk menghubungkan di dalam /nfs
tanpa perlu me-mount saham asli (opsi autofs atau mungkin menggunakan FS palsu /nfs
yang akan diganti ketika mount terjadi atau sesuatu seperti itu)?
Pengaturan Saya
The Pengaturan NFS cukup dasar tetapi melayani kita dengan baik sejauh (menggunakan NFSv4 ):
/ etc / default / nfs-common
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
/etc/idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
/ etc / ekspor
/srv/ 192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)
Di bawah root ekspor, /srv
kami mendapat dua direktori dengan bind
:
/ etc / fstab (Server)
...
/shared/shared/ /srv/shared/ none bind 0 0
/home/Upload/ /srv/upload/ none bind 0 0
Yang pertama kebanyakan hanya baca (tapi saya menegakkannya melalui atribut file dan kepemilikan alih-alih pengaturan NFS) dan yang ke-2 adalah rw untuk semua. Catatan: Mereka tidak memiliki entri tambahan di / etc / ekspor , namun memasangnya secara terpisah berfungsi.
Di sisi klien mereka mendapatkan pengaturan /etc/fstab
dan dipasang secara manual sesuai kebutuhan ( morton
adalah nama server dan itu diselesaikan dengan baik).
/ etc / fstab (Klien)
morton:/shared /nfs/shared nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
morton:/upload /nfs/upload nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
Untuk pengaturan autofs saya menghapus entri dari /etc/fstab
pada klien dan mengatur sisanya seperti ini:
/etc/auto.master
/nfs /etc/auto.nfs
Pertama saya mengikat executable yang disediakan /etc/auto.net
(Anda dapat melihatnya di sini ) tetapi tidak secara otomatis me-mount apa pun untuk saya. Lalu saya menulis /etc/auto.nfs
berdasarkan pada beberapa HowTos yang saya temukan online:
/etc/auto.nfs
shared -fstype=nfs4 morton:/shared
upload -fstype=nfs4 morton:/upload
Dan itu agak berhasil ... Atau akan bekerja jika server akan menjalankan 24/7. Jadi, kami mendapatkan hangup ketika klien melakukan boot tanpa server berjalan atau ketika server turun saat berbagi tempat yang masih terhubung.
hard
danbg
terdengar berlawanan secara intuitif dengan saya pada awalnya. Saya ingin mount tidak mencoba lagi dan segera kembali jika itu menebus?intr
tampaknya baik-baik saja tetapi juga tampaknya tidak berfungsi lagi: " Opsi pemasangan intr / nointr dihentikan setelah kernel 2.6.25. Hanya SIGKILL yang dapat menghentikan operasi NFS yang tertunda pada kernel ini, dan jika ditentukan, opsi pemasangan ini diabaikan untuk memberikan kompatibilitas mundur. dengan kernel yang lebih tua. "?