Untuk beberapa alasan, ketika saya mencoba untuk mengubah nama array serangan mdadm menjadi nama tekstual, perubahan tidak mengambil.
Saya mencoba saran dari pertanyaan serverfault ini , tetapi tidak berhasil.
~$ 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>
Seperti yang Anda lihat, nama tersebut masih dilaporkan omicron:0
dan masih dapat dijangkau melalui file perangkat yang lama. Mencoba sudo mdadm --detail /dev/md/alpha
akan berhasil, dan melaporkan nama yang sama, salah, hingga boot ulang berikutnya, ketika berhenti berfungsi.
Sepertinya ketika mencari tahu nama yang akan dimasukkan, mdadm menjadi bingung dan hanya membuat file perangkat sebagai gantinya.
KE SAMPING
Apakah ada cara untuk membuat mdadm memaksa pembaruan nama bagian dari superblock (yaitu secara eksplisit mengatur nama yang Anda inginkan dari array) tanpa harus secara eksplisit membuat ulang superblok? (yaitu 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]
)
Masalahnya adalah bahwa setelah reboot, meskipun menambah ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=c66a267...
mdadm.conf, file perangkat yang dinamai menghilang dan diganti dengan salah satu format standar. (/ dev / md125 atau serupa)
Bagaimana saya bisa membuat array mdadm yang diganti nama tetap namanya? - Yaitu - Bagaimana saya bisa membuat ubuntu bertahan file perangkat antara boot?
sudo mdadm --assemble /dev/md/alpha --name={newname} --update=name /dev/sd[gf]
Harapan yang masuk akal atau membuatnya lebih jelas ....mdadm --stop --scan md127
Cara untuk membuat Ubuntu bertahan perubahan nama lintas boot adalah untuk memperbarui initramfs Anda. Setelah memperbarui nama array dan mdadm.conf Anda, Anda perlu mengeluarkan perintah berikut:
Seluruh proses:
Perintah ketiga harus mengembalikan sesuatu seperti:
Rekatkan hasilnya ke /etc/mdadm/mdadm.conf (mengganti baris yang lama). Atau jalankan:
Jalankan berikutnya:
Akhirnya, reboot.
Diskusi ini bermanfaat .
sumber
Jawaban pertama oleh pille dan NN berfungsi.
Kuncinya di sini adalah ketika Anda tidak menentukan
--name
opsi, satu-satunya penamaan ulang yang dilakukan olehmdadm
adalah menetapkan nama array dari nomor perangkat yang telah dialokasikan. Dalam pertanyaan ini adalah 0 sehingga nama array baru adalah 0.Karena Anda menentukan nama perangkat ("alpha" di sini) untuk digunakan dalam perintah assemble, itu akan membuat dan menggunakan nama perangkat ini. Tetapi pada autostart
mdadm
membuat perangkat berdasarkan nama yang dilihatnya di superblock, yaitu 0 dalam hal ini, sehingga nama perangkat yang Anda tentukan dalam perintah assemble Anda hilang.Untuk membuat nama Anda berubah lengket dan koheren, Anda harus menggunakan nama yang sama di bagian terakhir nama perangkat Anda dan nama array baru Anda. Dalam hal ini, untuk perangkat "alpha" Anda harus menggunakan baris perintah ini:
Anda juga dapat mengubah nama host, untuk melakukan ini Anda harus mendeklarasikannya secara eksplisit menggunakan
-name=<hostname>:<array_name>
sintaks.Ini mungkin berguna misalnya setelah perubahan nama mesin.
sumber
Sepertinya jawaban yang Anda cari tepat di halaman manual mdadm
dan untuk berkumpul
Yang menjelaskan mengapa atribut nama tidak lengket setelah disetel. Jika Anda berhasil, silakan beri komentar yang jawabannya akan membantu Anda. Atau, Anda selalu bisa membuat symlink menggunakan aturan udev dan UUID array sebagai jangkar.
Saya tidak melihat gunanya menambahkan nama palsu ke /etc/mdadm.conf, Anda sudah menggunakan UUID yang merupakan nama array kanonik. Menambahkan variabel lain, yang Anda inginkan untuk diubah, hanyalah pemeliharaan yang tidak perlu dan meminta masalah, mis. Array gagal memulai.
Di luar pengamatan ini, tempat terbaik untuk memahami mengapa Anda tidak bisa memperbarui nama saat runtime adalah dengan melakukan ping ke milis linux-raid.
sumber
setelah Anda mengubah nama, apakah Anda mencoba memperbarui
mdadm.conf
?sumber
mdadm memiliki bug ketika volume serangan dibuat secara internal dengan spasi di namanya. Volume ini tidak akan dipasang dengan benar karena kesalahan format pada file /etc/mdadm/mdadm.conf yang dihasilkan. Anda perlu mengubah nama mereka di sana tetapi tidak akan bertahan lama. Jadi, mengganti nama nama internal diperlukan ... tetapi tidak didukung pada semua pengontrol RAID yang memblokir metadata mereka dan tidak mendukung opsi nama. Saya tidak melihat bagaimana cara mengubah nama volume ini (bahkan jika mereka dirujuk secara internal oleh UUID mereka, namanya adalah yang digunakan oleh Linux; Windows sebaliknya tidak memiliki bug seperti itu dan dengan sempurna me-mount volume RAID yang berisi spasi dalam nama mereka)!
sumber