Z jakiegoś powodu, gdy próbuję zmienić nazwę tablicy RAID mdadm na nazwę tekstową, zmiana nie jest możliwa.
Wypróbowałem porady z tego pytania o błąd serwera , ale bezskutecznie.
~$ 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>
Jak widać, nazwa jest nadal zgłaszana jako omicron:0
i nadal dostępna przez stary plik urządzenia. Próba sudo mdadm --detail /dev/md/alpha
zadziała i zgłoś tę samą, niepoprawną nazwę do następnego uruchomienia, kiedy przestanie działać.
Wygląda na to, że zastanawiając się, jaką nazwę wprowadzić, mdadm się myli i zamiast tego tworzy plik urządzenia.
NA BOK
Czy jest jakiś sposób, aby zmusić mdadm do wymuszenia aktualizacji części nazwy superbloku (tj. Jawnie ustaw nazwę, którą ma mieć tablica) bez konieczności ponownego tworzenia superbloku? (tj. 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]
)
Problem polega na tym, że po ponownym uruchomieniu, pomimo dodania ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=c66a267...
do mdadm.conf, plik o nazwie urządzenia znika i jest zastępowany jednym ze standardowych formatów. (/ dev / md125 lub podobny)
Jak sprawić, by tablica mdadm o zmienionej nazwie zachowała swoją nazwę? - Tj. - Jak mogę zmusić Ubuntu do przechowywania plików urządzeń między bootami?
sudo mdadm --assemble /dev/md/alpha --name={newname} --update=name /dev/sd[gf]
Nadzieja, która ma sens lub sprawia, że jest jaśniejsza ....mdadm --stop --scan md127
Sposobem na to, aby Ubuntu utrzymywał zmianę nazwy w obu butach, jest aktualizacja initramfs. Po zaktualizowaniu nazwy tablicy i pliku mdadm.conf należy wydać następujące polecenie:
Cały proces:
Trzecie polecenie powinno zwrócić coś takiego:
Wklej wynik do /etc/mdadm/mdadm.conf (zastępując starą linię). Lub wykonaj:
Następny bieg:
Na koniec uruchom ponownie.
Ta dyskusja była przydatna .
źródło
Pierwsza odpowiedź pille i NN działa.
Sztuczka polega na tym, że gdy nie określisz tej
--name
opcji, jedyną zmianą nazwy, którą wykonasz,mdadm
jest przypisanie nazwy tablicy z przydzielonego numeru urządzenia. W tym pytaniu jest to 0, więc nowa nazwa tablicy to 0.Ponieważ określisz nazwę urządzenia („alfa” tutaj) do użycia w komendzie assemble, utworzy ona i użyje tej nazwy urządzenia. Ale podczas autostartu
mdadm
tworzy urządzenie na podstawie nazwy, którą widzi w superbloku, czyli w tym przypadku 0, więc nazwa urządzenia podana w poleceniu asemblerze zostaje utracona.Aby Twoja nazwa zmieniła się na lepką i spójną, musisz użyć tej samej nazwy w ostatniej części nazwy urządzenia i nowej nazwy tablicy. W takim przypadku dla urządzenia „alfa” należy użyć tego wiersza polecenia:
Możesz także zmienić nazwę hosta, aby to zrobić, musisz jawnie ją zadeklarować za pomocą
-name=<hostname>:<array_name>
składni.Może to być przydatne na przykład po zmianie nazwy komputera.
źródło
Wygląda na to, że odpowiedź, której szukasz, znajduje się na stronie podręcznika mdadm
i do montażu
Co wyjaśnia, dlaczego atrybut name nie jest lepki po ustawieniu. Jeśli udało ci się go uruchomić, prosimy o komentarz z odpowiedzią, która pomogła ci. Alternatywnie zawsze możesz utworzyć dowiązania symboliczne, używając reguły udev i UUID tablicy jako kotwicy.
Nie widzę sensu w dodawaniu fałszywej nazwy do /etc/mdadm.conf, już używasz UUID, który jest kanoniczną nazwą tablicy. Dodanie innej zmiennej, którą możesz zmienić, jest po prostu niepotrzebną konserwacją i proszeniem o problemy, np. Tablica nie uruchamia się.
Poza tymi spostrzeżeniami najlepszym miejscem, aby dowiedzieć się, dlaczego po prostu nie możesz zaktualizować nazwy w środowisku uruchomieniowym, jest wysłanie polecenia ping na listę mailingową linux-raid.
źródło
czy po zmianie nazwy próbowałeś zaktualizować swój
mdadm.conf
?źródło
mdadm ma błąd, gdy woluminy rajdowe zostały wewnętrznie utworzone ze spacją w nazwie. Woluminy te nie zostaną poprawnie zamontowane z powodu błędu formatu w wygenerowanym pliku /etc/mdadm/mdadm.conf. Musisz zmienić ich nazwę, ale to nie będzie trwałe. Dlatego zmiana nazwy wewnętrznych nazw jest konieczna ... ale nie jest obsługiwana we wszystkich kontrolerach RAID, które blokują ich metadane i nie obsługują opcji nazwy. Nie wiem, jak zmienić nazwę tych woluminów (nawet jeśli są wewnętrznie przywoływane przez UUID, nazwy są używane przez Linuksa; Windows po przeciwnej stronie nie ma takiego błędu i doskonale montuje woluminy RAID zawierające spacje w swoich nazwach)!
źródło