Strona 2 z 3

: 23 czerwca 2015, 14:52
autor: LordRuthwen
Ustaw flagę bootable na sda1.
Jak nie pomieszałeś partycji przy tworzeniu raida to powinno działać bo przy różnych rozmiarach spotkałem się z problemem, że nie pluje się o to tylko próbuje odbudować i działa do pierwszego restartu.

: 23 czerwca 2015, 16:47
autor: pawkrol
Sprawdziłem to i wygląda, że masz racje. Gdy macierz jest zdegradowana, to nie jest podnoszona przez system.
Wygląda to na problem skryptu w initramfs.

Zrób tak dla Debian Jessie:
/usr/share/initramfs-tools/scripts/local-top/mdadm w lini 79
usuń wpis:

Kod: Zaznacz cały

    log_failure_msg "failed to assemble all arrays."
a zamiast niego dodaj

Kod: Zaznacz cały

    log_warning_msg "failed to assemble all arrays...attempting individual starts"
    for dev in $(cat /proc/mdstat | grep md | cut -d ' ' -f 1); do
    log_begin_msg "attempting mdadm --run $dev"
        if $MDADM --run $dev; then
        verbose && log_success_msg "started $dev"
        else
    log_failure_msg "failed to start $dev"
    fi
    done
czyli powinno to wyglądać tak:

Kod: Zaznacz cały

.
.
.
if [ "$MD_DEVS" = all ]; then

  verbose && log_begin_msg "Assembling all MD arrays"
  extra_args=''
  [ -n "${MD_HOMEHOST:-}" ] && extra_args="--homehost=$MD_HOMEHOST"
  if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then
    verbose && log_success_msg "assembled all arrays."
  else
    log_warning_msg "failed to assemble all arrays...attempting individual starts"
    for dev in $(cat /proc/mdstat | grep md | cut -d ' ' -f 1); do
    log_begin_msg "attempting mdadm --run $dev"
        if $MDADM --run $dev; then
        verbose && log_success_msg "started $dev"
        else
    log_failure_msg "failed to start $dev"
    fi
    done
  fi
  verbose && log_end_msg
.
.
.
.

Następnie wydaj polecenie:

Kod: Zaznacz cały

update-initramfs -u
Powinno działać. (Oczywiście flagi boot oraz grub na obu dyskach)

: 24 czerwca 2015, 08:41
autor: gaijin
Dziękuję. Teraz działa. Jednak mam dwa pytania:
1. Czy przy aktualizacji pakietu odpowiedzialnego za update-initramfs nie zmieni wpisu w w/w pliku.
2. Jak ustawić flagi boot na dyskach. Aktualnie na żadnym nie mam flagi a system wstaje z dowolnego dysku.

: 24 czerwca 2015, 09:05
autor: pawkrol
Czy przy aktualizacji pakietu odpowiedzialnego za update-initramfs nie zmieni wpisu w w/w pliku.
Bardziej chodzi o aktualizację pakietu mdadm, bo z niego pochodzi owy skrypt - link. Wydaje mi się, że aktualizacja nadmieni plik.
Masz dwa wyjścia albo wstrzymać aktualizację tego pakietu albo musisz sobie kontrolować czy się coś nie zmieniło.

Jak ustawić flagi boot na dyskach. Aktualnie na żadnym nie mam flagi a system wstaje z dowolnego dysku.
Np. programem gparted, cfdisk itp. Jeśli wstaje ci system bez tej flagi, to nie musisz ustawiać. Dawniej była ona wymagana, żeby system wiedział z której partycji zabootować. Jak widać Debianowi to nie jest potrzebne.

: 24 czerwca 2015, 09:54
autor: gaijin
Dziękuję.
Jeszcze jedna sprawa - to jest błąd pakietów mdadm w Debian 8? W Debian 7 tego nie było? Tam mój scenariusz działał bez konieczności modyfikacji /usr/share/initramfs-tools/scripts/local-top/mdadm ? Zgłosić to?

: 24 czerwca 2015, 10:45
autor: pawkrol
Czy tak było w Wheezy to nie wiem, trzeba by to sprawdzić.
Czy jest to błąd? Jeśli w Wheezy jest ok, to wydaje mi się, że tak.

W Jessie jest tak, że gdy macierz jest zdegradowana skrypt oznacza ją jako nieaktywną, przez co nie jej nie podnosi, a co za tym idzie to sam doświadczyłeś. Jak dla mnie tak być nie powinno.

: 24 czerwca 2015, 10:53
autor: LordRuthwen
Ale bajer, zatem wprowadziłem Cię w błąd, bo testowałem na wersji wcześniejszej, czyli Wheezy... pawkrol, trzeba by to zgłosić na bugzilli.

: 24 czerwca 2015, 11:17
autor: gaijin
Dziękuję.
Zgłoście jeśli możecie - ja nie mam doświadczenie z bugzilla...

: 24 czerwca 2015, 12:08
autor: LordRuthwen
Wygląda, że chodzi o ten bug: https://bugs.debian.org/cgi-bin/bugrepo ... bug=784070
Pozwoliłem sobie napisać w wątku i dodać Twoje rozwiązanie pawkrol.

: 24 czerwca 2015, 13:36
autor: pawkrol
Co by być uczciwym nie moje rozwiązanie :p

Link do źródła