सर्वर: RHEL 5.9 / smbd 3.0.33 - ग्राहक: विभिन्न, हालांकि सभी वर्तमान माउंट का उपयोग कर रहे थे ।if (5.2)
मैंने पहले ही इस समस्या को हल कर लिया था, लेकिन इन त्रुटि कोडों का शिकार करने के लिए यह एक बुरा सपना था, मुझे लगा जैसे इसे सार्वभौमिक दस्तावेज की आवश्यकता थी।
लक्षण : अप्रत्याशित, आंतरायिक माउंट विफलता एक विशिष्ट cifs क्लाइंट से लिनक्स samba सर्वर तक। मेरे सभी लिनक्स क्लाइंट लॉगिन पर उपयोगकर्ता के घरों को pam_mount करते हैं। बेतरतीब ढंग से, और छिटपुट रूप से घरेलू dir mounts एक मशीन पर विफल होने लगे । लॉगिन और माउंट सभी अन्य ग्राहकों पर निर्दोष रूप से काम करते रहे। शुरू में मुझे लगा कि टूटे हुए ग्राहक पर असामान्य मात्रा में गतिविधि होने के कारण धुएं का गुबार फैल रहा है, लेकिन रुक-रुक कर होने वाली विफलताएं भी उपयोग में आने के बाद भी मर रही हैं।
हाथ से माउंट करने का प्रयास विफल रहता है और रिपोर्ट:
Errors from underlying mount program
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
<debug enable="1"/>
Pam_mod.net से अधिक जानकारी प्राप्त करने के लिए /etc/security/pam_mount.conf.xml में सेट करें :
command: 'mount' '-t' 'cifs' '//my_server/watdo' '/home/watdo' '-o' 'user=watdo,uid=666,gid=666'
pam_mount(misc.c:38): set_myuid<pre>: (ruid/rgid=0/0, e=0/0)
pam_mount(misc.c:38): set_myuid<post>: (ruid/rgid=0/0, e=0/0)
pam_mount(mount.c:64): Errors from underlying mount program:
pam_mount(mount.c:68): mount error(12): Cannot allocate memory
pam_mount(mount.c:68): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)`
/var/log/kern.log ने भी इस घटना की सूचना दी:
kernel: [4316790.256149] CIFS VFS: cifs_mount failed w/return code = -12
'गूंज 1> / proc / fs / cifs / cifsFYI' क्रैंक ऊपर माउंट। cifs डीबग (/ / var / log / डिबग को लिखता है)। यहाँ अच्छा हिस्सा है (परिचित देखो?):
CIFS Session Established successfully
For smb_command 117
Sending smb: total_len 88
cifs_sync_mid_result: cmd=117 mid=54307 state=4
Mapping smb error code 0xc0000205 to POSIX err -12
इस बिंदु पर वस्तुतः ग्राहक पक्ष पर कोई अन्य जानकारी उपलब्ध नहीं है। cifs माउंट अनुरोध निकल जाता है और ग्राहक लगभग तुरंत मर जाता है। Mount.cifs की त्रुटि (12) बहुत ही असंगत है (मैन पेज मदद नहीं करता है, thx लोग)। व्यापक इंटरनेट खोज से पता चलता है कि यह एक सामान्य त्रुटि कोड है, इसे अनइंफॉर्मेटिव के रूप में भी पुष्टि करता है।
सर्वर पर जाँच करने का समय! log level = 3
/Etc/samba/smb.conf (उपयोग सांबा पुस्तक से) में smbd के लिए सेट करें : "3 से ऊपर के स्तर डेवलपर्स द्वारा उपयोग के लिए हैं और भारी मात्रा में गूढ़ जानकारी को डंप करते हैं।" योग्य!)। यहाँ प्रासंगिक लाइन है:
[2013/02/08 10:18:03, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/reply.c(514) cmd=117 (SMBtconX) NT_STATUS_INSUFF_SERVER_RESOURCES
लगभग वहाँ ... smb मेलिंग सूची संग्रह से मैंने पाया कि कोई व्यक्ति इसी तरह के मुद्दे की रिपोर्टिंग कर रहा है, जिसे व्यक्तिगत smb कनेक्शन पर एक पेग्ड शेयर सीमा के रूप में पहचाना जाता है। सर्वर पर खुले शेयरों की सूची बनाएं:
smbstatus -S | grep <serverIP> | wc -l
लौट आया 2048 । बहुत षड्यंत्रकारी।
वास्तव में 'आईपीसी $' के लिए smbstatus -S
प्रकट हजारों प्रविष्टियों के आउटपुट की जांच । IPC $ पर सांबा डॉक्स यह बताता है कि यह गुमनाम शेयर ब्राउज़िंग और "कुछ अन्य संसाधनों" तक पहुंच के साथ शामिल है। मैंने /etc/samba/smb.conf में सर्वर पर होस्ट इनकार सेट किया:
[IPC$]
hosts deny = 0.0.0.0/0
अब महान काम करता है। ठीक है, उम्मीद है कि यहाँ कुछ भविष्य में कुछ गरीब आत्मा की मदद करता है।
मुझे लगता है कि मैं उस साइट की भावना का अनुमान लगाऊंगा जो एक सवाल पूछेगा: smbd IPC $ शेयरों को साफ क्यों नहीं करेगा? प्रति ग्राहक एक कनेक्शन के बजाय एक शेयर के लिए प्रति उपयोगकर्ता एक आईपीसी $ क्यों स्थापित करें? क्या आप ग्राहक पक्ष से IPC $ शेयर निर्माण को अक्षम कर सकते हैं? क्या प्रति शेयर अधिकतम # कनेक्शन बढ़ाने का एक तरीका है (यह नहीं कि इससे इस मामले में मदद मिली होगी)? मैंने इसे डॉक्स में नहीं देखा।