'नो लॉक्स अवेलेबल' का क्या मतलब है?


9

मैं एक SVN सर्वर के लिए प्रतिबद्ध हूँ। सर्वर पर तोड़फोड़ रिपॉजिटरी एनएफएस माउंटेड है। जब कोई कमिट करता है, मुझे यह त्रुटि संदेश मिलता है:

svn: Can't get exclusive lock on file '/svn/repo/db/transactions/7802-2.txn/rev-lock': No locks available

यह काम करता था, और किसी भी चीज़ पर कोई सॉफ्टवेयर अपग्रेड / परिवर्तन नहीं हुआ है। हालाँकि NFS सर्वर पहले दुर्घटनाग्रस्त हो गया था, इसलिए यह 'दूषित' हो सकता है (यदि यह यहाँ भी लागू हो)

जवाबों:


12

यहां कुछ संभावनाएं हैं:

  1. उपयोगकर्ता खाता जो SVN अद्यतन कर रहा है, उसके पास रिपॉजिटरी निर्देशिका पर अद्यतन अनुमति नहीं हो सकती है
  2. NFS फ़ाइल सिस्टम जहाँ रिपॉजिटरी संग्रहीत है, पूर्ण हो सकता है
  3. ताला डेमॉन (लॉकड) NFS सर्वर पर नहीं चल सकता है।

अद्यतन: प्रश्न के अपडेट के बाद, मुझे # 3 पर संदेह होगा। सुनिश्चित करें कि जब एनएफएस सर्वर रिबूट किया जाता है, तो लॉक को शुरू करने के लिए सेट किया गया है।


1
सर्वर पर "ps aux | grep लॉकड" का आउटपुट है, इसलिए मुझे लगता है कि यह चल रहा है
रोरी

यह NFS सर्वर से संबंधित था।
फ्रांसिस्को

मेरा केस # 3 था। /sbin/service nfslock startCentOS 6.8 द्वारा निर्दिष्ट
joao cenoura

3

सुनिश्चित करें कि आपका NFS सर्वर ताले का समर्थन करता है; इसे पूरा करने के लिए आपको NFS सर्वर पर अतिरिक्त प्रक्रियाओं को सक्षम करने की आवश्यकता हो सकती है; देख rpc.lockd (8) और rpc.statd (8)

इसके अतिरिक्त, यदि आपका NFS सर्वर हाल ही में पुनः आरंभ हुआ है, तो आपके पास बासी या आंशिक रूप से बासी NFS माउंट हो सकता है। साथ ही NFS माउंट को अनमाउंट करने और रिमूव करने का प्रयास करें।

संपादित करें: आपके अन्य प्रश्न के आधार पर , ऐसा लगता है कि आपके एनएफएस सर्वर के दुर्घटनाग्रस्त होने के बाद बरामद होने के बाद लॉकड शुरू नहीं हुआ।


यह तब तक काम करता था, जब तक कि nfs सर्वर क्रैश नहीं हो जाता। हाल ही में कोई सॉफ़्टवेयर अपडेट नहीं हुआ है। मैंने प्रश्न का विस्तार किया है
रोरी

आपका NFS माउंट (आंशिक रूप से) बासी हो सकता है; एक FreeBSD आधारित NFS सर्वर और सोलारिस क्लाइंट के साथ यहां होता है। एनएफएस शेयर को कम करना / रिमूव करना हमारे लिए समस्या को ठीक करता है।
तेल जेनिन

1
जिस क्लाइंट के पास NFS माउंट था उसे फिर से शुरू करने से उसे ठीक नहीं किया गया। (हालांकि ऐसी अन्य मशीनें हैं जो उस एनएफएस सर्वर से बढ़ रही हैं जिन्हें मैंने फिर से चालू / रिमूव नहीं किया है)
रोरी

1

इस Google खोज में आपके द्वारा ऊपर उल्लेखित शब्दों के लिए कई विकल्प दिए गए हैं

वर्णित विकल्पों में से कुछ हैं: पूर्ण डिस्क, अनुमतियाँ मुद्दे, "त्रिशंकु" या "अटक" svnserve प्रक्रियाएं, और त्रिशंकु लेनदेन ... आपको इन विभिन्न मुद्दों को देखने के लिए कई प्रयास करने की आवश्यकता हो सकती है कि वास्तव में समस्या क्या है। मामला।

ऐसा लगता है कि आप bsddb SVN बैक-एंड का उपयोग कर रहे हैं? आप अपने रिपॉजिटरी को fsfs बैक-एंड (अब कई वर्षों के लिए डिफ़ॉल्ट) पर माइग्रेट करने का प्रयास करना चाह सकते हैं। यह मेरे अनुभव में है और मुझे पता है कि दूसरों की संख्या से, bsddb से अधिक विश्वसनीय साबित हुआ है। यद्यपि आप यह जानना चाहते हैं कि यह एनएफएस के साथ कैसे बातचीत करता है - मैंने इसे एनएफएस पर उपयोग नहीं किया है।

एक अन्य विकल्प जिस पर आप विचार करना चाहते हैं, वह एनएफएस के ऊपर एसवीएन का उपयोग करने से दूर जा रहा है और इसके बजाय एसएसएच पर एक सर्वर पर चल रहा है, जिसमें एसवीएन भंडार स्थानीय रूप से संग्रहीत है। यह है कि हम अपने सभी एसवीएन काम करते हैं, fsfs बैकएंड के साथ, और मुझे याद नहीं है कि पिछली बार हमारे पास एसवीएन रिपॉजिटरी मुद्दे कैसे थे।

शॉन


हम FSFS वापस अंत का उपयोग कर रहे हैं
रोरी

पूर्ण डिस्क के लिए +1! यह पता चलता है कि NFS माउंट भरा नहीं था, रूट ड्राइव था ...
hwjp

0

यदि आप डेव पर एनएफएस के साथ एसवीएन का उपयोग कर रहे हैं

इसे चलाओ:

/etc/init.d/portmap restart

1
यह समझाने में मददगार हो सकता है कि आप इसे अपने उत्तर के रूप में क्यों सुझाते हैं।
ड्रू खोरी

0

मुझे यहाँ भी इसी तरह की समस्या थी, मेरा कारण योनि के एनएफएस आरोह के कारण। ऊपर से तेल जानिन ने जो कहा, उससे जाने के बाद, मैंने sudo service rpcbind restartअपने होस्ट ओएस पर rpcbind को फिर से शुरू किया । इसने मेरे vm को लटका दिया। मैंने उसे पुनः आरंभ किया, जिसने मुझे एक गुप्त एनएफएस त्रुटि दी failed to start with result 'dependency'। यह काम किया है और मैं अब एक खुश टूरिस्ट हूँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.