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. "?hard,bg
untuk/etc/auto.master
tampaknya perubahan apa-apa. Atime ls -l ~
(dir pengguna saya berisi symlink ke/nfs/upload
) masih membutuhkan waktu lebih dari dua menit, ketika server tidak berjalan.sudo reload autofs && sudo restart autofs
Saya bermain-main lagi dengan beberapa opsi dari halaman manual. Semua
bg,hard
,bg,soft
,fg,hard
danfg,soft
memberi saya kembali kali lebih dari dua minuets.Pengaturan
retrans=1,retry=0
(dikombinasikan dengan salah satu di atas), memberi saya waktu sekitar tiga detik. Cukup layak. Meskipun saya tidak yakin apa arti setiap kombinasi. Akan menggali lebih jauh.Saya juga menemukan opsi autofs
MOUNT_WAIT
danUMOUNT_WAIT
. Saya belum bisa mendapatkan beberapa hasil berbeda dengan mereka tetapi saya akan terus berusaha. Sepertinya lika cara yang baik untuk menggunakan "lebih aman" (alias coba lagi, dll) opsi NFS tetapi waktu pengembalian cepat untuk autofs, atau tidak?sumber
rsize=32768,wsize=32768,noatime
disebutkan di sini: techrepublic.com/blog/opensource/…Untuk mengatur sistem file NFS agar dipasang secara otomatis setiap kali Anda memulai sistem Red Hat Linux Anda, Anda perlu menambahkan entri untuk sistem file NFS ke file / etc / fstab. File / etc / fstab berisi informasi tentang semua jenis sistem file yang dipasang (dan tersedia untuk dipasang) untuk sistem Red Hat Linux Anda. EX:: nfs Sesuai dengan nama host, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari server yang mengekspor sistem file. Ini adalah jalur ke direktori yang diekspor. Yang menentukan di mana pada sistem file lokal untuk me-mount direktori yang diekspor. Mount point ini harus ada sebelum / etc / fstab dibaca atau mount akan gagal. Area menentukan opsi mount untuk sistem file. Misalnya, jika area opsi menyatakan rw, suid, sistem file yang diekspor akan di-mount read-write dan pengguna dan groupid yang ditetapkan oleh server akan digunakan. Perhatikan bahwa tanda kurung tidak boleh digunakan di sini
sumber