প্রতিটি বুটের পরে আমি কীভাবে এমডিএডএম অটো-এসেম্বল করা RAID করতে পারি?


43

আমি সফলভাবে ব্যবহার করে একটি RAID (মিররিং) তৈরি করেছি mdadm। তবে, প্রতিটি বুটের পরে আমাকে অবশ্যই নিম্নলিখিত কমান্ডগুলি চালাতে হবে:

mdadm --stop --scan // to stop /dev/md127 - I don't know where the number 127 even comes from
mdadm --assemble --scan // to start /dev/md0

আমি কী ভুল করছি / বুটে এই কমান্ডগুলি চালানোর দরকার কেন? প্রতিটি (পুনরায়) বুট দিয়ে রেডকে অটো-স্টার্ট করার সঠিক উপায় কী?

উত্তর:


36

এনবি: আপনাকে হয় মূল হিসাবে লগ ইন করতে হবে, বা এই সমস্তগুলি করতে sudo ব্যবহার করুন ...

  • নীচে হিসাবে / etc/m دادm/m دادm.conf ফাইল তৈরি বা সম্পাদনা করতে আপনার প্রিয় সম্পাদক ব্যবহার করুন :

যদি ফাইলটিও উপস্থিত না থাকে তবে নিম্নলিখিতটি নতুন, খালি ফাইলে পেস্ট করুন:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
  • ফাইলটি সংরক্ষণ করুন

  • ফাইলের শেষে আপনার অ্যারে কনফিগারেশনে একটি রেফারেন্স যুক্ত করতে নিম্নলিখিত কমান্ডটি চালান:

    m دادm --detail --scan >> /etc/m دادm/m دادm.conf

এটি m دادm.conf এর শেষেতে নীচের মত একটি লাইন যুক্ত করা উচিত:

এআরআরএ / ডেভ / এমডি0 স্তর = রেইড 5 নাম্বার ডিভাইসগুলি = 3 মেটাডেটা = 00.90 ইউইউডি = a44a52e4: 0211e47f: f15bce44: 817d167c

Mddm কমান্ড যদি আরআর লাইনের উপরে অন্য কোনও জিনিস যোগ করে থাকে তবে এটি সরিয়ে ফেলুন। উদাহরণস্বরূপ, আমার একটি মেশিনে, কমান্ডটি 'এমডিএডিএম: মেটাডাটা ফর্ম্যাট 00.90 অজানা, উপেক্ষা করে ফিরে আসে।' এআরএ লাইনের আগে।

আপনার অ্যারেটি এখন বুট-এ স্বয়ংক্রিয়ভাবে তৈরি করা উচিত এবং সুতরাং এটি মাউন্ট করার জন্য আপনি / etc / fstab এ এন্ট্রি যুক্ত করতে পারেন (যদি এটি ইতিমধ্যে না থাকে)


6
আমি সম্ভবত যোগ করতে চাই: আপনার নিজের initramfs আপডেট করা উচিতupdate-initramfs -u
পাবলো মন্টেপাগানো

1
m دادm --detail --scan আমার সিস্টেমে কোনও কিছুই মুদ্রণ করে না, যদিও আমি নিশ্চিতভাবে জানি যে আমার দুটি পার্টিশন রয়েছে যা একটি রাইড0 (আয়না) এর অংশ। এ সম্পর্কে যে কোনও সাধারণ পরামর্শ স্বাগত।
লেনার্ট রোল্যান্ড

1
@ লেনার্টরোল্যান্ড - mdadm -Esপরিবর্তে চেষ্টা করুন।
slm

এটি আমার পক্ষে কাজ করে না, grub-install /dev/sdaএটি কাজ করতে আমাকে করতে হয়েছিল (আপনার উপযুক্ত কোনও জিনিসের জন্য
এসডিএ

বিকল্পভাবে আপনি কেবল কার্নেল বিকল্পটি ব্যবহার করতে পারেন: md.auto=1... আমি আসলে এটি পুরোপুরি পরীক্ষা করে দেখিনি তবে ধারণা করা যায় এটি তাদের সনাক্ত করে এবং তাদের একত্রিত করে (বা কমপক্ষে এটি করার চেষ্টা করে)। তবে তারপরে kernel.org/doc/html/v4.15/admin-guide/md.html এতে কিছুটা অস্পষ্ট: যখন এমডি কার্নেলের মধ্যে সংকলিত হয় (মডিউল হিসাবে নয়), 0xfd টাইপের পার্টিশনগুলি স্ক্যান করে স্বয়ংক্রিয়ভাবে একত্রিত হয় RAID অ্যারেতে। [...] কার্নেল ২.6.৯ অনুসারে, কেবলমাত্র 0 টি ধরণের সুপারব্লকযুক্ত ড্রাইভগুলি স্বয়ংক্রিয় অনুসন্ধান এবং বুট সময়ে চালানো যেতে পারে। এবং এটি এমডি.আউটো (বা যা কিছু ছিল) উল্লেখ করে না তাই আমি এখনই নিশ্চিত নই।
প্রাইফটান

7

আমি বুঝতে পেরেছি এটি একটি পুরানো প্রশ্ন, তবে উবুন্টু সার্ভার 12.04 এর 32-বিট সংস্করণে এটি নিয়ে আমার হতাশার সময় ছিল।

চলমান mdadm --detail --scan >> /etc/mdadm/mdadm.confলাইন সংযুক্ত

এআরএআরএ / দেব / এমডি0 মেটাডেটা = 1.2 নাম = উবুন্টু: 0 ইউইউডি = a8a570c6: 96f61865: 05abe131: 5c2e2f7e

পুনরায় বুট করার পরে আমি কখনই / dev / md0 দেখতে পেতাম না। mdadm --detail --scanআবার চালাচ্ছি (ফলাফল কোনও ফাইলে না রেখে) আমি দেখতে পাবো

এআরএআরএ / দেব / এমডি / উবুন্টু: 0 মেটাডেটা = 1.2 নাম = উবুন্টু: 0 ইউইউডি = a8a570c6: 96f61865: 05abe131: 5c2e2f7e

এবং ম্যানুয়ালি মাউন্টিং /dev/md/ubuntu:0কাজ করবে। শেষ পর্যন্ত, এটাই আমি এফস্ট্যাব ফাইলে রেখেছিলাম।

আমি কী ভুল করেছিলাম তা নিশ্চিত নই, উবুন্টু ১২.০৪-তে এটি যদি এইভাবে চলে তবে বা এটি যদি খারাপ অভ্যাস হয়। আমার জন্য কী কাজ করেছে তা কেবল ভাগ করে নিতে চেয়েছি।


এখানে একই "সমস্যা"। যদিও এটি সমস্যা কিনা তা নিশ্চিত নন ..
ক্রিস্টোফ ডি ট্রয়ের

3

ডেবিয়ান হুইজিতে আরও একটি ধাপ প্রয়োজন: /etc/default/mdadmসেট থেকে অটোস্টার্ট মিথ্যা থেকে সত্য to

#স্বয়ংক্রিয় শুরু:
# এমডিএমডিএম /etc/m دادm/mdadm.conf এ স্বয়ংক্রিয়ভাবে তালিকাভুক্ত অ্যারে শুরু করা উচিত
# বুটের সময়?
স্বতঃসূচনা সত্য =

এছাড়াও বিকল্পটির mdadm -Es >>/etc/mdadm/mdadm.confপরিবর্তে আমাকে ব্যবহার করতে হয়েছিল --scan, কারণ এটি আমার পক্ষে কার্যকর হয়নি।


3
sudo mdadm -Es >> /etc/mdadm/mdadm.conf

এখন নিম্নলিখিত উপায়ে /etc/m دادm/mdadm.conf এ যুক্ত লাইনগুলি সম্পাদনা করুন। সমস্ত কিছু মুছুন, তবে মৌলিক অংশগুলি। এটা দেখতে হবে

ARRAY /dev/md5 UUID=031cea92:50a7a28c:6b077fe7:8817092a
ARRAY /dev/md6 UUID=53454954:4044eb66:9169d1ed:40905643

দ্রষ্টব্য: আপনি আপনার সুবিধার জন্য এক্স ইন এমডিএক্সএক্স চয়ন করতে পারেন।

এখন রিবুট করুন

sudo update-initramfs -u
sudo reboot

সম্পাদনা: কমান্ড সংশোধন করা হয়েছে।


আমি লিখেছিলাম কারণ Linker3000 এর উত্তর আমার পক্ষে কার্যকর হয়নি।
জন্মগ্রহণ

3

আমার রাস্পবেরি পাই 2 চলমান রাস্পবিয়ান জিএনইউ / লিনাক্স 8 (জেসি) এ আমার সমস্যা ছিল। আমার একটি RAID অ্যারে ছিল /dev/sda1এবং /dev/sdb1যা বুটে একত্রিত হতে ব্যর্থ হয়েছিল। আমার /etc/mdadm/mdadm.confফাইল এন্ট্রি ছিল

ARRAY /dev/md/0  metadata=1.2 UUID=53454954:4044eb66:9169d1ed:40905643 name=raspberrypi:0 

(আপনার সংখ্যা পৃথক হবে; এটি কীভাবে পাবেন সে সম্পর্কে অন্যান্য উত্তর দেখুন))

আমার /etc/fstabফাইল এন্ট্রি ছিল

/dev/md0        /data           ext4    defaults          0       0

(এবং অবশ্যই /dataসত্যই বিদ্যমান ছিল)

ও.পি. এর মতো, আমি বুট করার পরে হাতছাড়া করে RAID অ্যারে একত্রিত করতে এবং মাউন্ট করতে পারতাম, তবে দৃশ্যত সঠিকভাবে সেট আপ করা সত্ত্বেও বুটের সময় এটি স্বয়ংক্রিয়ভাবে ঘটতে পারি না get

আমি নিম্নলিখিত হিসাবে সমস্যাটি সমাধান করতে সক্ষম হয়েছি। আমি স্ক্রিপ্টটি তদন্ত করেছি /etc/init.d/mdadm-raidএবং ডিবাগ কোডের একটি লাইন প্রবেশ করিয়েছি

ls /dev > /home/pi/devices.txt

পুনরায় বুট করা এবং এই ফাইলটি পরীক্ষা করে শিখেছি যে সূচনাটি ঘটেছিল তখন ডিভাইস /dev/sdaএবং /dev/sdbঅস্তিত্ব ছিল mdadm-raid, তবে পার্টিশনগুলি ছিল /dev/sda1এবং /dev/sdb1অনুপস্থিত ছিল। আমি /etc/init.d/mdadm-raidফাইলটি সম্পাদনা করে লাইনটি .োকালাম

partprobe

শিরোনামের পরে (অর্থাত্ ### END INIT INFOস্ক্রিপ্ট শুরু হওয়ার আগে তবে) এর ফলে পার্টিশনগুলি সনাক্ত করা যায় এবং mdadm-raidসমস্যাটি সমাধান করে স্ক্রিপ্টটি RAID অ্যারে একত্রিত করতে সক্ষম হয়। আশা করি এটি কাউকে সাহায্য করবে!


0

আমি এর সাথে রাস্পবিয়ান-এর সাথে একটি রাস্পবেরি পাইতে কয়েক জোড়া বহিরাগত ইউএসবি এইচডিডি ব্যবহার করে লড়াই করছি। ইউডিবি ড্রাইভগুলি ইউদেভ দ্বারা স্বীকৃত হওয়ার পরে কিন্তু চেকফএস.এসএসের আগে (যা বুট করার সময় ফাইল সিস্টেমগুলি পরীক্ষা করে) এমডিডেম-রেইড শুরু হয়েছিল তা নিশ্চিত করার জন্য আমাকে পরিষেবাগুলির শুরু আদেশের সাথে জগাখিচুড়ি করতে হয়েছিল। যদি এমডডেম-রেইড খুব তাড়াতাড়ি শুরু হয় তবে ড্রাইভগুলি উপলব্ধ ছিল না এবং তাই অ্যারেটি একত্রিত হয়নি। এর অর্থ হ'ল fsck পরবর্তীকালে ব্যর্থ হয়েছিল এবং বুট প্রক্রিয়াটি রক্ষণাবেক্ষণের প্রম্পটে বাদ পড়ে (কারণ অন্যান্য পরিষেবার জন্য রেইড অ্যারে প্রয়োজনীয়)।

চেকরোট.শ এর পরে এমডডেম-রেইড শুরু করার জন্য বুট নির্ভরতা পরিবর্তন করে তবে চেকফস.শ এবং চালনার আগে update-rc.d mdadm-raid defaults, update-initramfs -uv -k `uname -r`(নোট ব্যাকটিক্স চারপাশে uname) এটি স্থির করে (শেষ পর্যন্ত)। আমার জন্য, যাইহোক, ওয়াইএমএমভি।


নোট করুন যে উপরের নামটি অ-ব্যাক-টিকগুলিতে থাকার কথা, তবে কীভাবে সেগুলি এড়াতে হবে তা আমি বুঝতে পারি না যাতে তারা এখানে মুদ্রিত হয়েছে ...
রডনি

এটি রাস্পবিয়ান এর কোন সংস্করণ ছিল? আমি হুইজির উপর এটি বেশ ভালভাবে কাজ করেছি, তবে জেসির প্রতি কৃত্রিমতার ফলে বুটে জমায়েত হওয়া ভেঙে গেছে।
নওয়ালথাম

0

আমি চেষ্টা করেছিলাম

mdadm --create /dev/md/abcdef ...

আমি দেখতে পাচ্ছি যে সফটলিঙ্কটি /dev/md/abcdefপুনরায় বুটগুলিতে স্থির রয়েছে এবং যদি প্রয়োজন হয় তবে সফ্ট লিঙ্কের মাধ্যমে ডিভাইসটি অ্যাক্সেস করা উচিত।

এটি কি গ্রহণযোগ্য সমাধান?


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