16.04 CIFS“ Host is down” แต่ไม่ใช่


27

ฉันมีการตั้งค่า CIFS ของฉันใน fstab และพวกเขากำลังทำงานตามที่ควรจะเป็นตอนบู๊ต พวกเขาขึ้นตามที่ควรและทำงานในขณะที่ ดูเหมือนว่า (อาจเป็นหลังจากปลดล็อคเครื่อง ฯลฯ ) ฉันได้รับข้อผิดพลาด "Host is down" พยายามเข้าใช้งาน ฉันมีหลายรายการและพวกเขาทั้งหมดลง พวกเขายังใช้ร่วมกันจากเซิร์ฟเวอร์เดียวกัน ในเวลานี้ฉันตรวจสอบบนคอมพิวเตอร์ที่ใช้ windows และเครื่องที่ล้าสมัย 14.04 และพวกมันก็ทำงานได้อย่างที่ควรจะเป็น หลังจากคลิกที่ส่วนแบ่งใน nautilus และรับข้อผิดพลาดซ้ำ ๆ พวกเขาจะเริ่มทำงานอีกครั้ง ในการเข้าถึงการแชร์ที่ "ลง" จะใช้เวลาประมาณ 2-3 นาทีในการคลิกเมานต์ที่แตกต่างกันและกลับไปที่การเมานต์แรกโดยอัตโนมัติเมื่อมันแสดงข้อมูลในจุดเมานท์โดยอัตโนมัติ

ฉันไม่ได้มีปัญหานี้ในเครื่อง 14.04 ที่ยังไม่ได้รับการปรับปรุงในขณะที่ เครื่องทั้งหมดเหล่านี้ทำงานได้อย่างสมบูรณ์และ CIFS ไม่เคย "ลง" ในวันที่ 16.04 พวกเขาไม่ได้เป็นปัญหาจนกระทั่งเมื่อไม่นานมานี้

ฉันแน่ใจว่าได้อัปเดตทุกวันและมีการทำความสะอาดส่วนหัวลินุกซ์เก่า (ในสายตาหลังฉันควรจะเปลี่ยนกลับ) ฉันทำเช่นนี้เพราะฉันขอให้การแก้ไขปรากฏขึ้น แต่มันเป็นสัปดาห์ที่ต้องต่อสู้กับการเมานต์ CIFS โดยไม่มีวิธีแก้ปัญหาใด ๆ


ฉันมีปัญหาเดียวกันแน่นอน เพิ่งเริ่มเมื่อไม่กี่สัปดาห์ที่ผ่านมา มีโชคหรือเปล่า?
Ian H

ไม่ยังคงเผชิญกับปัญหาเดียวกัน คุณใช้ gnome-shell โดยบังเอิญหรือไม่? ฉันเริ่มสงสัยว่านี่เป็นจุดเปลี่ยนหรือไม่เพราะฉันมีแล็ปท็อปที่ใช้ได้จนถึง gnome-shell
DevinM

ไม่ฉันใช้ urxvt ฉันคิดว่านี่เป็นข้อผิดพลาดในฟิวส์
เอียน H

ที่เกี่ยวข้อง - serverfault.com/a/842686/301458
David Refoua

คำตอบ:


14

ฉันกำลังเผชิญกับปัญหาเดียวกัน ดูเหมือนว่าจะมีบางอย่างที่เกี่ยวข้องกับเคอร์เนลและแซมบ้ารุ่นใหม่ล่าสุด

ฉันจัดการเพื่อแก้ปัญหานี้โดยการเพิ่ม vers = 2.0 ที่คำสั่ง mount (หรือจุดสิ้นสุดของแต่ละบรรทัด fstab)


3
คุณอาจลองทำให้ชัดเจนกว่านี้เพื่อคนอื่นหรือไม่? แสดงบรรทัดจาก fstab หรือเชลล์แล้วอธิบายว่าทำไมมันถึงช่วยได้?
Zanna

สวัสดีฉันใช้วิธีแก้ปัญหานี้ตามขั้นตอนที่ระบุไว้ใน launchpad: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves

ฉันกำลังทดสอบแก้ไขนี้ตอนนี้ จนถึงตอนนี้ดีมาก หากมันยังคงทำงานในวันพรุ่งนี้ฉันจะยอมรับสิ่งนี้เป็นคำตอบ ขอบคุณสำหรับข้อมูล!
DevinM

ใช้งานไม่ได้สำหรับฉัน - คุณช่วยโพสต์สิ่งที่คุณทำหรือไม่ คุณจะบอกหมายเลขรุ่นที่จะใช้อย่างไร
hippyjim

4
เนื่องจากนี่เป็นคำตอบที่ได้รับการยอมรับมันอาจจะพูดถึงว่าการลองใช้ค่าที่ถูกต้องสำหรับversนั้นจะให้ผลลัพธ์ที่ดีที่สุดแทนที่จะแนะนำรุ่นโปรโตคอลหนึ่ง ๆ (ซึ่งจะไม่ทำงานบนเซิร์ฟเวอร์ที่ล้าสมัย) เริ่มต้นด้วยรุ่นโปรโตคอลสูงและลงทีละหนึ่ง หากคุณท้ายด้วยvers=1.0เซิร์ฟเวอร์ระยะไกลอาจต้องมีการอัพเกรด (ถ้าเป็นไปได้) หรือปลอดภัย
0xC0000022L

38

หลังจากการทดสอบหลายอย่างที่เพิ่มvers=1.0เข้าไปในสายเชื่อมต่อดูเหมือนว่าจะแก้ไขปัญหาได้ ตอนนี้การติดตั้งใช้งานบน Ubuntu 17.10 เหมือนที่เคยทำมานานหลายปีสำหรับ Ubuntu รุ่นเก่า


3
หลังจากพยายาม x10 หลายครั้งนี่เป็นวิธีเดียวที่ทำงานได้ vers=2.0ไม่ทำงาน
Olivier Pons

ฉันไม่รู้เกี่ยวกับ vers = 1.0 vs 2.0 หรือ 3.0 และฉันไม่พบการพูดถึงใน man pages แต่มันใช้งานได้สำหรับฉัน
เกร็ก Chabala

3
//192.168.1.222/volume_1 / ชื่อผู้ใช้สื่อ / nas cifs = ****, รหัสผ่าน = ****, vers = 1.0
Steven

@GregChabala: บางทีตรวจสอบmount.cifs(8)เช่นกับman 8 mount.cifs? ด้วยmount.cifsรุ่น 6.8 (จากcifs-utilsแพคเกจ) vers=argหน้าคนไม่มีการกล่าวถึง
0xC0000022L

vers=1.0ทำงานในกรณีของฉัน
Sohel Pathan

7

ฉันประสบปัญหาเดียวกันด้วยตัวเองฉันต้องการเมานต์อัตโนมัติโดยใช้วิธีที่พบใน Ubuntu wiki ( https://wiki.ubuntu.com/MountWindowsSharesPermanently ) แม้ว่าฉันจะมีปัญหาเดียวกันตามที่ระบุข้างต้น:mount error(112): Host is down

สิ่งคือสิ่งที่ช่วยให้ฉันเพิ่มvers=3.0ที่และตัวเลือก:

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

ดังนั้นดูเหมือนว่าจะใช้ได้เฉพาะตอนที่คุณข้าม SMB1 และใช้งานที่ระบุอื่น ๆ เท่านั้น SMB3 ทำงานสำหรับฉันดังนั้นฉันจึงไม่ได้ลองอย่างอื่นอีก

ฉันใช้บัญชี Local บนเครื่อง windows ไม่ใช่บัญชีเดียวกับชื่อโดเมน outlook.com เนื่องจากฉันได้อ่านบางสิ่งที่อาจทำให้เกิดข้อขัดแย้งเช่นกัน


ดูเหมือนว่าการอัปเดตล่าสุดสำหรับตัวอย่างหน้าจอภายในของ windows 10 pro 16232.rs_prerelease.170624-1334 ได้รวมการเปลี่ยนแปลงที่ทำให้ฉันต้องเพิ่มvers=3.0การติดตั้งการแชร์ที่ใช้งานได้ก่อนหน้านี้
dylan oliver

6

คนอื่น ๆ ได้บอกใบ้ถึงวิธีแก้ปัญหาแล้ว แต่มันอาจจะคุ้มค่าที่จะอธิบายเหตุผลในไม่ช้า

mount.cifs ใน Ubuntu 16.04 ใช้โปรโตคอล SMB1 เป็นค่าเริ่มต้น

ในรุ่นที่ใหม่กว่ารุ่นmount.cifsSMB เริ่มต้นคือ 2.1 หรือ 3.0

เซิร์ฟเวอร์ Windows ปัจจุบันไม่สนับสนุนโพรโทคอล SMB 1.0 อีกต่อไปเว้นแต่ว่ามีการกำหนดค่าโดยเฉพาะในรีจิสตรีเพื่อยอมรับ ดังนั้นโดยค่าเริ่มต้นพวกเขาปฏิเสธการเชื่อมต่อจากลูกค้าที่ใช้โปรโตคอล SMB1 ซึ่งนำไปสู่ข้อความที่ทำให้เข้าใจผิด "Host is down"

แต่ระบบเก่าบางระบบ (ส่วนใหญ่มักเป็น NAS) ไม่รองรับโปรโตคอล 2.1 หรือ 3

วิธีแก้ไขคือบอกmount.cifsให้ใช้โปรโตคอลที่ถูกต้องเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของคุณโดยใช้vers=ตัวเลือก ตัวอย่างเช่นการเชื่อมต่อกับเครื่อง Windows 10:

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

หรือ NAS เก่าจาก Ubuntu 18.04 หรือใหม่กว่า:

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

จากman mount.cifs(ใน 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.

หากคุณกำหนดการติดตั้งของคุณ/etc/fstabอาจมีลักษณะดังนี้:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0

cifs vers = 1.0, หนังสือรับรอง = / root / .smbcredentials ทำงานให้ฉันใน 18.04 LTS การรวม "ค่าเริ่มต้น" ใน fsatb สร้างข้อผิดพลาดในการแยกวิเคราะห์ดังนั้นการลบข้อความที่หลีกเลี่ยงข้อผิดพลาด
เกรแฮม

@ Graham smb1 ล้าสมัยและอันตรายอย่างยิ่ง นอกจากนี้ยังช้าลง พยายามไปให้ถึงอย่างน้อยvers=2.1
Joel Coehoorn

@JoelCoehoorn แต่ vers = 1.0 ทำงานในขณะที่รุ่นที่ใหม่กว่าไม่ได้ ... ฉันเริ่มต้นที่ 3 และเปลี่ยน vers ลงจนทำงาน 1.0 ตั้งแต่นั้นมาก็ไม่มีปัญหาอย่างแน่นอน
เกรแฮม

@ Graham จากนั้นคุณต้องแก้ไขโฮสต์ที่คุณเชื่อมต่อด้วยเพื่อรองรับ smb2.1 หรือใหม่กว่า SMB1.0 เป็นที่เลวร้ายจริงๆ
Joel Coehoorn

@JoelCoehoorn ฉันทำตามคำแนะนำในหัวข้อนี้: serverfault.com/questions/414074/mount-cifs-host-is-downเพื่อแก้ไขปัญหา เพิ่งลอง vers = 3.0 อีกครั้งและข้อผิดพลาดเดิมยังคงอยู่และไดรฟ์ไม่ได้เมานต์ vers = 1.0 น่ากลัวขนาดไหน
เกรแฮม

0

ฉันมีปัญหาเดียวกันหลังจากที่ลูกค้าอัปเดต cifs-utils เป็น 6.7-2 และโดยทั่วไปการแก้ปัญหาจาก josepcoves และ user695658 นั้นใช้ได้สำหรับฉัน แต่เฉพาะค่า 1.0 สำหรับตัวเลือกการเมานต์ 'vers' ที่ใช้ได้กับฉัน ดูเหมือนว่าค่าเริ่มต้นสำหรับ param 'vers' ไม่ใช่ 1.0 อีกต่อไป


นี่เป็นคำตอบที่ซ้ำซ้อน
karel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.