rsync बस लटका हुआ है, फ़ाइल सूची का निर्माण कर रहा है


20
[root@centos /]# rsync -av --exclude thumbs /storage root@xx.27.1.xx:/storage
root@xx.27.1.xx's password: 
building file list ... 

मैं लगभग एक घंटे से बैठा हूं ... यह 135GB की छवियां और फ़ोल्डर्स हैं

/storage एक घुड़सवार ext3 scsi ड्राइव है।

क्या rsync के लिए फ़ाइलों / निर्देशिकाओं की लंबी गणना करना सामान्य है?


कितनी फाइलें? बहुत बड़ी संख्या में फ़ाइलों के साथ यह थोड़ी देर के लिए है।
हेल्विक

शायद हजारों ... उपयोगकर्ता अपलोड की छवि निर्देशिका ...
एंड्रयू फैशन

मैंने देखा है कि rsync के इस हिस्से को एक घंटे से अधिक समय लगता है जब हजारों और हजारों और हजारों फाइलें होती हैं। यदि आप 'टॉप' चलाते हैं तो क्या आप I / O प्रतीक्षा को देख रहे हैं?

सिर्फ इसलिए कि मैं उत्सुक हूं, क्या आप दौड़ सकते हैं df -iऔर हमें बता सकते हैं कि आपके पास IUsed/ भंडारण के लिए क्या है ? यह हमें एक मोटा विचार देगा कि आपके पास कितनी फाइलें + फ़ोल्डर हैं।
२१:०२ पर ज़ोराडशे

1383641, फ़ाइलों की राशि है?
एंड्रयू फैशन

जवाबों:


24

rsync 2.x सामने एक पूरी फ़ाइल सूची बनाता है।

-Pविकल्प जोड़ें और आपको एक प्रगति संकेतक दिखाई देगा।

अगर आपको लगता है कि यह वास्तव में लटका हुआ है, तो दूसरे टर्मिनल में rsync और फिर pid का पता लगाएं

  1. दौड़ें strace -p PIDऔर देखें कि यह क्या कर रहा है। (मारो ^ C रोकने के लिए।)

  2. भागो ps -o wchan PIDको देखने के लिए जहां यह कर्नेल में है।


वाह straceक्या मस्त है! आप शायद पाएंगे कि कुछ परिपत्र चल रहा है: एक लिंक की तरह जो अपने पूर्वजों में से एक को संदर्भित करता है। मेरे मामले में मैं एक वर्चुअल फाइलसिस्टम का उपयोग कर रहा था, जिसकी गहराई पर कोई सीमा नहीं थी, अर्थात इसमें "बहुत" कई उपनिर्देशिकाएँ थींtagfs/books/+/books/+/books/+/ ...
ज़ाज़

@Zaz मैं गहराई में उपनिर्देशिकाओं की एक बड़ी राशि भी है। लेकिन यह मेरे सिस्टम डिजाइन में है। क्या इसे हल करने का कोई तरीका है?
user1641443

@ user1641443: मुझे क्षमा करें, यह मेरे से परे है।
ज़ाज़

@ user1641443: 1: मार्टिन के रूप में rsync> 3.0 का प्रयास करें । 2: छोटे सब-ट्री पर प्रत्येक पर कई rsync प्रक्रियाएं चलाएँ। 3: अपना अलग प्रश्न खोलें।
पूल

15

आपको rsync 3.0.x पर अपग्रेड करना चाहिए जहाँ आपको वृद्धिशील फ़ाइल सूचियों का लाभ मिलेगा, यहाँ समझाया गया है । मैं लाखों छवियों (~ 200GB कुल) को rsyncing कर रहा हूं और rsync 2.x से 3.x पर जाने पर बहुत बड़ा गति देखा।

फिर भी, उस सभी डेटा के माध्यम से जाने के लिए एक लंबा समय लगेगा। मेरे मामले में यह अभी भी दो सुंदर शक्तिशाली DL380 G5 सर्वर के बीच एक घंटे से अधिक लेता है।


यह भी ध्यान दें कि कुछ झंडे पुराने व्यवहार को मजबूर करेंगे; मेरे लिए, यह था --delay-updates
जिओनीग छियामोव

1
@XiongChiamiov मेरे द्वारा उपयोग किए जा रहे एकमात्र विकल्प "-a" और "--प्रोग्रेस" और संस्करण 3.1.x अभी भी एक वृद्धिशील फ़ाइल सूची बना रहा है। क्यों?
माइकल

3

आपने पहले उल्लेख किया था कि duयह भी लटका हुआ था। कुछ इस फाइलसिस्टम के साथ है, और rsyncजो कुछ भी duथा उसे मार रहा है ।

एक त्वरित चीज़ जिसे आप चेक कर सकते हैं वह है कर्नेल त्रुटि संदेशों के लिए एक डिस्क समस्या का संकेत। टाइप करें dmesgऔर देखें कि नीचे क्या है।


1

संदेश के निर्माण के बाद लटका "फ़ाइल सूची ..." MTU बेमेल के कारण हो सकता है, उदाहरण के लिए यदि आपने MTU 9000 के साथ नेटवर्क इंटरफेस सेट किया है, लेकिन बीच में स्विच नहीं, छोटे पैकेट (जैसे rsync सर्वर से कनेक्ट करना) के माध्यम से पारित करेंगे, लेकिन बड़े लोगों के माध्यम से नहीं (जैसे फ़ाइल सूची भेजना)।


बहुत खोज के बाद मैं इस पार आया और इसने मुझे जाने और जाँच करने के लिए प्रेरित किया - मानक 1450 mtu के साथ एक vpn पर rsync चला रहा था, लेकिन मैं साइटों के बीच में उपकरणों के नियंत्रण में नहीं हूं - vpn mtu को 1430 तक बदल दिया और viola को rsync 100% काम करता है (और अचानक अन्य नेटवर्क विचित्रता भी गायब हो गई!) धन्यवाद!
l0ft13

0

इसके आधार पर और के अपने अन्य प्रश्न du /storageफांसी मुझे उस बारे में सोच न बना देता है duया rsyncसमस्या है बल्कि वहाँ के साथ कुछ मुद्दों कर रहे हैं /storage

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