16.04LTS'de bozulmuş RAID1 önyükleme nasıl etkinleştirilir?


14

Önceki ubuntu sürümlerinde, kök dosya sistemi bozulmuş bir dizide olduğunda sistemin otomatik olarak önyükleme BOOT_DEGRADED=trueyapmasına /etc/initramfs-tools/conf.d/mdadmizin vermek için ekleme . Bu artık 16.04 LTS'de işe yaramıyor gibi görünüyor.

Dokümantasyon ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) modası geçmiş gibi görünüyor; sudo dpkg-reconfigure mdadmartık bozulmuş botlara izin vermeyi istemiyor ve bootdegraded=trueçekirdek argümanı da artık işe yaramıyor gibi görünüyor. Kök dosya sistemi dizisi bozulduğunda sistem her zaman initramfs ile önyüklenir. Oradan mdadm -IRssistemin açılmasını sağlar.

Kök dosya sistemi 16.04LTS'de bozulmuş bir RAID1 dizisinde olduğunda otomatik önyüklemeyi nasıl etkinleştiririm?


Gerçek yapılandırma hata düzeltildi gibi görünüyor ama başına belgeler hala yanlıştır bugs.launchpad.net/serverguide/+bug/1310162 bugün itibariyle bozulmuş RAID ile önyükleme için izin vermek anladığım kadarıyla, hiçbir ekstra konfigürasyon artık ihtiyaç vardır As (18.04).
Diego

Yanıtlar:


9

Bahsedilen hata mdadm 3.3-2ubuntu7'de görünür ve 3.4-2'de giderilmiştir.

Yakkety (16.10) 3.4-4 için en son mdadm sürümü zaten düzeltmeyi içerir ve 16.04LTS için henüz 16.10 için kullanılabilir, ancak (henüz?) Kullanılamaz.

Böylece elle benim 16.04LTS mdadm yükseltme:

wget http://launchpadlibrarian.net/275652884/mdadm_3.4-4_amd64.deb
sudo dpkg -i mdadm_3.4-4_amd64.deb

Doğrulamak için I

  • bilgisayarı Kapat
  • disklerden biri takılı değil / ssd
  • Bilgisayarı aç

Konsolu gözlemlemek: Bozuk baskın dizisinden önyükleme çalışıyor !

Hata: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070


1 hafta aramamı çözdün ... Teşekkürler adamım.
Fahad Ahammed

Bu böcek iç karartıcı bir okuma.
Kevin Lyda

1

Kök neden /usr/share/initramfs-tools/scripts/local-top/mdadmkomut dosyası yok gibi görünüyor - Debian-8'de mdadmpakete dahil edildi , ancak aynı pakette Ubuntu-16.04 ;-( için kayboldu

Kirli saldırı sürümünü oluşturduktan ve yeniden oluşturduktan sonra initramfs- testim Ubuntu-16.04 LTS sunucum RAID1 dizisinden sadece ikinci HDD'yi kullanarak tamamen önyükleme yapabildi.

#!/bin/sh
# 2016-07-13 andrey@kopeyko.ru - missed mdadm script for Ubuntu-16.04
# see debian8_host:/usr/share/initramfs-tools/scripts/local-top/mdadm for full version

MDADM=/sbin/mdadm 
. /scripts/functions

echo "===>"
cat /proc/mdstat
echo "===>"
log_begin_msg "Assembling all MD arrays"
if $MDADM --assemble --scan --run --auto=yes
then
  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
      log_success_msg "started $dev"
    else
      log_failure_msg "failed to start $dev"
    fi
  done
fi
log_end_msg
echo "===>"
cat /proc/mdstat
echo "===>"

sleep 5

# TODO: run mdadm --readwrite /dev/mdN
# if array is in 'auto-read-only' mode

1
Bu betiği koyduktan /usr/share/initramfs-tools/scripts/local-top/mdadmsonra ile yükleyin update-initramfs -k all -u. Ancak bir uyarı oluşturur. satırdan case ${1:-} in prereqs) echo "multipath"; exit 0;; esacönce verilen uyarıyı devre dışı bırakmak için . /scripts/functions.
Kevin Lyda

Evet, bir uyarı oluşturur - ancak bu uyarı zararsızdır. Bence functionsolası yan etkiler yüzünden bilgisayar korsanlığı iyi bir fikir değil. Bu yüzden bu uyarıyı görmezden geliyorum.
Andrey Kopeyko

0

16.04 ile aynı sorunu vardı, raid dizi basit bozulmuş modunda aktif olmayı reddetti.

İşte kolay bir çözüm:

  1. yeni dosya oluştur: / etc / initramfs-tools / scriptler / init-premount / delay_mounting (+ x ayarını unutmayın)

Ekle

20 uyku (veya tercih ettiğiniz saniye)

  1. yeni dosya oluştur: / etc / initramfs-tools / scriptler / local-top / mdadm (+ x ayarını unutmayın)

aşağıdakileri ekleyin (/ dev / md0, / dev / md1 ve / dev / md2 varsa başlangıç ​​dizisini zorla)

mdadm --run / dev / md0
mdadm --run / dev / md1
mdadm --run / dev / md2

sonra

update-initramfs -k all -u , o zaman hepiniz hazırsınız .

Lütfen, 14.04 için sadece 1) gereklidir, ancak her ikisini de yapmak zarar vermez. dışında aşağıdakiler gibi bazı uyarı mesajları görebilirsiniz:

mdadm: dizi / dev / md0 çalıştırılamadı: Aygıt veya kaynak meşgul

bu zararsızdır, çünkü sadece / dev / md0 aktif olduğu için, sadece gerektiğinde --run komutunu yürütmek için daha akıllı komut dosyası yazabilirsiniz.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.