मैं अपने ZFS पूल के आवधिक स्क्रबों को शेड्यूल करने के लिए क्रोन का उपयोग करना चाहूंगा, और कुछ समय के बाद स्क्रब खत्म होने के बाद खुद को स्थिति रिपोर्ट ईमेल करूंगा। इसका उद्देश्य किसी भी समस्या को पकड़ने के लिए मैन्युअल रूप से उन्हें देखने के लिए है (खींचने के बजाय धक्का)।
पहला भाग आसान है: zpool scrub $POOL
मेरी विशेष परिस्थिति में जो भी अंतराल उचित है, उसे जड़ के रूप में चलाने के लिए बस एक क्रॉन जॉब सेट करें ।
दूसरा भाग, मुझे यकीन नहीं है कि कैसे करना है। zpool scrub
तुरंत लौटता है और फिर सिस्टम द्वारा बैकग्राउंड में स्क्रब चलाया जाता है (जो निश्चित रूप से वांछनीय व्यवहार होता है अगर स्क्रब किसी टर्मिनल से व्यवस्थापक द्वारा शुरू किया गया हो)। zpool status
मुझे एक स्थिति रिपोर्ट देता है और बाहर निकलता है (बाहर निकलने के कोड 0 के साथ, जबकि स्क्रब चल रहा है; यह अभी तक समाप्त नहीं हुआ है, इसलिए मुझे नहीं पता है कि बाहर निकलने की स्थिति एक बार हो जाने के बाद बदल जाती है, लेकिन मुझे संदेह है)। ज़ूल स्क्रब के लिए प्रलेखित एकमात्र पैरामीटर -s
"स्क्रबिंग बंद करो" के लिए है।
मुख्य समस्या स्क्रबिंग से समाप्त स्क्रबिंग तक स्थिति के परिवर्तन का पता लगा रही है । यह देखते हुए कि बाकी जगह गिरना चाहिए।
आदर्श रूप से, मैं यह बताना चाहूंगा कि zpool scrub
जब तक स्क्रब खत्म नहीं हो जाता है, लेकिन मुझे ऐसा करने का कोई तरीका नहीं दिखता है। (यह केवल क्रोन को लगभग बहुत आसान बना देगा zpool scrub --wait-until-done $POOL; zpool status $POOL
।)
असफल होना, मैं सिस्टम से पूछना चाहता हूं कि क्या वर्तमान में एक स्क्रब चल रहा है, अधिमानतः एक तरह से जो अपग्रेड या कॉन्फ़िगरेशन परिवर्तन के साथ बहुत अधिक जोखिम नहीं उठाता है, ताकि मैं पहले से चल रहे या नहीं स्क्रब समाप्त हो गया है (एक रस्सियों की स्थिति को निष्पादित करके जब स्क्रब स्थिति स्क्रबिंग से स्क्रबिंग तक नहीं जाती है)।
यह विशेष सेटअप एक वर्कस्टेशन सिस्टम के लिए है, इसलिए जबकि एक निगरानी उपकरण जैसे कि नागियोस में संभवतः ऐड-इन है जो समस्या को हल करेगा, यह सिर्फ एक काम के लिए इस तरह के टूल को स्थापित करने के बजाय ओवरकिल महसूस करता है। क्या कोई समस्या के कम-तकनीकी समाधान का सुझाव दे सकता है?