Setelah boot, perangkat RAID1 saya ( /dev/md_d0
*) kadang-kadang masuk dalam keadaan lucu dan saya tidak bisa memasangnya.
* Awalnya saya buat /dev/md0
tetapi entah bagaimana berubah menjadi /dev/md_d0
.
# mount /opt
mount: wrong fs type, bad option, bad superblock on /dev/md_d0,
missing codepage or helper program, or other error
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
In some cases useful info is found in syslog - try
dmesg | tail or so
Perangkat RAID tampaknya tidak aktif, entah bagaimana:
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md_d0 : inactive sda4[0](S)
241095104 blocks
# mdadm --detail /dev/md_d0
mdadm: md device /dev/md_d0 does not appear to be active.
Pertanyaannya adalah, bagaimana cara mengaktifkan perangkat lagi (menggunakan mdmadm
, saya kira)?
(Lain kali tidak apa-apa (aktif) setelah boot, dan saya dapat me-mount secara manual tanpa masalah. Tapi itu tetap tidak akan me-mount secara otomatis walaupun saya memilikinya di /etc/fstab
:
/dev/md_d0 /opt ext4 defaults 0 0
Jadi pertanyaan bonus: apa yang harus saya lakukan untuk membuat perangkat RAID secara otomatis dipasang pada /opt
saat boot? )
Ini adalah workstation Ubuntu 9,10. Info latar belakang tentang pengaturan RAID saya dalam pertanyaan ini .
Sunting : Penampilan saya /etc/mdadm/mdadm.conf
seperti ini. Saya tidak pernah menyentuh file ini, setidaknya dengan tangan.
# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
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 <my mail address>
# definitions of existing MD arrays
# This file was auto-generated on Wed, 27 Jan 2010 17:14:36 +0200
Pada /proc/partitions
entri terakhir md_d0
setidaknya sekarang, setelah reboot, ketika perangkat aktif kembali. (Saya tidak yakin apakah itu akan sama ketika tidak aktif.)
Resolusi : seperti yang disarankan Jimmy Hedman , saya mengambil output dari mdadm --examine --scan
:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]
dan menambahkannya /etc/mdadm/mdadm.conf
, yang tampaknya telah memperbaiki masalah utama. Setelah berubah /etc/fstab
untuk menggunakan /dev/md0
lagi (bukan /dev/md_d0
), perangkat RAID juga akan dipasang secara otomatis!
mdadm --examine --scan
diproduksiARRAY /dev/md0 level=raid1 num-devices=2 UUID=...
(Perhatikan md0 bukan md_d0!) Saya menempatkan bahwa dalam file mdadm.conf (manual, karena beberapa masalah dengan sudo dan>>
( "ijin ditolak"), dan sudo yang diperlukan) dan juga diperbarui fstab untuk digunakan md0 (bukan md_d0) lagi. Sekarang saya sepertinya tidak mengalami masalah "tidak aktif" lagi dan perangkat RAID dipasang secara otomatis di / opt saat booting. Jadi terima kasih!sudo ... >> mdadm.conf
adalah karena shell membuka file yang dialihkan sebelum sudo berjalan. Perintahsu -c '.... >> mdadm.conf'
harus bekerja.Saya telah menemukan bahwa saya harus menambahkan array secara manual
/etc/mdadm/mdadm.conf
untuk membuat Linux me-mount-nya saat reboot. Kalau tidak, saya mendapatkan apa yang Anda miliki di sini -md_d1
perangkat yang tidak aktif dll.Conf-file akan terlihat seperti di bawah ini - yaitu satu-
ARRAY
line untuk setiap perangkat md. Dalam kasus saya, array baru tidak ada dalam file ini, tetapi jika Anda mencantumkannya, ini mungkin bukan perbaikan untuk masalah Anda.Tambahkan satu array per md-perangkat, dan tambahkan setelah komentar yang disertakan di atas, atau jika tidak ada komentar seperti itu, di akhir file. Anda mendapatkan UUID dengan melakukan
sudo mdadm -E --scan
:Seperti yang Anda lihat, Anda bisa menyalin output dari hasil pindaian ke dalam file.
Saya menjalankan desktop ubuntu 10,04 LTS, dan sejauh yang saya ingat perilaku ini berbeda dari versi server Ubuntu, namun sudah lama sekali saya membuat perangkat md-server saya, saya mungkin salah. Mungkin juga saya melewatkan beberapa opsi.
Lagi pula, menambahkan array di file conf tampaknya melakukan trik. Saya telah menjalankan raid 1 di atas dan raid 5 selama bertahun-tahun tanpa masalah.
sumber
Peringatan: Pertama-tama izinkan saya mengatakan bahwa di bawah ini (karena penggunaan "- force") tampaknya berisiko bagi saya, dan jika Anda memiliki data yang tidak dapat dipulihkan, saya sarankan untuk membuat salinan partisi yang terlibat sebelum Anda mulai mencoba salah satu hal-hal di bawah ini. Namun, ini berhasil bagi saya.
Saya memiliki masalah yang sama, dengan array yang muncul sebagai tidak aktif, dan tidak ada yang saya lakukan termasuk "mdadm --examine --scan> /etc/mdadm.conf", seperti yang disarankan oleh orang lain di sini, membantu sama sekali.
Dalam kasus saya, ketika mencoba memulai array RAID-5 setelah penggantian drive, dikatakan bahwa itu kotor (via
dmesg
):Menyebabkannya tidak aktif di
/proc/mdstat
:Saya memang menemukan bahwa semua perangkat memiliki kejadian yang sama pada mereka, kecuali drive yang saya ganti (
/dev/sdb4
):Namun, detail array menunjukkan bahwa perangkat itu memiliki 4 dari 5 perangkat yang tersedia:
(Di atas adalah dari memori pada kolom "State", saya tidak dapat menemukannya di buffer scroll-back saya).
Saya dapat menyelesaikan ini dengan menghentikan array dan kemudian merakitnya kembali:
Pada saat itu array sudah berjalan, berjalan dengan 4 dari 5 perangkat, dan saya dapat menambahkan perangkat pengganti dan sedang membangun kembali. Saya dapat mengakses sistem file tanpa masalah.
sumber
Saya mengalami masalah dengan Ubuntu 10,04 di mana kesalahan di FStab mencegah server untuk boot.
Saya menjalankan perintah ini sebagaimana disebutkan dalam solusi di atas:
Ini akan menambahkan hasil dari "mdadm --examine --scan" ke "/etc/mdadm/mdadm.conf"
Dalam kasus saya, ini adalah:
Ini adalah fakeraid 0. Perintah saya di / etc / fstab untuk pemasangan secara otomatis adalah:
Yang penting di sini adalah Anda memiliki "nobootwait" dan "nofail". Nobootwait akan melewati pesan sistem apa pun yang mencegah Anda untuk boot. Dalam kasus saya, ini ada di server jauh jadi itu penting.
Semoga ini bisa membantu beberapa orang.
sumber
Anda dapat mengaktifkan perangkat md Anda dengan
Saya kira beberapa skrip startup dimulai terlalu cepat, sebelum salah satu anggota RAID ditemukan atau masalah serupa. Sebagai solusi cepat dan kotor, Anda harus dapat menambahkan baris ini ke /etc/rc.local:
Edit: ternyata /etc/mdadm/mdadm.conf Anda masih berisi nama konfigurasi yang lama. Edit file ini dan ganti kejadian md0 dengan md_d0.
sumber
mount /dev/md_d0
di/etc/rc.local
bekerja dengan baik.mdadm -A /dev/md_d0
di sisi lain gagal dengan pesan kesalahan dalam kedua kasus (jadi saya tidak bisa menggunakannya sebelum&&
operator itu). Lagi pula, setengah dari masalah tampaknya diselesaikan jadi +1 untuk itu./proc/partitions
meskipun); lihat pertanyaan yang diedit. Saya tidak pernah menyentuh mdadm.conf - apa alat yang membuat otomatis itu?/etc/rc.local
solusinya karena sepertinya saya membuat semuanya berfungsi dengan baik: superuser.com/questions/117824/... :)Saya memiliki masalah yang sama ... server saya tidak dapat me-mount md2 setelah saya mengembangkan partisi perangkat yang terkait. Saat membaca utas ini, saya menemukan bahwa perangkat RAID MD2 memiliki UUID baru dan mesin mencoba menggunakan yang lama.
Seperti yang disarankan ... menggunakan output 'md2' dari
Saya mengedit
/etc/mdadm/mdadm.conf
dan mengganti baris UUID lama dengan satu output dari perintah di atas dan masalah saya hilang.sumber
Ketika Anda berpura-pura melakukan sesuatu dengan
/dev/md[012346789}
itu pergi ke/dev/md{126,127...}
./dev/md0
terus dipasang di/dev/md126
atau/dev/md127
Anda harus:umount
/dev/md127
atau umount/dev/md126
.Ini bersifat sementara untuk memungkinkan Anda menjalankan perintah dan beberapa aplikasi tanpa menghentikan sistem Anda.
sumber
md_d0 : inactive sda4[0](S)
terlihat salah untuk array RAID1. Tampaknya menyarankan bahwa array tidak memiliki perangkat aktif dan satu perangkat cadangan (ditunjukkan oleh (S), Anda akan melihat (F) di sana untuk perangkat yang gagal dan tidak ada untuk perangkat OK / aktif) - untuk array RAID1 yang tidak 't menjalankan degradasi harus ada setidaknya dua perangkat OK / aktif (dan untuk array terdegradasi, setidaknya satu perangkat OK / aktif) dan Anda tidak dapat mengaktifkan array RAID1 tanpa ada perangkat gagal-cadangan tidak ada yang gagal (seperti suku cadang jangan berisi salinan data sampai mereka diaktifkan ketika drive lain gagal). Jika saya membaca/proc/mdstat
output itu dengan benar, Anda tidak akan dapat mengaktifkan array dalam kondisi saat ini.Apakah Anda memiliki drive fisik di mesin yang gagal spin-up? Apakah
ls /dev/sd*
daftar semua drive dan partisi yang biasanya Anda harapkan untuk melihat pada mesin itu?sumber
echo active > /sys/block/md0/md/array_state
bekerja untuk saya, menjadikan RAID saya tampil sebagai RAID1 dengan disk yang hilang lagi, bukan RAID0 dengan cadangan saja.Cara sederhana untuk menjalankan array dengan asumsi tidak ada masalah perangkat keras dan Anda memiliki cukup drive / partisi untuk memulai array adalah sebagai berikut:
Bisa jadi karena alasan apa pun array baik-baik saja tetapi sesuatu mencegahnya dari memulai atau membangun. Dalam kasus saya ini karena mdadm tidak tahu nama array asli adalah md127 dan semua drive dicabut untuk array itu. Ketika memasang kembali saya harus merakit secara manual (mungkin bug di mana mdadm mengira array sudah aktif karena nama array luring yang offline).
sumber