আমি কীভাবে একটি এমডিএডএম রেইড অ্যারের নাম পরিবর্তন করব?


23

কিছু কারণে, যখন আমি একটি এমডিএমএম রেইড অ্যারেটির একটি পাঠ্য নামের নাম বদলে দেওয়ার চেষ্টা করি, পরিবর্তন হয় না।

আমি এই সার্ভারফল্ট প্রশ্ন থেকে পরামর্শটি চেষ্টা করেছি , কিন্তু কোনও ফলসই হয়নি।

~$ mdadm --version
mdadm - v3.1.4 - 31st August 2010

~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
  Creation Time : Tue Sep 27 08:32:32 2011
     Raid Level : raid1
     Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
  Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
    Update Time : Sun Oct  2 17:59:37 2011
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : omicron:0  (local to host omicron)
           UUID : 75c4a555:482aecd0:ade70dfc:1547926a
         Events : 17

Number   Major   Minor   RaidDevice State
   0       8       80        0      active sync   /dev/sdf
   1       8       96        1      active sync   /dev/sdg

~$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0

~$ sudo mdadm --assemble /dev/md/alpha --update=name /dev/sd[gf]
mdadm: /dev/md/alpha has been started with 2 drives.

~$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Sep 27 08:32:32 2011
     Raid Level : raid1
     Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
  Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
    Update Time : Sun Oct  2 18:06:11 2011
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : omicron:0  (local to host omicron)
           UUID : 75c4a555:482aecd0:ade70dfc:1547926a
         Events : 17

Number   Major   Minor   RaidDevice State
   0       8       80        0      active sync   /dev/sdf
   1       8       96        1      active sync   /dev/sdg

~$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdf[0] sdg[1]
      1953513424 blocks super 1.2 [2/2] [UU]

md126 : active (auto-read-only) raid1 sdd[0] sde[1]
      1953513424 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb[0] sda[1]
      976762496 blocks [2/2] [UU]

unused devices: <none>

আপনি দেখতে পাচ্ছেন, omicron:0পুরানো ডিভাইস ফাইলের মাধ্যমে নামটি এখনও হিসাবে হিসাবে প্রতিবেদন করা এবং এখনও পৌঁছানো যায়। চেষ্টা sudo mdadm --detail /dev/md/alphaকরা কাজ করবে এবং পরবর্তী কাজটি বন্ধ হয়ে গেলে পরবর্তী পুনরায় বুট হওয়া পর্যন্ত একই, ভুল, নাম লেখবে।

দেখে মনে হচ্ছে কোন নামটি কী রাখবেন তা নির্ধারণের সময়, এমডিএডএম বিভ্রান্ত হয়ে পড়ে এবং পরিবর্তে কেবল ডিভাইস ফাইলটি তৈরি করে।


সরাইয়া

স্পষ্টভাবে সুপারব্লকটি পুনরায় তৈরি না করে সুপার ব্লকের নাম অংশের (যেমন স্পষ্টরূপে আপনি অ্যারে রাখতে চান সেই নামটি সেট করুন) এমডিএডএম বল প্রয়োগের কোনও উপায় আছে? (অর্থাত্ sudo mdam --zero-superblock /dev/sd[fg]; sudo mdadm --create /dev/md/alpha --raid-devices=2 --level=1 --assume-clean --name=alpha /dev/sd[fg])


সমস্যাটি হ'ল পুনরায় বুট ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=c66a267...করার পরেও, mdadm.conf যুক্ত করা সত্ত্বেও , নামকৃত ডিভাইস ফাইলটি অদৃশ্য হয়ে যায় এবং মানক বিন্যাসের একটিতে প্রতিস্থাপিত হয়। (/ দেব / এমডি 125 বা অনুরূপ)

আমি কীভাবে একটি নতুন নামকরণ করা এমদাদম অ্যারে এর নাম রাখতে পারি? - অর্থাৎ - বুটগুলির মধ্যে আমি কীভাবে উবুন্টু ডিভাইস ফাইলগুলি চালিয়ে যেতে পারি?

উত্তর:


19

আপনাকে এটির নামটি আসলে --name=লাইক সহ দিতে হবে :

sudo mdadm --assemble /dev/md/alpha --name=newname --update=name /dev/sd[gf]

পুনরায় বুট করার ক্ষেত্রে সামঞ্জস্যপূর্ণ আচরণ করতে আপনাকে ডিভাইসের শেষ অংশের চেয়ে - নাম যুক্তিতে একই নাম ব্যবহার করতে হবে। এখানে এটি হবে: sudo m دادm --assemble / dev / md / alpha --name = alpha --update = name / dev / sd [gf]

পুরো ব্যাখ্যার জন্য নীচে খাসাদের পোস্ট দেখুন।


1
এই কমান্ড লাইনের একটি সামান্য আপডেট, স্বচ্ছতার জন্য, যেমন একটি বুবের মতো আমি '--update =' এর পরে অ্যারের আসল নামটি প্রবেশ করছিলাম। sudo mdadm --assemble /dev/md/alpha --name={newname} --update=name /dev/sd[gf] আশা করি এটি উপলব্ধি করে বা এটি আরও স্পষ্ট করে তোলে ....
অ্যানাস্ট্রোফ

হাই, কমান্ড জারি করার পরে # sudo m دادm --assemble / dev / md127 - name = md0 --update = name / dev / sd [অব] আমি এমডিএমডিএম পেয়েছি: / দেব / এসডিএ ব্যস্ত - এমডিএডিএম এড়িয়ে চলেছে: / দেব / এসডিবি ব্যস্ত - কোনও তৌগলকে এড়িয়ে যাচ্ছেন? অবশ্যই, আমি প্রথমে অ্যারে আনমাউন্ট করেছি!
রেজার 7

2
@ রেজার 7mdadm --stop --scan md127
ড্যানিয়েল ডিনিজ

12

বুট জুড়ে উবুন্টু নামের পরিবর্তনটি বজায় রাখার উপায়টি হল আপনার থ্রিমারফ আপডেট করা। আপনার অ্যারের নাম এবং mdadm.conf আপডেট করার পরে, আপনাকে নিম্নলিখিত কমান্ডটি প্রদান করতে হবে:

sudo update-initramfs -u

পুরো প্রক্রিয়া:

sudo mdadm --stop /dev/md125
sudo mdadm --assemble /dev/md/alpha --name=alpha --update=name /dev/sd[fg]
sudo mdadm -Db /dev/md/alpha

তৃতীয় কমান্ডের এমন কিছু ফেরত দেওয়া উচিত:

ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=5b024352:3a940335:233aa23f:5c6b2a1f

ফলাফলটি /etc/m دادm/mdadm.conf এ আটকে দিন (পুরানো রেখাটি প্রতিস্থাপন করে)। বা কার্যকর:

sudo mdadm -Db /dev/md/alpha >> /etc/mdadm/mdadm.conf

পরবর্তী রান:

sudo update-initramfs -u

অবশেষে, পুনরায় বুট করুন।

এই আলোচনা দরকারী ছিল


8

পিল এবং এনএন দ্বারা প্রথম উত্তর কাজ করে।

এখানে কৌশলটি হ'ল আপনি যখন --nameবিকল্পটি নির্দিষ্ট না করেন কেবলমাত্র নাম পরিবর্তন mdadmকরে ডিভাইস নম্বরটি বরাদ্দ করা থেকে অ্যারে নামটি বরাদ্দ করা হয়। এই প্রশ্নে এটি 0 তাই নতুন অ্যারের নাম 0 হয়।

যেহেতু আপনি এসেম্বল কমান্ডটি ব্যবহার করতে ডিভাইসের নাম ("আলফা" এখানে) নির্দিষ্ট করেছেন এটি এটি এই ডিভাইসটির নাম তৈরি এবং ব্যবহার করবে। কিন্তু অটোস্টার্টে mdadmএকটি ডিভাইস তৈরি করে যা সুপারব্লকটিতে দেখায় সেই নামের উপর ভিত্তি করে তৈরি করে, এটি এক্ষেত্রে 0, সুতরাং আপনি আপনার এসেম্বল কমান্ডে নির্দিষ্ট করা ডিভাইসের নামটি হারিয়ে গেছে।

আপনার নামের পরিবর্তনকে স্টিকি ও সুসংগত করতে আপনাকে নিজের ডিভাইসের নামের শেষ অংশে এবং আপনার নতুন অ্যারে নামের একই নামটি ব্যবহার করতে হবে। এই ক্ষেত্রে, "আলফা" ডিভাইসটির জন্য আপনাকে এই কমান্ড লাইনটি ব্যবহার করতে হবে:

mdadm --assemble /dev/md/alpha --name=alpha --update=name /dev/sd[gf]

আপনি হোস্টনামটিও পরিবর্তন করতে পারেন, এটি করার জন্য আপনাকে -name=<hostname>:<array_name>সিনট্যাক্স ব্যবহার করে এটি স্পষ্টভাবে ঘোষণা করতে হবে ।

এটি মেশিনের নাম পরিবর্তনের পরে উদাহরণস্বরূপ কার্যকর হতে পারে।


2

দেখে মনে হচ্ছে আপনি mddm ম্যান পেজে উত্তরটি সন্ধান করেছেন

[create, build, grow]
      -N, --name=
          Set  a name for the array.  This is **currently only effective when creat‐
          ing an array** with a version-1 superblock, or an  array  in  a  DDF  con‐
          tainer.   The  name is a simple textual string that can be used to iden‐
          tify array components when assembling.  If name is needed but not speci‐
          fied, it is taken from the basename of the device that is being created.
          e.g. when creating /dev/md/home the name will default to home.

এবং একত্রিত জন্য

       -N, --name=
          Specify the name of the array to assemble.  **This must be the  name  that
          was  specified  when  creating the array**.  It must either match the name
          stored in the superblock exactly, or it  must  match  with  the  current
          homehost prefixed to the start of the given name.

যা ব্যাখ্যা করে যে নামটির বৈশিষ্ট্যটি সেট হওয়ার পরেও এটি স্টিকি নয়। যদি আপনি এটি কাজ করতে পান তবে দয়া করে একটি মন্তব্যে আককে এ্যাক করুন যা উত্তরটি আপনার জন্য কৌশলটি করেছে। বিকল্পভাবে, আপনি সর্বদা একটি ইউদেব নিয়ম এবং অ্যারের ইউআইডিটিকে অ্যাঙ্কর হিসাবে ব্যবহার করে সিমলিংক তৈরি করতে পারেন।

আমি /etc/mdadm.conf এ জাল নাম যুক্ত করার বিন্দুটি দেখতে পাচ্ছি না, আপনি ইতিমধ্যে ইউইউডি ব্যবহার করছেন যা ক্যানোনিকাল অ্যারের নাম। অন্য পরিবর্তনশীল যুক্ত করা, আপনি যে পরিবর্তন করতে উপযুক্ত মনে করেন তা কেবল অপ্রয়োজনীয় রক্ষণাবেক্ষণ এবং সমস্যার জন্য জিজ্ঞাসা করা যেমন অ্যারে শুরু হতে ব্যর্থ হয়।

এই পর্যবেক্ষণগুলির বাইরে, রানটাইম কেন আপনি কেবল নামটি আপডেট করতে পারবেন না তা বোঝার সবচেয়ে ভাল জায়গা হ'ল লিনাক্স-রেইড মেলিং তালিকাটি পিং করা।


1

আপনি নামটি পরিবর্তন করার পরে, আপনি কি নিজের আপডেট করার চেষ্টা করেছিলেন mdadm.conf?

 mdadm --examine --scan --config=mdadm.conf >> /etc/mdadm.conf

0

অভ্যন্তরীণভাবে তাদের নামে একটি স্থান নিয়ে অভিযানগুলির খণ্ডগুলি তৈরি করা হলে m دادm এর একটি বাগ রয়েছে। উত্পন্ন /etc/m دادm/mdadm.conf ফাইলটিতে ফর্ম্যাট ত্রুটির কারণে এই ভলিউমগুলি সঠিকভাবে মাউন্ট হবে না। সেখানে তাদের নাম পরিবর্তন করতে হবে তবে এটি অবিচল থাকবে না। সুতরাং অভ্যন্তরীণ নামগুলির নাম পরিবর্তন করা প্রয়োজন ... তবে এটি সমস্ত RAID কনট্রোলারগুলিতে সমর্থিত নয় যা তাদের মেটাডেটাটি ব্লক করে এবং নাম বিকল্পটি সমর্থন করে না। আমি দেখতে পাচ্ছি না কীভাবে এই ভলিউমের নাম পরিবর্তন করতে হবে (এমনকি তাদের ইউআইডি দ্বারা অভ্যন্তরীণভাবে রেফারেন্স করা হলেও নামগুলি লিনাক্স দ্বারা ব্যবহৃত হয়; বিপরীতে উইন্ডোতে এরকম কোনও বাগ নেই এবং পুরোপুরি তাদের নামে ফাঁকা র‌্যাড ভলিউম মাউন্ট করে)!

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