मुझे अपने LAN पर एक डेबियन मशीन मिल गई है जो दूसरों के लिए बैकअप सर्वर के रूप में काम कर रही है। इसमें चार HDD को एक सॉफ्टवेयर RAID 5 md डिवाइस में, उस LVM पर और उस btrfs पर संयोजित किया गया है। Backs को rsync का उपयोग करके बनाया जाता है, और एक बड़े फाइल सिस्टम के लिए एक घंटे से अधिक समय लगता है। लंबे समय से मैंने सोचा था कि इस बारे में मैं कुछ कर सकता हूं।
हाल ही में, हालांकि, मैंने देखा कि स्थानांतरण के दोनों सिरों पर एचडीडी गतिविधि बहुत अलग थी । जबकि भेजने वाले पक्ष, जेंटू को चलाने और ज्यादातर ext4 का उपयोग करते हुए, शायद ही कोई डिस्क आईओ था, प्राप्त करने वाला पक्ष लगातार व्यस्त था। जैसा कि अधिकांश डेटा ट्रांसफ़र के बीच नहीं बदलते हैं, मेरा मानना है कि मेटाडेटा रीड को डेटा का बड़ा हिस्सा बनाना चाहिए। लेकिन मैं वास्तव में आश्चर्यचकित रहूंगा अगर btrfs में इनोड्स पढ़ना, ext4 में समान काम करने की तुलना में बहुत अधिक काम है।
iotop
पुष्टि की गई डिस्क लगभग 1-4 एमबी / एस प्राप्त करने वाले पक्ष पर पढ़ती है, जबकि भेजने वाले पक्ष में कभी-कभी 0.5 एमबी / एस फट होता था।
मेरा सवाल यह है कि क्या कोई समझा सकता है कि यहां क्या चल रहा है? कुछ संकेत के साथ अधिमानतः यदि संभव हो तो समस्या के आसपास कैसे काम करें।
शायद वहाँ कुछ btrfs ट्यूनिंग झंडा है जिसका मैं उपयोग कर सकता हूं, या कुछ इसी तरह का। मुझे बैकअप सर्वर पर स्नैपशॉट क्षमताओं के साथ एक एफएस की आवश्यकता है, और फ्रीबीएसडी और जेडएफएस का उपयोग करने की मेरी कोशिश जल्दी से एक असंगत एफएस का कारण बनती है, इसलिए मुझे फिलहाल btrfs के लिए बहुत कम विकल्प दिखाई देते हैं। इसलिए मुझे ext4 या zfs का उपयोग करने के लिए उत्तर देने से उत्थान मिल सकता है लेकिन कोई चेक मार्क नहीं।
उपयोग में रुपी विकल्प, जैसा कि cjm द्वारा अनुरोध किया गया है :
--rsync-path='rsync --fake-super'
--archive # -rlptgoD
--hard-links # detect and preserve these
--acls
--xattrs
--sparse
--noatime # based on patch from samba #7249c1
--delete
--delete-delay
--fuzzy
--human-readable # size suffixes, base 1000
--stats
साथ ही -f
कुछ फाइलों को छोड़ने के लिए नियमों का एक गुच्छा ।
Btrfs का विकल्प माउंट द्वारा रिपोर्ट कर रहे हैं mount
के रूप में
rw,nosuid,noexec,noatime,nospace_cache
विशेष रूप से, इसमें noatime
ध्वज शामिल है , इसलिए तब तक कोई लेखन शामिल नहीं होना चाहिए जब तक कि वास्तव में कुछ फाइलों में अंतर न हो। मैं के जवाब में इस जानकारी को जोड़ा जवाब द्वारा केली जोन्स ।
dtrace
या systemtap
यह पता लगाने के लिए कि समय कहाँ बिताया जा रहा है।