Kicer
2014-09-21 07:46:30 UTC
Witam
z problemem, który zamierzam opisać już się rozprawiłem, sęk w tym, że nie
do końca wiem jak ;)
Wszystko zaczęło się od tego, ze podpiąłem do komputera nowy dysk z zamiarem
zrobienia mirrora.
Obecnie w systemie miałem dysk z home, var i swap i ten dysk miał ulec
zmirrorowaniu.
Do tej pory nie był on częścią żadnej macierzy więc plan był taki:
1. Dokładam nowy dysk i zakładam na nim zdegradowanego raida 1.
2. na raida wgrywam dane ze starego dysku
3. podpinam stary dysk do macierzy.
Po wykonaniu punktu 2. pozmienialem wpisy partycji w fstab korzystając z
uuidów i zrebootwalem kompa, tak by system wskoczyl całkowicie na używanie
partycji z raidu a stary dysk był nieużywany.
Wszystko ładnie, pięknie wystartowało.
Podpiąłem więc i drugi dysk, teraz już teoretycznie nieużywny, w raida.
Raid sie zsynchronizował i zrebootwalem maszynę.
Tu zaczely sie problemy: system zaczął się wczytywać i koniec końców dracut
się zatrzymał na problemie ze znalezieniem jednego z dysków, podając jego
uuid. Uuid nie pasował do żadnego z istniejących dysków (biorąc pod uwagę
wszystkie możliwe partycje, w tym raidowe).
Założyłem więc, że najprawdpodobniej jest to uuid swapa z oryginalnej
lokalizcji, sprzed raidu, zapisany gdzieś w initrd.
Zbootwalem się z linuxem z pendrive i próbuję namierzyć owy uuid.
Nigdzie w /etc czy /boot go nie znalazłem, uznałem więc, że musi być zaszyty
w initrd w postaci niejawnej, więc spróbowałem wygenerować initrd na nowo.
Użyłem w tym celu w pierwszej kolejności mkinitrd, jak to robiłem lata temu,
ale to w niczym nie pomogło (initrd na pewno się wygenerował i podmienił
stary - sprawdziłem datę utworzenia pliku).
Poczytałem nieco o dracut, i wg internetu to za jego pomocą powiniem był
wygenerowac initrd.
Uczyniłem to więc i tym razem podczas bootu, dracut próbuje wykryć
urządzenia btrfs (?) po czym zalicza zgona.
Ostatecznie zbootowalem znow linuxa z pena i usunąłem a nastepnie
zainstalowałem ponownie pakiet z kernelem. To pomogło.
Pytanie, co więcej się tu wydarzyło? I o co tak naprawdę dracutowi chodziło?
pozostał jeszcze jeden szkopuł w postaci systemu ładującego się ze 4 razy
dłużej niż zwykle. w dmesg widzę lukę między 3. sekundą a 31. Nic się w tym
czasie nie dzieje.
Podobnie wygląda /var/log/boot.log.
Podczas bootwania widzę, że mountują się dyski potem proces zamiera, nic
się nie dzieje, by po 20-30 sekundach ruszyć dalej.
Trochę przespałem nowiki w zakresie bootwania linuxa, dracut czy systemd są
mi zupełnie obecnie.
Można o tym gdzieś poczytać w przystępnej formie, abym przynajmniej wiedział
jak sobie radzić w systuacjach jak powyżej?
z problemem, który zamierzam opisać już się rozprawiłem, sęk w tym, że nie
do końca wiem jak ;)
Wszystko zaczęło się od tego, ze podpiąłem do komputera nowy dysk z zamiarem
zrobienia mirrora.
Obecnie w systemie miałem dysk z home, var i swap i ten dysk miał ulec
zmirrorowaniu.
Do tej pory nie był on częścią żadnej macierzy więc plan był taki:
1. Dokładam nowy dysk i zakładam na nim zdegradowanego raida 1.
2. na raida wgrywam dane ze starego dysku
3. podpinam stary dysk do macierzy.
Po wykonaniu punktu 2. pozmienialem wpisy partycji w fstab korzystając z
uuidów i zrebootwalem kompa, tak by system wskoczyl całkowicie na używanie
partycji z raidu a stary dysk był nieużywany.
Wszystko ładnie, pięknie wystartowało.
Podpiąłem więc i drugi dysk, teraz już teoretycznie nieużywny, w raida.
Raid sie zsynchronizował i zrebootwalem maszynę.
Tu zaczely sie problemy: system zaczął się wczytywać i koniec końców dracut
się zatrzymał na problemie ze znalezieniem jednego z dysków, podając jego
uuid. Uuid nie pasował do żadnego z istniejących dysków (biorąc pod uwagę
wszystkie możliwe partycje, w tym raidowe).
Założyłem więc, że najprawdpodobniej jest to uuid swapa z oryginalnej
lokalizcji, sprzed raidu, zapisany gdzieś w initrd.
Zbootwalem się z linuxem z pendrive i próbuję namierzyć owy uuid.
Nigdzie w /etc czy /boot go nie znalazłem, uznałem więc, że musi być zaszyty
w initrd w postaci niejawnej, więc spróbowałem wygenerować initrd na nowo.
Użyłem w tym celu w pierwszej kolejności mkinitrd, jak to robiłem lata temu,
ale to w niczym nie pomogło (initrd na pewno się wygenerował i podmienił
stary - sprawdziłem datę utworzenia pliku).
Poczytałem nieco o dracut, i wg internetu to za jego pomocą powiniem był
wygenerowac initrd.
Uczyniłem to więc i tym razem podczas bootu, dracut próbuje wykryć
urządzenia btrfs (?) po czym zalicza zgona.
Ostatecznie zbootowalem znow linuxa z pena i usunąłem a nastepnie
zainstalowałem ponownie pakiet z kernelem. To pomogło.
Pytanie, co więcej się tu wydarzyło? I o co tak naprawdę dracutowi chodziło?
pozostał jeszcze jeden szkopuł w postaci systemu ładującego się ze 4 razy
dłużej niż zwykle. w dmesg widzę lukę między 3. sekundą a 31. Nic się w tym
czasie nie dzieje.
Podobnie wygląda /var/log/boot.log.
Podczas bootwania widzę, że mountują się dyski potem proces zamiera, nic
się nie dzieje, by po 20-30 sekundach ruszyć dalej.
Trochę przespałem nowiki w zakresie bootwania linuxa, dracut czy systemd są
mi zupełnie obecnie.
Można o tym gdzieś poczytać w przystępnej formie, abym przynajmniej wiedział
jak sobie radzić w systuacjach jak powyżej?
--
Michał Walenciak
gmail.com kicer86
http://kicer.sileman.net.pl
gg: 3729519
Michał Walenciak
gmail.com kicer86
http://kicer.sileman.net.pl
gg: 3729519