Jak zmienić nazwę macierzy RAID?

12

Złożyłem nową tablicę rajdową, aby zastąpić starą. Jednak ta nowa tablica otrzymała automatyczną nazwę / dev / md127 i chcę zmienić jej nazwę na / dev / md3, aby nie musiałem zmieniać różnych innych ustawień. Jak zmienić nazwę macierzy RAID?

skolima
źródło

Odpowiedzi:

10

Zacznij od mdadm --detail /dev/md127:

Version : 0.90
Creation Time : Wed Apr 13 20:03:21 2011
Raid Level : raid10
Array Size : 656765952 (626.34 GiB 672.53 GB)
Used Dev Size : 437843968 (417.56 GiB 448.35 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 8
Persistence : Superblock is persistent

Pierwszy wiersz pokazuje wersję metadanych używanych przez tę tablicę. Teraz zatrzymaj tablicę:

mdadm --stop /dev/md127
mdadm --remove /dev/md127

I zmontuj go ponownie, używając nowej nazwy. Jeśli wersja metadanych to 1.0 lub wyższa, użyj tego:

mdadm --assemble /dev/md3 /dev/sd[abcdefghijk]3 --update=name

W przypadku tablic wykorzystujących starą strukturę metadanych (najprawdopodobniej 0,90, ponieważ pozwala to na autoskładanie jądra), użyj tego:

mdadm --assemble /dev/md3 --update=super-minor /dev/sd[abcdefghijk]3
skolima
źródło
Ta procedura działa dla mnie dobrze do momentu ponownego uruchomienia. Potem wraca do / dev / md127.
2
Teraz używam tablicy UUID zamiast nazwy, ponieważ okazało się to dla mnie o wiele bardziej niezawodne (np. Podwójne uruchamianie za każdym razem zmieniało nazwy i nie powodowało problemów z UUID).
skolima
W takim przypadku rozważ zaktualizowanie odpowiedzi.
isuldor
@ briankb chodziło mi o to, że nie dbam już o to, jakie nazwiska skończę, bo już ich nie używam. Wstawiam UUID tam, gdzie wcześniej umieściłem np. / Dev / md3. Jeśli odpowiedź jest nieaktualna, zaproponuj zaktualizowaną, a ja chętnie ją zaakceptuję. Generalnie jednak sugerowałbym całkowite uniknięcie początkowego problemu poprzez nieużywanie nazw tablic.
skolima
5

Byłem w podobnej sytuacji - utworzyłem tablicę, której nazwę zmieniono na / dev / md127 po ponownym uruchomieniu.

Kod

mdadm --stop /dev/md127

mdadm --assemble /dev/md3 /dev/sd[cdef]1

wystarczyło, aby tablica md zmieniła nazwę dla mnie / dev / md3, ale jak wszyscy inni, po ponownym uruchomieniu powróciłby do / dev / md127

Odkryłem, że jeśli ponownie skompiluję tablicę md z powrotem do / dev / md3, a następnie ponownie utworzę plik initramfs ( dracut --forcetak jak w CentOS), to zapamięta nazwę mojej tablicy (/ dev / md3) po ponownym uruchomieniu.

jpk
źródło