Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Update mdadm/RAID - Devices von md[0,1,2] auf [125,126,127]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
KaterGonzo
Apprentice
Apprentice


Joined: 01 Apr 2004
Posts: 155

PostPosted: Mon Dec 06, 2010 2:55 pm    Post subject: Update mdadm/RAID - Devices von md[0,1,2] auf [125,126,127] Reply with quote

Servus liebe Community,

folgendes Problem mit meinem Home-Server: mdadm steuert die Raid-Devices nicht mehr als /dev/md[0,1,2], sondern willkürlich als /dev/md[125,126,127] an, was das System unbootable macht.

Ich fange erst einmal mit ein paar allgemeinen Informationen an:

Kernel-Version: 2.6.34-gentoo-r6
mdadm-Version: mdadm-3.0
Software-Raid: Raid-1 (spiegeln)

Vorgeschichte
Vor langer Zeit habe ich das Software-Raid mit diesem Befehl angelegt:

Code:
mdadm -C /dev/md0 -l 1 -n 2 /dev/sda1 /dev/sda2
mdadm -C /dev/md1 -l 1 -n 2  /dev/sda2 /dev/sda2
mdadm -C /dev/md2 -l 1 -n 2  /dev/sda3 /dev/sda3


Hier die daraus resultierende /etc/mdadm.conf:

Code:
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 UUID=cb28a94e:40d93554:4fc4e4ff:e7b86def
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=860e225c:1d59d285:9224bc57:2ab24b23
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=f93c01cd:70d9be28:a740eabd:3d89ce85


Ich habe regelmäßig world und system geupdatet, aber das System seit längerem nicht neugestartet (d.h. packages auf dem aktuellsten Stand, Kernel nicht). Nachdem die Kiste neugestartet wurde, stellte sich heraus, dass udev nicht mit dem alten Kernel läuft, so dass ich mit ner Gentoo-Live-CD den Kernel aktualisiert habe.

Problem: RAID-Devices werden willkürlich benannt
Neuer Kernel funktioniert, nur waren die Raid-Devices md[0,1,2] auf einmal als als 125,126,127 in der Live-CD angegeben! Ist zwar nicht toll, wenn sich die Namen ändern, aber ich habe die Devices brav in der grub.conf und fstab angepasst. Das Problem: die Devices /dev/md125, /dev/md126, /dev/md127 wechselten nach jedem Neustart!

Tja, danach habe ich wirklich aufgrund meiner Zeitnot probiert, probiert und probiert, wo ich sehr wahrscheinlich auch einige Fehler gemacht habe. Irgendwann habe ich sogar die zweite Festplatte vom System getrennt, um im Falle eines Totalausfalls zumindest ein Backup zu haben.

Der aktuelle Stand
Irgendwie habe ich die Kiste wieder zum Laufen gebracht (ohne wechselnden RAID-Devices). Was mich wundert ist, dass die RAID-Devices auf dem Echtsystem anders angesprochen werden als bei der GENTOO LIVE-CD:

Code:
# ls -l /dev/md*
brw-rw---- 1 root disk 9,   0 Dec  3 14:46 /dev/md0
brw-rw---- 1 root disk 9,   1 Dec  3 14:46 /dev/md1
brw-rw---- 1 root disk 9, 126 Dec  3 14:46 /dev/md126
brw-rw---- 1 root disk 9, 127 Dec  3 14:46 /dev/md127

/dev/md:
total 0
lrwxrwxrwx 1 root root 8 Dec  3 14:46 126_0 -> ../md126
lrwxrwxrwx 1 root root 8 Dec  3 14:46 127_0 -> ../md127
lrwxrwxrwx 1 root root 6 Dec  3 14:46 1_0 -> ../md1


Verstehe ich nicht, aber die Bezeichnungen bleiben konstant, so dass das System wieder problemlos bootet.

Leider fehlt dem Vogel ein Flügel zur Zeit:

Code:
 # cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0]
      104320 blocks [2/1] [U_]
     
md1 : active raid1 sda2[0]
      1003968 blocks [2/1] [U_]
     
md127 : active raid1 sda3[0]
      77039616 blocks [2/1] [U_]
     
unused devices: <none>


Meine Fragen

1.) Warum wurden die Devices umbenannt und wie kann ich aus dem laufenden Betrieb die Bezeichnung "fix machen". Ich habe noch ein weiteres System welches ebenfalls aktualisiert werden müsste. Würde mir hier das Theater gerne ersparen.
2.) Wie kann ich die fehlende HDD hinzufügen, ohne das es Probleme gibt. Ich darf hier keinen Fehler machen, ansonsten ist das System futsch.


Last edited by KaterGonzo on Wed Dec 08, 2010 7:01 pm; edited 1 time in total
Back to top
View user's profile Send private message
r3tep
Tux's lil' helper
Tux's lil' helper


Joined: 10 Sep 2005
Posts: 108

PostPosted: Mon Dec 06, 2010 3:54 pm    Post subject: Reply with quote

Ich habe vor einiger Zeit aus einem anderem Grund (SATA-DVD-Brenner eingebaut) von den absoluten Geräten (/dev/md1, /dev/sda ...) auf diese umgestellt:

fstab:
Code:

/dev/disk/by-id/md-uuid-1ab16093:f8ba3b9c:5f642827:99c02b6d etc.


mdadm.conf
Code:

ARRAY /dev/md1 metadata=0.90 UUID=1ab16093:f8ba3b9c:5f642827:99c02b6d
DEVICE /dev/disk/by-id/ata-ST3500412AS_6VV2LENC-part1 /dev/disk/by-id/ata-ST3500412AS_6VV2M0BD-part1



Da Du eine Platte Deines RAID1 entfernt hast, müssen die Platten ohnehin synchronisiert werden.

Wie bei allen anderen Arbeiten an Festplatten solltest Du natürlich ein Backup parat haben.
Back to top
View user's profile Send private message
KaterGonzo
Apprentice
Apprentice


Joined: 01 Apr 2004
Posts: 155

PostPosted: Mon Dec 06, 2010 4:11 pm    Post subject: Reply with quote

Ist die UUID (ok, der name sagt es eigentlich schon aus) eindeutig und ändert ich NIE?

1. FRAGE: Was müsste in meinem Beispiel in die /etc/fstab, was in die grub.conf eingetragen werden?

Code:
# mdadm --detail /dev/md127
/dev/md127:
        Version : 0.90
  Creation Time : Wed Sep  5 08:36:21 2007
     Raid Level : raid1
     Array Size : 77039616 (73.47 GiB 78.89 GB)
  Used Dev Size : 77039616 (73.47 GiB 78.89 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 127
    Persistence : Superblock is persistent

    Update Time : Mon Dec  6 17:09:12 2010
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           UUID : 860e225c:1d59d285:9224bc57:2ab24b23
         Events : 0.40474146

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       0        0        1      removed


2. FRAGE: Erkennt mdadm ausschließlich anhand des superblocks, welche Platten zu welchem RAID gehört?

Code:
# mdadm -E /dev/sda3
/dev/sda3:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 860e225c:1d59d285:9224bc57:2ab24b23 <--------------- !!!!!!!!!!!!!!
  Creation Time : Wed Sep  5 08:36:21 2007
     Raid Level : raid1
  Used Dev Size : 77039616 (73.47 GiB 78.89 GB)
     Array Size : 77039616 (73.47 GiB 78.89 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 127

    Update Time : Mon Dec  6 18:29:42 2010
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0
       Checksum : a6b08bd2 - correct
         Events : 40478144


      Number   Major   Minor   RaidDevice State
this     0       8        3        0      active sync   /dev/sda3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       0        0        1      faulty removed


3. FRAGE: Warum wurde nach dem Update die mdadm.conf ignoriert?
Wenn Frage 2 mit Ja beantwortet: Die UUIDs passen auch mit dem Einträgen im Superblock(?) überein. Oder hält mdadm an einer anderen Stelle die konfiguration vor?
Code:
## AUSZUG mdadm.conf

ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 UUID=cb28a94e:40d93554:4fc4e4ff:e7b86def
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=860e225c:1d59d285:9224bc57:2ab24b23
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=f93c01cd:70d9be28:a740eabd:3d89ce85
Back to top
View user's profile Send private message
r3tep
Tux's lil' helper
Tux's lil' helper


Joined: 10 Sep 2005
Posts: 108

PostPosted: Tue Dec 07, 2010 12:00 pm    Post subject: Reply with quote

Der UUID ist eindeutig, Software- oder Bedienungsfehler sind natürlich nicht ausgeschlossen.

1.:

In der fstab steht bei mir:

Code:

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

/dev/sda1               /boot           auto            noatime         1 2
/dev/sda3               /                  ext3            noatime         0 1
/dev/sda2               none            swap            sw              0 0

#/dev/md1               /mnt/newhome    auto    rw,noatime,noauto       0 0
/dev/disk/by-id/md-uuid-1ab16093:f8ba3b9c:5f642827:99c02b6d     /home   auto    rw,noatime      0 2


Der UUID ersetzt bei mir einfach den Gerätenamen:

Code:

ls /dev/disk/by-id/md-uuid-1ab16093:f8ba3b9c:5f642827:99c02b6d -l
lrwxrwxrwx 1 root root 9  7. Dez 12:08 /dev/disk/by-id/md-uuid-1ab16093:f8ba3b9c:5f642827:99c02b6d -> ../../md1


GRUB hat seine eigene Art und Weise die Geräte zu beschreiben. Da Du anscheinend von dem Array bootest, sollte der bisherige Eintrag weiterhin funktionieren.


2.:

Die Zuweisung von Platten zu Arrays wird bei jedem Systemstart nach Bedarf festgelegt. Bei mir hat ein neu eingebauter DVD-Brenner (jetzt sdc) das Array (sdc + sdd) verschoben (sdd +sde). Daher benutze ich jetzt die eindeutige Zuweisung.

Dazu kommt, dass die Erkennung auch durch die Kernelkonfiguration beeinflusst werden kann. Genaueres weiß ich jetzt aber auf Anhieb nicht auswendig.

Später folgt evtl. noch eine Ergänzung.
Back to top
View user's profile Send private message
KaterGonzo
Apprentice
Apprentice


Joined: 01 Apr 2004
Posts: 155

PostPosted: Tue Dec 07, 2010 1:27 pm    Post subject: Reply with quote

r3tep wrote:
Da Du anscheinend von dem Array bootest, sollte der bisherige Eintrag weiterhin funktionieren.

Naja, wenn Du meine Story gelesen hast: die Devices haben sich ja geändert. Daher meine Frage, ob man die UUID auch in grub.conf eintragen kann. Ich habe mal anhand dieses Artikels die UUID in der grub.conf angegeben: https://forums.gentoo.org/viewtopic-t-700980-start-0.html

Leider ohne Erfolg (man braucht dafür initramfs image), das habe und will ich nicht.
Quote:
You have to have an initramfs (initrd) image, that was built by genkernel, loaded in order to get this support. The kernel itself does not, (and won't according to the kernel devs), support this syntax.


Warum und wer verändert denn die Devices. Bei mir siehts echt durcheinander aus:

Code:
# ls -n /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 37e82044-18ef-48de-a48b-7444d23cffc5 -> ../../md127
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 ff448824-764f-4097-84f9-2971ded3ab01 -> ../../md126

# ls -n /dev/disk/by-id/
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 md-uuid-860e225c:1d59d285:9224bc57:2ab24b23 -> ../../md127
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 md-uuid-cb28a94e:40d93554:4fc4e4ff:e7b86def -> ../../md126
lrwxrwxrwx 1 0 0  9 Dec  3 14:46 md-uuid-f93c01cd:70d9be28:a740eabd:3d89ce85 -> ../../md1


Kann es sein, dass die LIVE-CD in irgendeiner Form die Superblocks der Partitionen geändert hat? Der Inhalt in /dev/disk/by-uuid/ und /dev/disk/by-id/ unterscheidet sich nicht nur in der Menge, sondern die UUIDs sind völlig unterschiedlich. Das was in /dev/disk/by-id/ steht, stimmt mit den Werten überein, was mdadm anzeigt.
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2042
Location: My own world! I and Gentoo!

PostPosted: Tue Dec 07, 2010 4:45 pm    Post subject: Reply with quote

Gebe statt diesem root=UUID=foo-bar-123-456 welches wie du richtig erkannt hast durch eine initrd erst umgesetzt werden muss,
Lieber den kompletten Pfad an, also root=/dev/disk/by-uuid/foo-bar-123-456.

Davon abgesehen verwendet mein Vater lieber die Zuweißung per ID
also /dev/disk/by-id/ata-MAXTOR_STM3320620A_9QF31Y34-part1 (als Bsp.)
Denn anders als die UUID die sich mit jeder formatierung ändern können, kann sich die ID nicht ändern, da sie die Seriennummer der Festplatte sowie die Partitionierung "enthält".

Analog gibt es für die dm-Geschichten:
/dev/disk/by-id/dm-name-vg0-distfiles

(Ist hier ein lvm2)
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4459

PostPosted: Tue Dec 07, 2010 6:28 pm    Post subject: Reply with quote

Max Steel wrote:
Gebe statt diesem root=UUID=foo-bar-123-456 welches wie du richtig erkannt hast durch eine initrd erst umgesetzt werden muss,
Lieber den kompletten Pfad an, also root=/dev/disk/by-uuid/foo-bar-123-456.

Davon abgesehen verwendet mein Vater lieber die Zuweißung per ID
also /dev/disk/by-id/ata-MAXTOR_STM3320620A_9QF31Y34-part1 (als Bsp.)
Denn anders als die UUID die sich mit jeder formatierung ändern können, kann sich die ID nicht ändern, da sie die Seriennummer der Festplatte sowie die Partitionierung "enthält".

Analog gibt es für die dm-Geschichten:
/dev/disk/by-id/dm-name-vg0-distfiles

(Ist hier ein lvm2)

sicher dass der kernel ohne eine initrd/initramfs die Einträge unter /dev/disk/ kennt? AFAIK werden die Einträge unter /dev/disk/*/* von udev angelegt.
siehe auch
https://forums.gentoo.org/viewtopic-p-6172663.html
https://bbs.archlinux.org/viewtopic.php?id=53351
https://wiki.archlinux.org/index.php/Persistent_block_device_naming#In_your_boot_manager

EDIT: Gerade in ner VM mit gentoo, grub2 und einem 2.6.34 kernel getestet. Der kernel kann das root-device nicht finden, wenn als root=/dev/disk/by-uuid/* angegeben wird.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2042
Location: My own world! I and Gentoo!

PostPosted: Tue Dec 07, 2010 6:34 pm    Post subject: Reply with quote

So schnell kanns gehen: Habe da etwas durcheinandergewürfelt.
Danke dir.
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
KaterGonzo
Apprentice
Apprentice


Joined: 01 Apr 2004
Posts: 155

PostPosted: Tue Dec 07, 2010 8:33 pm    Post subject: Reply with quote

Richtig! Bei mir bootet die Kiste auch nicht und sagt, dass das Device nicht gefunden wird.

Außerdem: Deine Aussage, dass die Einträge in /dev/disk/by-id fest sind, scheint nicht zu stimmen. Außerdem haben meine RAID-Devices keinen Hardware-Hersteller :-)

Code:
# ls -n /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 37e82044-18ef-48de-a48b-7444d23cffc5 -> ../../md127
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 ff448824-764f-4097-84f9-2971ded3ab01 -> ../../md126

# ls -n /dev/disk/by-id/
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 md-uuid-860e225c:1d59d285:9224bc57:2ab24b23 -> ../../md127
lrwxrwxrwx 1 0 0 11 Dec  3 14:46 md-uuid-cb28a94e:40d93554:4fc4e4ff:e7b86def -> ../../md126
lrwxrwxrwx 1 0 0  9 Dec  3 14:46 md-uuid-f93c01cd:70d9be28:a740eabd:3d89ce85 -> ../../md1


In by-id sind die aktuellen UUIDs, welche vom RAID verwendet werden. Die passen aber nicht mit dem Inhalt aus by-uuid überein.

Irgendjemand (verdammt, aber wer????) hat die UUIDs angepasst. Macht das die GENTOO-LIVE-CD?
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3629
Location: Germany

PostPosted: Tue Dec 07, 2010 8:58 pm    Post subject: Reply with quote

Jo, sofern in der GRUB Kernelzeile etwas wie
root=UUID=xxxxxxxx
oder
root=LABEL="xxx"
verwendet werden soll wird eine initrd benötigt.
So eine kann aber zb mithilfe der genkernel Scripte recht einfach und schnell erstellt werden,
zb
Code:
# genkernel --oldconfig --no-ramdisk-modules ramdisk
erstellt eine schlanke initrd ohne Module --> /boot
(diese muss dann natürlich noch in der grub.conf mit angegeben werden)
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4459

PostPosted: Mon Dec 13, 2010 8:22 pm    Post subject: Reply with quote

Hinweis: ab 2.6.37 unterstützt der kernel auch ohne eine initrd das mounten des root-dateisystems über eine UUID:
source: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=b5af921ec02333e943efb59aca4f56b78fc0e100
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum