16.04 CIFS “Host sedang down” tetapi ternyata tidak

26

Saya memiliki setup CIFS saya di fstab dan mereka berfungsi sebagaimana mestinya saat boot. Mereka dipasang sebagaimana mestinya dan bekerja untuk sementara waktu. Entah dari mana tampaknya (bisa setelah mesin unlocking dll) saya mendapatkan kesalahan "Host is down" mencoba mengaksesnya. Saya punya banyak dan semuanya turun. Mereka juga dibagikan dari server yang sama. Pada saat ini saya memeriksa komputer windows dan mesin 14,04 usang dan mereka sudah bangun dan berfungsi sebagaimana mestinya. Setelah mengklik di sekitar saham di nautilus dan mendapatkan kesalahan berulang mereka hanya akan mulai bekerja lagi. Untuk mengakses share yang "down" membutuhkan sekitar 2-3 menit mengklik secara berbeda mount dan kembali ke yang pertama ketika secara otomatis ia menunjukkan data di mount point.

Saya tidak memiliki masalah ini pada mesin 14,04 yang belum diperbarui dalam beberapa saat. Semua mesin itu berfungsi penuh dan CIFS tidak pernah "turun". Pada 16.04 mereka tidak menjadi masalah sampai baru-baru ini.

Saya telah memastikan untuk memperbarui setiap hari dan telah membersihkan header linux lama (di belakang saya mungkin harus dikembalikan). Saya melakukan ini karena saya meminta perbaikan agar hanya muncul tetapi sudah berminggu-minggu berjuang melawan CIFS tanpa solusi.

DevinM
sumber
Saya mengalami masalah yang sama persis. Baru-baru ini dimulai beberapa minggu yang lalu. Keberuntungan?
Ian H
Tidak, masih menghadapi masalah yang sama. Apakah Anda menjalankan gnome-shell kebetulan? Saya mulai bertanya-tanya apakah ini adalah titik balik karena saya memiliki laptop yang baik-baik saja sampai gnome-shell
DevinM
Tidak, saya menggunakan urxvt. Saya pikir ini adalah bug dalam sekering.
Ian H
Terkait - serverfault.com/a/842686/301458
David Refoua

Jawaban:

13

Saya menghadapi masalah yang sama. Tampaknya ada hubungannya dengan versi Kernel dan samba terbaru.

Saya telah berhasil menyelesaikan ini dengan menambahkan vers = 2.0 pada perintah mount (atau akhir dari setiap baris fstab)

josepcoves
sumber
3
Bisakah Anda mencoba membuat ini lebih jelas untuk orang lain? Tunjukkan baris dari fstab atau shell Anda dan jelaskan mengapa itu membantu?
Zanna
Hai, saya menerapkan solusi ini dengan langkah-langkah berikut yang dinyatakan di launchpad: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves
Saya sedang menguji perbaikan ini sekarang. Sejauh ini baik. Jika masih bekerja besok saya akan menerima ini sebagai jawabannya. Terimakasih atas infonya!
DevinM
Tidak bekerja untuk saya - dapatkah Anda memposting apa yang Anda lakukan? Bagaimana Anda tahu nomor versi mana yang akan digunakan?
hippyjim
4
Karena ini adalah jawaban yang diterima mungkin harus menyebutkan bahwa mencoba nilai-nilai yang valid untuk versakan menghasilkan hasil terbaik, daripada merekomendasikan satu versi protokol tertentu (yang tidak akan bekerja pada server yang ketinggalan zaman). Mulailah dengan versi protokol tinggi dan turun satu per satu. Jika Anda berakhir dengan vers=1.0server jarak jauh mungkin harus ditingkatkan (jika mungkin) atau diamankan.
0xC0000022L
37

Setelah banyak tes menambahkan vers=1.0di jalur mount sepertinya memperbaiki masalah. Mount berfungsi sekarang di Ubuntu 17.10 seperti yang terjadi selama bertahun-tahun pada rilis Ubuntu yang lebih lama.

Stéphane PIOTROWSKI
sumber
3
Setelah berkali-kali x 10 mencoba ini adalah satu-satunya solusi yang berhasil. vers=2.0tidak bekerja
Olivier Pons
Saya tidak tahu tentang vers = 1.0 vs 2.0 atau 3.0, dan saya tidak dapat menemukan disebutkan di halaman manual, tetapi ini berhasil untuk saya.
Greg Chabala
3
//192.168.1.222/volume_1 / media / nas cifs username = ****, password = ****, vers = 1.0
Steven
@GregChabala: mungkin periksa mount.cifs(8)yaitu dengan man 8 mount.cifs? Dengan mount.cifsversi 6.8 (dari cifs-utilspaket) halaman manual tidak berisi menyebutkan vers=arg.
0xC0000022L
7

Saya sendiri pernah menghadapi masalah yang sama, saya ingin memasang otomatis menggunakan metode yang ditemukan di wiki Ubuntu ( https://wiki.ubuntu.com/MountWindowsSharesPermanently ) meskipun saya punya masalah yang sama seperti yang dinyatakan di atas:mount error(112): Host is down

Masalahnya adalah apa yang membantu saya menambahkan vers=3.0pada opsi dan dari:

//servername/sharename /media/windowMBsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm,vers=3.0 0 0

Jadi sepertinya itu hanya berfungsi sekarang jika Anda memotong SMB1 dan menggunakan yang ditentukan lainnya, SMB3 bekerja untuk saya jadi saya belum mencoba yang lain.

Saya telah menggunakan akun lokal di mesin windows tidak satu dengan nama domain outlook.com karena saya telah membaca sesuatu yang juga dapat menyebabkan konflik.

pengguna695658
sumber
tampaknya pembaruan terbaru untuk windows 10 pro orang dalam pratinjau membangun 16232.rs_prerelease.170624-1334 termasuk perubahan yang mengharuskan saya untuk menambahkan vers=3.0untuk me-mount berbagi yang sebelumnya bekerja tanpa itu.
dylan oliver
6

Yang lain sudah mengisyaratkan solusinya, tetapi mungkin ada baiknya menjelaskan alasannya.

mount.cifs di Ubuntu 16.04 menggunakan protokol SMB1 secara default.

Dalam versi selanjutnya mount.cifs, versi SMB default adalah 2.1 atau 3.0.

Server Windows saat ini tidak mendukung protokol SMB 1.0 lagi, kecuali terkonfigurasi secara khusus dalam registri mereka untuk menerimanya. Jadi secara default, mereka menolak koneksi dari klien menggunakan protokol SMB1. Yang mengarah pada pesan yang menyesatkan "Host tidak aktif".

Tetapi beberapa sistem yang lebih tua (paling sering NAS) tidak mendukung protokol 2.1 atau 3.

Solusinya adalah dengan mengatakan mount.cifsuntuk menggunakan protokol yang tepat untuk terhubung ke server Anda, menggunakan vers=opsi. Misalnya, untuk terhubung ke mesin Windows 10:

mount -t cifs ... -o vers=3.0,...

atau ke NAS lama dari Ubuntu 18.04 atau lebih baru:

mount -t cifs ... -o vers=1.0,...

Dari man mount.cifs(di Ubuntu 16.04):

   vers=
       SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in
           Windows Vista Service Pack 1, and Windows Server 2008. Note
           that the initial release version of Windows Vista spoke a
           slightly different dialect (2.000) that is not supported.

       ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft
           Windows 7 and Windows Server 2008R2.

       ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft
           Windows 8 and Windows Server 2012.

       Note too that while this option governs the protocol version used,
       not all features of each version are available.

Jika Anda mendefinisikan mount Anda /etc/fstab, itu mungkin terlihat seperti ini:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0
mivk
sumber
cifs vers = 1.0, kredensial = / root / .smbcredentials, bekerja untuk saya di 18,04 LTS. Termasuk "default," di fsatb menghasilkan kesalahan parse sehingga menghapus teks yang menghindari kesalahan.
Graham
@Graham smb1 sangat ketinggalan jaman dan berbahaya. Ini juga lebih lambat. Cobalah untuk setidaknyavers=2.1
Joel Coehoorn
@ JoelCoehoorn tetapi vers = 1.0 bekerja sedangkan versi yang lebih baru tidak ... Saya mulai pada 3 dan mengubah vers ke bawah sampai 1.0 bekerja. Sejak itu sama sekali tidak ada masalah.
Graham
@Graham Kemudian Anda harus memperbaiki host yang terhubung agar mendukung smb2.1 atau lebih baru. SMB1.0 benar - benar buruk .
Joel Coehoorn
@ JoelCoehoorn Saya mengikuti saran yang terkandung dalam utas ini: serverfault.com/questions/414074/mount-cifs-host-is-down untuk menyelesaikan masalah. Coba saja vers = 3.0 lagi dan kesalahan yang sama berlanjut dan drive tidak me-mount. Apa yang sangat buruk tentang vers = 1.0?
Graham
0

Saya memiliki masalah yang sama setelah pembaruan klien dari cifs-utils ke 6.7-2. Dan pada dasarnya solusi dari josepcoves dan user695658 bekerja untuk saya. Tetapi hanya nilai 1.0 untuk opsi mount 'vers' yang bekerja untuk saya. Sepertinya nilai default untuk param 'vers' tidak lagi 1.0.

dev-null
sumber
Ini adalah duplikat dari jawaban yang diterima.
karel