सवाल सॉफ्टवेयर RAID RAIDync को बाधित कैसे करें?


मैं एक डेबियन निचोड़ सॉफ्टवेयर RAID पर एक चल रहे resync ऑपरेशन को बाधित करना चाहता हूँ। (यह नियमित अनुसूचित तुलना resync है। RAID मामले अभी भी इस तरह के मामले में साफ है। डिस्क विफल होने के बाद इसे पुनर्निर्माण के साथ भ्रमित न करें और प्रतिस्थापित किया गया।)

यह चल रहा है, जबकि इस अनुसूचित resync ऑपरेशन को कैसे रोकें? एक और RAID सरणी "resync लंबित" है, क्योंकि वे सभी एक ही दिन (रविवार रात) एक दूसरे के बाद चेक हो जाते हैं। मैं इस रविवार की रात के पुनर्वितरण का पूरा रोकना चाहता हूं।

[संपादित करें: sudo kill -9 1010 इसे रोक नहीं है, 1010 md2_resync प्रक्रिया का पीआईडी ​​है]

मैं यह भी जानना चाहूंगा कि मैं resyncs और अगले समय तक रहने वाले समय के बीच अंतराल को कैसे नियंत्रित कर सकता हूं।

[संपादित 2: अब मैंने जो किया था, वह रेजिनक बहुत धीमा हो गया था, इसलिए यह अब परेशान नहीं होता है:

sudo sysctl -w dev.raid.speed_limit_max=1000

से लिया गया http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html

रात के दौरान मैं इसे एक उच्च मूल्य पर वापस सेट कर दूंगा, इसलिए resync समाप्त हो सकता है।

यह कामकाज ज्यादातर स्थितियों के लिए ठीक है, फिर भी यह जानना दिलचस्प होगा कि मैंने जो पूछा वह संभव है। उदाहरण के लिए, सरणी को बढ़ाना संभव नहीं लगता है, जबकि यह "लंबित" को पुनर्वितरण या पुनर्वितरण कर रहा है]


45
2017-12-27 19:20


मूल


मुझे नहीं लगता कि मुझे गेंदों को एक रेजिन रद्द करने के लिए मिला है। मुझे डर है कि यह फिर से शुरू नहीं हो सकता है। - Tom O'Connor
@ टॉम: यह केवल सामान्य रेजिनक है जो हर रविवार से जांचता है अगर सबकुछ मेल खाता है। अगर यह रुक गया है (उदाहरण के लिए मशीन को बंद करके) यह अगले बूट पर जारी रहता है। - Adam5
ओह ठीक। ठीक है तो - Tom O'Connor


जवाब:


यदि आपकी सरणी है md0 फिर echo "idle" > /sys/block/md0/md/sync_action

'निष्क्रिय' एक सक्रिय बंद कर देगा   resync / वसूली आदि वहाँ नहीं है   गारंटी है कि एक और resync / वसूली   स्वचालित रूप से शुरू नहीं हो सकता है   फिर, हालांकि कुछ घटना होगी   इसे ट्रिगर करने के लिए आवश्यक है।

http://www.mjmwired.net/kernel/Documentation/md.txt#477


46
2017-12-27 21:05



मैं इसकी अनुमतियों को बदलने के बाद टेक्स्टफाइल को अपडेट कर सकता हूं, लेकिन फ़ाइल की सामग्री को उसी उदाहरण में पीछे से "resync" में बदल दिया गया है। और resync अन्य सरणी पर जारी है (जो पहले "लंबित" था)। जब मैं अन्य सरणी की फ़ाइल में "निष्क्रिय" लिखता हूं तो यह फिर से बदल जाता है, लेकिन कभी नहीं रुकता है। - Adam5
यदि आपके पास कई छापे हैं: गूंज निष्क्रिय करें सुडो टी / सीएस / ब्लॉक / एमडी * / एमडी / सिंक_एक्शन - Ole Tange
असल में "निष्क्रिय" केवल चेक रोक देता है। अगला "चेक" जारी रहेगा /sys/block/md0/md/sync_min’. To reset this write इस फ़ाइल में 0`। - rudimeier


मैं किसी अन्य कंप्यूटर पर कुछ सामान बैकअप लेने के लिए कुछ I / O को सहेजने के लिए resync प्रक्रिया को धीमा या रोकना चाहता था। इस धागे ने मेरी मदद की लेकिन मुझे एक और समाधान मिला।

मेरे डेबियन लेनी पर:

  • echo "idle" > /sys/block/md0/md/sync_action काम करता है लेकिन resync प्रक्रिया तुरंत पुनरारंभ किया जाता है।

  • checkarray -x --all : काम करता है, लेकिन एक ही परिणाम: resync प्रक्रिया तुरंत पुनरारंभ किया जाता है।

तो मैं इस विधि का उपयोग करता हूं: echo 0 > /proc/sys/dev/raid/speed_limit_max


27
2017-10-04 10:09



दिलचस्प दृष्टिकोण। मैंने पाया कि आपको speed_limit_min में मान को कम करने की भी आवश्यकता है। - Diomidis Spinellis
मुझे भी सेट करने की जरूरत है speed_limit_min पूरी तरह से resync को रोकने के लिए 0 करने के लिए। - njahnke


आप आदेशों के निम्न अनुक्रम (रूट के रूप में) का उपयोग करके प्रगति में एक सरणी resync को रद्द कर सकते हैं:

echo frozen > /sys/block/md0/md/sync_action
echo none > /sys/block/md0/md/resync_start
echo idle > /sys/block/md0/md/sync_action

ध्यान दें कि यह आपकी सरणी को असंगत स्थिति में छोड़ सकता है। ऐसा तब तक न करें जब तक आप सुनिश्चित न हों कि सरणी अच्छी आकार में है, और बाद में सिंक को दोबारा शुरू करें।

(क्रेडिट जहां क्रेडिट देय है: इस incantation पाया इस धागे में।)


8
2017-12-22 06:57





ऊपर वर्णित अनुसार, डेबियन / उबंटू सिस्टम पर /etc/cron.d/mdadm लिपि ने आह्वान किया /usr/share/mdadm/checkarray री-सिंक चेक शुरू करने के लिए स्क्रिप्ट।

इस स्क्रिप्ट में सभी चल रहे सिंक चेक को रद्द करने का विकल्प है:

/usr/share/mdadm/checkarray -x --all

8
2018-05-24 16:26





पुन: सिंक को रद्द करने के बारे में निश्चित नहीं है, लेकिन शेड्यूल द्वारा नियंत्रित किया जाता है /etc/cron.d/mdadm डेबियन / उबंटू सिस्टम पर।

लिपी /usr/share/mdadm/checkarray आपके प्रश्न के दूसरे भाग पर कुछ प्रकाश डाल सकता है, क्योंकि क्रॉन द्वारा यही कहा जा रहा है।


3
2017-12-27 19:36





यदि आपका एमडी डिवाइस md0 है और आप resync लिखना बंद करना चाहते हैं:

echo "idle" > /sys/block/md0/md/sync_action

3
2017-07-03 23:30





echo "idle" > /sys/block/md0/md/sync_action

काम नहीं करता है जब / sys / block / md * / md / sync_action "resync" है (इसके विपरीत अगर इसकी स्थिति "चेक" या "मरम्मत" है। आप सिंक_एक्शन फ़ाइल में "निष्क्रिय" गूंज सकते हैं, हालांकि इससे प्रभाव नहीं पड़ता है प्रगति। यह कर्नेल प्रलेखन फ़ाइल यहाँ गलत तरीके से बताता है कि यह काम करेगा, लेकिन यह मेरे लिए कभी काम नहीं किया है:

'निष्क्रिय' एक सक्रिय resync / वसूली इत्यादि बंद कर देगा। कोई गारंटी नहीं है   कि एक और resync / वसूली स्वचालित रूप से फिर से शुरू नहीं हो सकता है,   हालांकि इसे ट्रिगर करने के लिए कुछ घटना की आवश्यकता होगी।


2
2017-10-29 01:18



हालांकि आप इस स्थिति में "resync" / sys / block / md * / md / sync_speed_max के साथ "resync" की दर को प्रभावित कर सकते हैं। मुझे यकीन नहीं है कि क्यों डॉक्यूमेंटेशन गलत है, शायद कोई भी नहीं जानता - brian
कृपया सीखने के लिए एक मिनट का समय लें स्टैक एक्सचेंज मार्कडाउन सिंटैक्स (meta.serverfault.com/editing-help) - Sven♦