কীভাবে সফ্টওয়্যার রাইড রিসাইনকে বাধা দেবে?


50

আমি একটি ডেবিয়ান স্কিজে সফ্টওয়্যার আক্রমণে একটি চলমান রিসাইঙ্ক অপারেশন বাধতে চাই। (এটি নিয়মিত নির্ধারিত তুলনা পুনরায় সংযোগ। রাইড অ্যারে এখনও এমন ক্ষেত্রে পরিষ্কার a

চলমান চলাকালীন পুনরায় নির্ধারিত পুনরায় সংক্রামক ক্রিয়াকলাপটি কীভাবে বন্ধ করবেন? আরেকটি রেইড অ্যারে হ'ল "রিসাইঙ্ক মুলতুবি", কারণ তারা সকলেই একের পর এক একই দিনে (রবিবার রাতে) চেক হয়ে যায়। আমি এই রবিবার রাতটি পুনরায় সংমিশ্রণের সম্পূর্ণ স্টপ চাই।

[সম্পাদনা: sudo kill -9 1010এটি থামায় না, 1010 হ'ল md2_resync প্রক্রিয়াটির পিআইডি]

আমি আরও জানতে চাই যে আমি কীভাবে রিসাইঙ্কগুলি এবং পরেরটি অবধি অবধি সময়ের মধ্যে অন্তরগুলি নিয়ন্ত্রণ করতে পারি।

[সম্পাদনা 2: আমি এখন যা করেছি তা হ'ল পুনরায় সংযোগটি খুব ধীরগতিতে চালিত করা, যাতে এটি আর বিরক্ত হয় না:

sudo sysctl -w dev.raid.speed_limit_max=1000

http://www.cyberciti.biz/tips/linux-ided-increase-resync-rebuild-speed.html থেকে নেওয়া

রাতের বেলা আমি এটিকে আবার একটি উচ্চ মূল্যে সেট করব, যাতে রিসাইকটি শেষ করতে পারে।

এই কর্মক্ষেত্রটি বেশিরভাগ পরিস্থিতিতেই ঠিক আছে, তবে আমি যা জিজ্ঞাসা করেছি তা সম্ভব কিনা তা জানতে আগ্রহী হবে। উদাহরণস্বরূপ, এটি অ্যারে বাড়ানো সম্ভব হবে বলে মনে হচ্ছে না, যখন এটি "মুলতুবি" পুনরায় সিজন বা পুনরায় সেট করছে]]


আমি মনে করি না বলগুলি একটি রিসাইক বাতিল করার জন্য পেয়েছে। আমি আশঙ্কা করি এটি আর কখনও শুরু নাও হতে পারে।
টম ও'কনোর

1
@ টম: এটি কেবলমাত্র স্বাভাবিক সংমিশ্রণ যা প্রতিটি মিলের সাথে মিল থাকলে প্রতিটি সূর্য পরীক্ষা করে। যদি এটি বন্ধ হয়ে যায় (যেমন মেশিনটি বন্ধ করে) এটি পরবর্তী বুটে চালিয়ে যায়।
আদম 5

ওহ ঠিক আছে. ঠিক আছে তবে
টম ও'কনর

উত্তর:


48

যদি আপনার অ্যারে md0তারপরecho "idle" > /sys/block/md0/md/sync_action

'নিষ্ক্রিয়' একটি সক্রিয় পুনরায় সংযোগ / পুনরুদ্ধার বন্ধ করে দেবে another ইত্যাদি গ্যারান্টি নেই যে আর একটি পুনরায় সংযোগ / পুনরুদ্ধার স্বয়ংক্রিয়ভাবে আবার শুরু হবে না, যদিও এটির ট্রিগার করার জন্য কিছু ইভেন্টের প্রয়োজন হবে।

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


আমি টেক্সটফাইলে এর অনুমতিগুলি পরিবর্তন করার পরে আপডেট করতে পারলাম, তবে ফাইলের সামগ্রীটি একই পরিস্থিতিতে পিছন থেকে "রিসাইঙ্ক" এ ফিরে গেছে। এবং পুনরায় সংযোগ অন্যান্য অ্যারেতে অব্যাহত থাকে (যা আগে "মুলতুবি ছিল")। আমি যখন অন্য অ্যারের ফাইলটিতে "নিষ্ক্রিয়" লিখি তখন তা আবার অদলবদল হয়, কিন্তু কখনও থামে না।
আদম 5

2
যদি আপনার একাধিক অভিযান থাকে: ইকো অলস | সুডো টি / সিএস / ব্লক / এমডি * / এমডি / সিঙ্ক_অ্যাকশন
ওলে

আসলে "নিষ্ক্রিয়" কেবলমাত্র চেকটি বিরতি দেয়। পরবর্তী "চেক" /sys/block/md0/md/sync_min’. To reset this write এই ফাইলটিতে 0` এ অবিরত থাকবে ।
rudimeier

33

আমি অন্য কম্পিউটারে কিছু জিনিস ব্যাকআপ রাখতে কিছু I / O সংরক্ষণ করতে পুনরায় সংযোগ প্রক্রিয়াটি ধীর করতে বা বিরতি দিতে চেয়েছিলাম। এই থ্রেডটি আমাকে সহায়তা করেছিল তবে আমি আরও একটি সমাধান পেয়েছি।

আমার ডেবিয়ান লেনির প্রতি:

  • echo "idle" > /sys/block/md0/md/sync_action কাজ করে তবে সাথে সাথে রিসাইক প্রক্রিয়াটি আবার শুরু হয়।

  • checkarray -x --all : কাজ করে তবে একই ফলাফল: পুনরায় সংযোগ প্রক্রিয়াটি তত্ক্ষণাত পুনরায় আরম্ভ করা হবে।

সুতরাং আমি এই পদ্ধতিটি ব্যবহার করি: echo 0 > /proc/sys/dev/raid/speed_limit_max


1
আকর্ষণীয় পদ্ধতির। আমি দেখতে পেয়েছি যে আপনার গতি_লিমিট_মিনিয়ায় মানটিও নিচে নামাতে হবে।
ডায়োমিডিস স্পিনেলিস

1
speed_limit_minপুনরায় সিঙ্কটি পুরোপুরি বিরতি দেওয়ার জন্য আমার 0 তেও সেট করতে হবে।
njahnke

12

নিম্নলিখিত কমান্ডের ক্রম (রুট হিসাবে) ব্যবহার করে আপনি একটি অ্যারে রিসাইক বাতিল করতে পারেন:

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

মনে রাখবেন যে এটি আপনার অ্যারেটিকে অসঙ্গতিপূর্ণ অবস্থায় ফেলে যেতে পারে । আপনি নিশ্চিত না হন যে অ্যারেটি ভাল অবস্থায় আছে এবং সিঙ্কটি পরে পুনরায় চালু না করা পর্যন্ত এটি করবেন না।

(ক্রেডিট যেখানে creditণের শর্ত রয়েছে: এই থ্রেডটিতে এই প্রসারণটি পাওয়া গেছে ))


8

উপরে উল্লিখিত হিসাবে, ডেবিয়ান / উবুন্টু সিস্টেমে /etc/cron.d/mdadmস্ক্রিপ্টটি /usr/share/mdadm/checkarrayপুনরায় সিঙ্ক চেক শুরু করার জন্য স্ক্রিপ্টটিকে অনুরোধ করে।

এই স্ক্রিপ্টে সমস্ত চলমান সিঙ্ক চেক বাতিল করার জন্য একটি বিকল্প রয়েছে:

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

3

কীভাবে পুনরায় সিঙ্কটি বাতিল করবেন সে সম্পর্কে নিশ্চিত নন, তবে সময়সূচিটি /etc/cron.d/mdadmডেবিয়ান / উবুন্টু সিস্টেমে নিয়ন্ত্রণ করা হবে।

স্ক্রিপ্টটি /usr/share/mdadm/checkarrayআপনার প্রশ্নের অন্য অংশে কিছুটা আলোকপাত করতে পারে, যেহেতু ক্রোন দ্বারা এটি ডাকা হচ্ছে।


3

যদি আপনার এমডি ডিভাইসটি এমডি0 হয় এবং আপনি পুনরায় সংযোগ রচনাটি থামাতে চান:

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

3

এর সম্ভাব্য সমাধান, বিশদটি পেতে কিছুটা সময় নিয়েছিল।

আমার সিস্টেম: CentOS 6.5 এমডিএডএম v3.3.2

প্রতি সপ্তাহে নিয়মিত চেক, তার মধ্যে একটিকে বিরতি দিতে চেয়েছিল, RAID পরিষ্কার, চেকটি /etc/cron.d/ ভয়- চেক স্ক্রিপ্টের মাধ্যমে ডাকা হত যা সাপ্তাহিক চলমান।

চেকটি বাতিল করতে, আপনি - - বিস্মৃত - ক্রিয়াকলাপটি ব্যবহার করেন। RAID ডিভাইসটি ধরে নেওয়া / dev / md0 এবং এটি কেবল সাপ্তাহিক ধারাবাহিকতা পরীক্ষা এবং কোনও ডিভাইস ব্যর্থতা নয়, আপনি মূল হিসাবে যাবেন:

mdadm --misc --action = idle / dev / md0

তেমনি, ধারাবাহিকতা পরীক্ষা শুরু করতে

mdadm --misc --action = চেক / দেব / এমডি0


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

/ সিএস / ব্লক / এমডি * / এমডি / সিঙ্ক_অ্যাকশনটি যখন "রিসাইক" হয় তখন কাজ করে না (এর রাজ্যটি "চেক" বা "মেরামত" এর বিপরীতে হয় You আপনি সিঙ্ক_অ্যাকশন ফাইলটিতে "নিষ্কলুষ" প্রতিধ্বনি করতে পারেন, তবে এটি প্রভাবিত করে না । উন্নতি এই কার্নেল ডকুমেন্টেশন ফাইল এখানে ভুল যে এটি কাজ করবে, কিন্তু এটা আমার জন্য কাজ না হয়েছে:

'নিষ্ক্রিয়' একটি সক্রিয় পুনরায় সংযোগ / পুনরুদ্ধার বন্ধ করে দেবে another ইত্যাদি গ্যারান্টি নেই যে আর একটি পুনরায় সংযোগ / পুনরুদ্ধার স্বয়ংক্রিয়ভাবে আবার শুরু হবে না, যদিও এটির ট্রিগার করার জন্য কিছু ইভেন্টের প্রয়োজন হবে।


1
তবে আপনি এই অবস্থায় / সিস / ব্লক / এমডি * / এমডি / সিঙ্ক_স্পিড_ম্যাক্সের সাথে "রিসাইঙ্ক" এর হারকে প্রভাবিত করতে পারেন। ডকুমেন্টেশন কেন ভুল তা আমি নিশ্চিত নই, সম্ভবত কেউ জানে না
ব্রায়ান

জানতে দয়া করে সময় এক মিনিট সময় নিতে স্ট্যাক এক্সচেঞ্জ markdown সিনট্যাক্স ( meta.serverfault.com/editing-help )
সেভেন

0

আমি জানি এটি একটি 4 বছরের পুরানো পোস্ট তবে আপনি এটিও করতে পারেন (এমডি 0টিকে অ্যারে হিসাবে ধরে এবং sdb4টিকে পুনরায় সংযুক্তকরণ "ডিস্ক" হিসাবে ধরে):

    mdadm /dev/md0 --fail /dev/sdb4 && mdadm /dev/md0 --remove /dev/sdb4

এই কমান্ডটি sdb4 কে একটি ব্যর্থ ডিস্ক হিসাবে ভান করে এবং তাই এটি পুনরায় সংযোগ বন্ধ করে অ্যারে থেকে কিক্স করে। যদি রিসাইক-স্টপ অ্যাকশন চলাকালীন কোনও ত্রুটি না ঘটে থাকে তবে এই কমান্ডটি md0 অ্যারে থেকে sdb4 মুছে ফেলবে। যদি কোনও ত্রুটি হয় তবে ডিস্কটি ব্যর্থ অবস্থায় থাকে তবে অ্যারেতে থাকে।

আপনি যে কোনও জায়গায় কোনও ডিস্ক ব্যর্থ হলে mdadm, আপনি এটিকে যৌক্তিকভাবে ব্যর্থ করে দিয়েছেন। অ্যারেটি যদি পরিষ্কার থাকে (অবনমিত হয় না) তবে ডিস্কটি সামঞ্জস্যপূর্ণ থাকে এবং - ADD << ডিস্ক >> --াস্যাসিউম-ক্লিন অপশনটি কোনও ভয় ছাড়াই পুনরায় যুক্ত করা যায়। এটি আলাদা করার পরে যদি কোনও পদক্ষেপ থাকে (যেমন, পুনরায় সংশ্লেষ, পুনর্নির্মাণ, বা এমনকি একটি লিখন) - তবে পরিশ্রম-পরিচ্ছন্ন ব্যর্থ হয়ে যাবে এবং তত্ক্ষণাত একটি সংলাপের ক্রিয়া শুরু করবে।

পরিবর্তন করা raid.speed_limit_minএবং raid.speed_limit_maxএকরকম একটি খারাপ ধারণা কারণ এটি কেবল গতি পুনরায় সংযোগ / পুনর্নির্মাণকেই নয় সাধারণ অপারেশন গতিকেও প্রভাবিত করে এবং সম্ভবত আপনি RAID অ্যারে ব্যবহার করে প্রাপ্ত প্রচুর কর্মক্ষমতা হারাবেন।


5
আমি মনে করি RAID থেকে স্বাস্থ্যকর ডিস্ক অপসারণ করা খারাপ ধারণা। বেশিরভাগ সময় এটি কোনও সমস্যা নাও করতে পারে তবে প্রতিবার আপনি এটি করলে ডেটা ক্ষতি বা ডেটা দুর্নীতি হওয়ার ঝুঁকি থাকে।
কাস্পারড

1
কখনও এই কাজ করবেন না। আপনি যদি --assume-cleanকোনও লাইভ সিস্টেমে একটি ডিস্ক যুক্ত করেন এবং আপনার যদি বাকী ডিস্কে কোনও লেখার ঘটনা ঘটে থাকে, আপনি সমস্যার জন্য বলছেন।
সনমাই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.