Po uruchomieniu moje urządzenie RAID1 ( /dev/md_d0
*) czasami przechodzi w jakiś zabawny stan i nie mogę go zamontować.
* Pierwotnie stworzyłem, /dev/md0
ale jakoś się zmieniło /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
Wygląda na to, że urządzenie RAID jest nieaktywne :
# 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.
Pytanie brzmi: jak ponownie włączyć urządzenie ( mdmadm
jak się domyślam)?
(Innym razem jest w porządku (aktywny) po uruchomieniu i mogę go zamontować ręcznie bez problemów. Ale nadal nie zamontuje się automatycznie, mimo że go mam /etc/fstab
:
/dev/md_d0 /opt ext4 defaults 0 0
Więc pytanie dodatkowe: co powinienem zrobić, aby urządzenie RAID automatycznie montowało się /opt
podczas uruchamiania? )
To jest stacja robocza Ubuntu 9.10. Informacje podstawowe o mojej konfiguracji RAID w tym pytaniu .
Edycja : Mój /etc/mdadm/mdadm.conf
wygląda tak. Nigdy nie dotknąłem tego pliku, przynajmniej ręcznie.
# 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
W /proc/partitions
ostatnim wpisie jest md_d0
przynajmniej teraz, po ponownym uruchomieniu, kiedy urządzenie znów jest aktywne. (Nie jestem pewien, czy będzie tak samo, gdy będzie nieaktywny).
Rozwiązanie : jak zasugerował Jimmy Hedman , wziąłem wyniki mdadm --examine --scan
:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]
i dodał to /etc/mdadm/mdadm.conf
, co wydaje się naprawiać główny problem. Po zmianie /etc/fstab
na używanie /dev/md0
ponownie (zamiast /dev/md_d0
) urządzenie RAID również zostaje automatycznie zamontowane!
mdadm --examine --scan
wyprodukowanoARRAY /dev/md0 level=raid1 num-devices=2 UUID=...
(Uwaga md0 zamiast md_d0!) Umieściłem to w pliku mdadm.conf (ręcznie, ponieważ był jakiś problem z sudo i>>
(„odmowa uprawnień”), a sudo jest wymagane), a także zaktualizowałem fstab do użycia md0 (nie md_d0) ponownie. Teraz wydaje mi się, że nie mam już problemu z „nieaktywnością”, a urządzenie RAID montuje się automatycznie przy / opt po uruchomieniu. Więc dziękuję!sudo ... >> mdadm.conf
jest to, że powłoka otwiera przekierowane pliki przed uruchomieniem sudo. Poleceniesu -c '.... >> mdadm.conf'
powinno działać.Odkryłem, że muszę ręcznie dodać tablicę
/etc/mdadm/mdadm.conf
, aby Linux mógł ją zamontować przy ponownym uruchomieniu. W przeciwnym razie otrzymam dokładnie to, co masz -md_d1
urządzenia, które są nieaktywne itp.Plik conf powinien wyglądać jak poniżej - tzn. Jedna
ARRAY
linia dla każdego urządzenia MD. W moim przypadku brakowało nowych tablic w tym pliku, ale jeśli masz je na liście, prawdopodobnie nie jest to rozwiązanie twojego problemu.Dodaj jedną tablicę na urządzenie md i dodaj je po komentarzu zawartym powyżej lub, jeśli takiego komentarza nie ma, na końcu pliku. UUID można uzyskać, wykonując
sudo mdadm -E --scan
:Jak widać, możesz po prostu skopiować wyniki z wyniku skanowania do pliku.
Pracuję na Ubuntu Desktop 10.04 LTS i, o ile pamiętam, to zachowanie różni się od wersji serwerowej Ubuntu, jednak tak dawno temu stworzyłem moje urządzenia MD na serwerze, mogę się mylić. Być może właśnie przegapiłem jakąś opcję.
W każdym razie dodanie tablicy do pliku conf wydaje się załatwić sprawę. Od lat prowadzę powyższy rajd 1 i rajd 5 bez żadnych problemów.
źródło
Ostrzeżenie: przede wszystkim pozwól mi powiedzieć, że poniższe (ze względu na użycie „--force”) wydaje mi się ryzykowne, a jeśli masz nieodwracalne dane, zaleciłbym wykonanie kopii partycji, zanim zaczniesz próbować którejkolwiek z rzeczy poniżej. Jednak zadziałało to dla mnie.
Miałem ten sam problem z tablicą wyświetlaną jako nieaktywną i nic, co zrobiłem, w tym „mdadm --examine --scan> /etc/mdadm.conf”, jak sugerują inni tutaj, wcale nie pomogło.
W moim przypadku, kiedy próbował uruchomić macierz RAID-5 po wymianie dysku, mówił, że jest brudny (przez
dmesg
):Powoduje, że wyświetla się jako nieaktywny w
/proc/mdstat
:Odkryłem, że na wszystkich urządzeniach były takie same zdarzenia, z wyjątkiem dysku, który wymieniłem (
/dev/sdb4
):Jednak szczegóły tablicy pokazały, że ma 4 z 5 dostępnych urządzeń:
(Powyższe pochodzi z pamięci w kolumnie „Stan”, nie mogę go znaleźć w buforze przewijania).
Byłem w stanie rozwiązać ten problem, zatrzymując tablicę, a następnie ponownie ją składając:
W tym momencie tablica była gotowa, działała z 4 z 5 urządzeń, i mogłem dodać urządzenie zastępcze i przebudowuje się. Jestem w stanie uzyskać dostęp do systemu plików bez żadnego problemu.
źródło
Miałem problemy z Ubuntu 10.04, gdzie błąd w FStab uniemożliwił uruchomienie serwera.
Uruchomiłem to polecenie, jak wspomniano w powyższych rozwiązaniach:
Spowoduje to dodanie wyników z „mdadm --examine --scan” do „/etc/mdadm/mdadm.conf”
W moim przypadku było to:
To jest fakeraid 0. Moje polecenie w / etc / fstab do automatycznego montowania to:
Ważne jest tutaj to, że masz „nobootwait” i „nofail”. Nobootwait pominie wszelkie komunikaty systemowe, które uniemożliwiają uruchomienie komputera. W moim przypadku było to na zdalnym serwerze, więc było to niezbędne.
Mam nadzieję, że to pomoże niektórym ludziom.
źródło
Możesz aktywować urządzenie MD za pomocą
Przypuszczam, że jakiś skrypt startowy uruchamia się zbyt wcześnie, zanim zostanie wykryty jeden z członków RAID lub jakiś podobny problem. Jako szybkie i nieprzyzwoite obejście, powinieneś być w stanie dodać tę linię do /etc/rc.local:
Edycja: najwyraźniej twój /etc/mdadm/mdadm.conf nadal zawiera starą nazwę konfiguracji. Edytuj ten plik i zamień wystąpienia md0 na md_d0.
źródło
mount /dev/md_d0
w/etc/rc.local
działa prawidłowo.mdadm -A /dev/md_d0
z drugiej strony ten komunikat o błędzie nie działa w obu przypadkach (więc nie mogłem go użyć przed tym&&
operatorem). W każdym razie połowa problemu wydaje się rozwiązana, więc +1 za to./proc/partitions
jednak); zobacz edytowane pytanie. Nigdy nie dotknąłem mdadm.conf - jakie narzędzie to automatycznie generuje?/etc/rc.local
obejście, ponieważ wydaje się, że wszystko działa poprawnie: superuser.com/questions/117824/… :)Miałem podobny problem ... mój serwer nie zamontował md2 po tym, jak rozwinąłem powiązane partycje urządzeń. Po przeczytaniu tego wątku stwierdziłem, że urządzenie RAID md2 ma nowy identyfikator UUID, a urządzenie próbuje użyć starego.
Zgodnie z sugestią ... używając wyjścia 'md2' z
Zredagowałem
/etc/mdadm/mdadm.conf
i zastąpiłem stary wiersz UUID jednym wyjściem z powyższego polecenia i mój problem zniknął.źródło
Kiedy udajesz, że coś z
/dev/md[012346789}
tym robisz , idzie do/dev/md{126,127...}
./dev/md0
kontynuuje montowanie na/dev/md126
lub/dev/md127
musisz:umount
/dev/md127
lub umount/dev/md126
.Jest to tymczasowe, aby umożliwić wykonywanie poleceń i niektórych aplikacji bez zatrzymywania systemu.
źródło
md_d0 : inactive sda4[0](S)
wygląda źle dla macierzy RAID1. Wydaje się sugerować, że tablica nie ma aktywnych urządzeń i jedno urządzenie zapasowe (wskazane przez (S), zobaczysz (F) tam dla uszkodzonego urządzenia i nic dla OK / aktywnego urządzenia) - dla macierzy RAID1, która nie jest nie działa zdegradowane, powinny być co najmniej dwa urządzenia OK / aktywne (a dla zdegradowanej macierzy, co najmniej jedno urządzenie OK / aktywne) i nie można aktywować macierzy RAID1 bez żadnych nieudanych nie-zapasowych urządzeń (jako części zamiennych nie zawierają kopii danych, dopóki nie zostaną uaktywnione, gdy inny dysk ulegnie awarii). Jeśli dobrze odczytam to/proc/mdstat
wyjście, nie będziesz w stanie aktywować tablicy w jej obecnym stanie.Czy masz jakieś dyski fizyczne w maszynie, które nie zostały uruchomione? Czy wyświetla
ls /dev/sd*
listę wszystkich dysków i partycji, których normalnie można oczekiwać na tym komputerze?źródło
echo active > /sys/block/md0/md/array_state
pracowałem dla siebie, sprawiając, że mój RAID pojawił się ponownie jako RAID1 z brakującym dyskiem zamiast RAID0 z zapasowym.Prosty sposób na uruchomienie tablicy przy założeniu, że nie ma problemu ze sprzętem i masz wystarczającą liczbę napędów / partycji do uruchomienia tablicy, jest następujący:
Może być tak, że z jakiegokolwiek powodu tablica jest w porządku, ale coś uniemożliwiło jej uruchomienie lub budowę. W moim przypadku było to spowodowane tym, że mdadm nie wiedział, że pierwotna nazwa macierzy to md127 i wszystkie dyski zostały odłączone dla tej macierzy. Podczas ponownej instalacji musiałem ręcznie złożyć (prawdopodobnie błąd, w którym mdadm myślał, że tablica jest już aktywna z powodu starej starej tablicy offline).
źródło