লিনাক্স এমডি রেড: / দেব / এমডি0 বনাম / দেব / এমডি / ০


19

নতুন সিস্টেমে /usr/share/mdadm/mkconf(স্ক্রিপ্টটি তৈরিতে ব্যবহৃত হয় /etc/mdadm/mdadm.conf) এর /dev/md/0পরিবর্তে ডিভাইসের নাম ব্যবহার করতে ঝোঁক /dev/md0:

new-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md/0 metadata=1.2 UUID=a0021927:0e4f10bf:2c47dc72:ca0b352e name=unassigned:0

এটি /dev/md0সেখানে প্রত্যাশাকারী ব্যবহারকারীদের জন্য কিছুটা জ্বালা করতে পারে , তবে স্পষ্টতই এটি ঠিক কাজ করে কারণ সার্ভারটি সমস্যা ছাড়াই বুট করে।

ইন /proc/mdstatডিভাইস এখনও বলা হয় /dev/md0:

new-system ~ # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb2[2] sda2[0]
      1953381184 blocks super 1.2 [2/2] [UU]

unused devices: <none>

lsএটি /dev/md/0সিলেলিংক দেখায় /dev/md0:

new-system ~ # ls -l /dev/md/0 
lrwxrwxrwx 1 root root 6 Nov 20 14:06 /dev/md/0 -> ../md0

অন্য কোনও পুরানো সিস্টেমে mkconfএখনও এর /dev/md0পরিবর্তে ব্যবহার করা হয় এবং /dev/mdখালি রয়েছে:

old-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md0 UUID=76472cf5:83fd8e5a:ad617046:69b2ebf1
old-system ~ # ls -l /dev/md
total 0

আমি এই ডিভাইসের নামের মধ্যে পার্থক্য জানতে চাই এবং আমি গুগলে কোনও ব্যাখ্যা খুঁজে পাচ্ছি না। /dev/mdNপুরানো নামটি কি এবং ডিভাইসের নামগুলিতে mdস্থানান্তরিত করার পরিকল্পনা করছে /dev/md/N? এই পরিবর্তনটি কি 1.2 মেটাডেটার সাথে সম্পর্কিত (আমি লক্ষ্য করেছি যে নতুন সার্ভারটি এমডি 1.2 ব্যবহার করছে, যখন পুরানোটি এখনও 0.90 ব্যবহার করছে)?


সম্পাদনা 2017-09-11: আমি মনে করি ক্রিজিসটোফ স্টাসিয়াকের উত্তরটি সঠিক। আমি এই প্রশ্নটি সম্পর্কে পুরোপুরি ভুলে গেছি। গত শুক্রবার একটি রেডের সাথে খেলার সময় আমি ভেবেছিলাম "জটিল সেটআপগুলিতে এমডি0, এমডি 1, এমডি 2, ... ইত্যাদি কী করে তা মুখস্থ করার পরিবর্তে আমার অ্যারের নাম রাখবেন না?", এবং তাই আমি চেষ্টা করেছি:

test-server ~ # mdadm --assemble /dev/mdfoobar /dev/loop[01]
mdadm: /dev/mdfoobar is an invalid name for an md device.  Try /dev/md/mdfoobar

এবং প্রকৃতপক্ষে এটি কাজ করে:

test-server ~ # mdadm --assemble /dev/md/foobar /dev/loop[01]
mdadm: /dev/md/foobar has been started with 2 drives.

test-server ~ # ll /dev/md/foobar 
lrwxrwxrwx 1 root root 6 Sep 11 10:45 /dev/md/foobar -> ../md0

test-server ~ # cat /proc/mdstat 
Personalities : [raid1]
md0 : active (auto-read-only) raid1 loop0[0] loop1[1]
      102272 blocks super 1.2 [2/2] [UU]

unused devices: <none>

(আপনিও করতে পারেন mdadm --assemble foobar DEV...)।

man mdadmবিভাগে একটি বিস্তারিত ব্যাখ্যা আছে DEVICE NAMES



@ ফ্রস্টসচুটজ আহ, সুতরাং mdadm -Eবর্তমানে যে unassigned:0নতুন অ্যারে সার্ভারে রয়েছে তার থেকে অ্যারের নামটি বিভক্ত হয়ে গেছে :, এবং দ্বিতীয় অংশটি এর অংশ হয়ে যায় /dev/md/<name>? সুতরাং আমি যদি অ্যারে নামটি পরিবর্তন করে রাখি unassigned:asdf, তবে সিএমলিংক বলা হবে /dev/md/asdf? এবং আসল ডিভাইসটিকে সর্বদা ডাকা হয় /dev/mdN, এন পরবর্তী ফ্রি নম্বরটি কোথায়?
মার্টিন ভন উইটিচ

1
আপনি এটি সেভাবে ব্যবহার করতে পারেন, তবে কেউ তা করে না; মত যেহেতু সাধারণত MD একটি লাইভ সিডি আপনার হোস্টনেম সেট করা নেই, ইত্যাদি একটি নাম থেকে তৈরি করা হয় এটা সত্যিই কাজ, করে unassigned:0শুধু braindead হয়।
frostschutz

উত্তর:


1

আপনি নিজের নাম হিসাবে অ্যারে নাম রাখতে পারবেন (কেবল 0-127 নয়) এবং এমডিএমডিএম 3.0.3 থেকে আপনি কেবল নাম ব্যবহার করতে পারেন। যদি ভাবেন যে পথটি /dev/md/$nameআরও নমনীয়তা বা কোনও ধরণের ক্লিন বা গ্রুপ অ্যারে তৈরি করতে সাবফোল্ডার ব্যবহার করার জন্য পরিবর্তন করা হয়েছিল । যদি এমডি অ্যারেটি ফর্ম্যাটে তৈরি করা হয় তবে /dev/mdXসেখানে নতুন ফর্ম্যাটে সামঞ্জস্য করার জন্য সিএমলিংক যুক্ত করা হবে।


1

ডিভাইসের নামগুলি যখন আসে তখন ভালভাবে ইউদেবকে জিজ্ঞাসা করুন । আমার বোঝার জন্য,

  1. md%dনামকরণ কার্নেল দ্বারা ব্যবহার করা হয়, এটি দ্বারা চালক সরাসরি উৎপন্ন হয় md.c # L5284 , এবং এটি ব্যবহৃত হচ্ছে /proc/partitionsএবং sysfs। অতএব, এটি উপস্থিত হয়/dev

  2. /dev/md/...এবং /dev/disk/by-id/...udevd দ্বারা প্রতীক হিসাবে উত্পাদিত হয়। আমার সিস্টেমে সম্পর্কিত নিয়মগুলি রাখা হয় /usr/lib/udev/rules.d/63-md-raid-arrays.rules:

    ...
    ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"
    ...
    

দেখে মনে হচ্ছে যে এমডিএডএম- openSUSE 11.1-rc3তে এই কমিট অনুসারে ইউদেব ফাইল এসেছে । আমি এই ফাইলটি যাচাই করে দেখেছি openSUSE 11.0, তবে এতে কোনও md/%dপ্রতিলিঙ্ক নেই ...


0

সম্ভবত লিনাক্স কার্নেল সংস্করণ বা ইউনিক্স সিস্টেমের উপর নির্ভর করে মূল পথটি পরিবর্তিত হয়। /dev/md/Nসামঞ্জস্যতার কারণে প্রতীকী লিঙ্কটি উপস্থিত থাকতে পারে। প্রোগ্রাম বা স্ক্রিপ্টগুলির পরিবর্তে এই পথটি ব্যবহার করতে পারে /dev/mdN

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