Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

14.05.2012, 16:37

Gentoo-Installation mit RAID-1 (2x3TB)

Hallo @lle,

hätte eine kurze Frage zu einer bevorstehenden (ersten) RAID-Installation...

Was ich gerne machen würde ist, die beiden, im Server verbauten 2x3TB zu einem RAID-1 Verbund zusammenzufassen.Dazu habe ich mir folgende Gentoo-Anleitungen seit Stunden angesehen. http://en.gentoo-wiki.com/wiki/RAID/Software / http://wiki.gentoo.org/wiki/GRUB2 && http://www.gentoo.de/doc/de/gentoo-x86+r…uickinstall.xml.
Ich komme auch eigentlich klar damit, also vom Verständnis sollte es schon passen. Auf http://www.gentoo.de/doc/de/gentoo-x86+r…uickinstall.xml wird noch zusätzlich die Erstellung von LVM-Gruppen eingegangen, auf die ich aber verzichten möchte, da ich ohnehin NUR 4 Partitionen erstellen werde: /boot / /swap und /home...

Meine Fragen sind folgende...

Ich erstelle mit parted die GPT-Tabellen auf beiden Disks...

Quellcode

1
2
3
4
parted /dev/sda
(parted) mklabel gpt
(parted) mkpart primary 0 3001G <- Hier gebe ich natürlich die Größen die erstellt werden sollen an... 0 16G... 16 766G... usw...
(parted) quit


Quellcode

1
2
3
parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 3001G <- Hier gebe ich natürlich die Größen die erstellt werden sollen an... 0 16G... 16 766G... usw...(parted) quit


Dann:

Quellcode

1
2
3
4
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sd[ab]1
mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sd[ab]2
mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sd[ab]3
mdadm --create --verbose /dev/md4 --level=1 --raid-devices=2 /dev/sd[ab]4


So... nun kommt das hakelige:

Nachdem die 4 Partitionsarrays erstellt sind, muss ich die partitionieren. Dabei kommt der /boot und der swap Partition besondere Geltung hinzu, da sie dennoch als "physikalische" Laufwerke arbeiten sollen... Laut den Anleitungen werden dann die /boot und die swap - Partition DENNOCH als "physikalische" Datenträger angesprochen... Also grub2 wird auf beiden Platten -> /dev/sda UND /dev/sdb installiert. Ebenso muss in der fstab 2mal auf die swap verwiesen werden, damit sie unabhängig sind, sollte einer Platte "etwas passieren".

Ich versteh das zwar, aber es erscheint mir absolut "unmöglich" OBWOHL es Arrays gibt, DENNOCH eine Platte als "dev/sda bzw. /dev/sdb" ansprechen zu können... Ich dachte immer, das wenn es ein Array gibt, die Platten NUR NOCH unter dem Arraynamen aufrufbar sind... Ich habe daher etwas Schiß, das es sich evtl. um ein Fehler im How-To handeln könnte. Der Server ist mit gentoo installiert (Hab das vorinstallierte Debian runtergeschmissen, gefiel mir nicht). gentoo steht, allerdings hab ich heute gelesen, das ich besser mal die Platten als Array gebuildet hätte...

Könnt Ihr mir da meine Angst vor Falschmachen etwas zumindest nehmen?
Gruß
mnt_gentoo
_________________________________________________________________________________________

Die Launen und das Schicksal eines Gentoo-Users: ?( :| :cursing: :wacko: 8| ^^ 8o ;( :P ?( ...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mnt_gentoo« (20.05.2012, 04:07)


2

14.05.2012, 22:18

Den Grub musst du zwei mal installieren, weil ja der MBR außerhalb der Partitionen liegt und nicht mit gespiegelt wird.
Der MBR in /dev/sda und /dev/sdb ist ja nicht vom Raid betroffen. Spiegeln tust du ja nur /dev/sda1 usw., also die Partitionen.
Grub wird also bei der Installation in /boot gespiegelt installiert, allerdings musst du den Teil, der in den MBR gehört via grub-install in alle MBRs einzeln schreiben.
Soweit klar?

Mit dem Swap, das ist hald so die Frage, ob man den wirklich spiegeln muss.
So hast du dann ein System, das auch bei Ausfall noch weiter laufen kann, selbst wenn gerade geswappt wurde.
Andererseits könntest du die Performance erhöhen, indem du dem Kernel die beiden Partitionen einzeln gibst, ohne Raid.
Eigentlich müsstest du den swap, wenn er gespiegelt ist, nur einmal in die fstab eintragen. /dev/mdx eben.
Wenn du aber /dev/sdax und /dev/sdbx eintragen sollst nach howto, dann ist sicherlich gemeint, dass er nicht gespiegelt ist.

Auf eine Partition, die ein Raid device ist direkt zu schreiben, ist eine ziemlich schlechte Idee.
Lesen ist aber beim Raid1 kein Problem. Grub macht das ja auch. (also Grub1), man kann einen Teil eines Raid1 einfach einzeln ro mounten, als wär es keiner.

Gruß
Foyaxe

3

15.05.2012, 14:43

Hallo Foyaxe :)

Sorry, hatte es gestern nicht mehr geschafft, zu antworten :whistling: Ich danke Dir für Deine Erläuterungen :thumbup: Habs aber leider noch nicht hinbekommen, obwohl ich was anderes erwartet hatte eigentlich. Problem war wiedermal: "grub" :cursing: Aber grub2. Ich erzähle einmal wei ich vorgegangen bin:

  • 1. Platten alle beide mit gpt-Partitionstabelle versehen
  • 2. Auf beiden Platten die exakt gleichen Partitionen (-und Größen) erstellt: (16GB /boot | 128GB swap (Server hat 64GB-Ram) - ich nehme für swap und Auslagerungsspeicher (Windows Pagefile.sys) generell die doppelte Menge an Plattenplatz des Arbeitsspeichers) | und der Rest für /. Eine separate /home habe ich nicht erstellt.
  • 3. Mit

    Quellcode

    1
    2
    
    mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sd[ab]1
    mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sd[ab]3
    die Arrays erstellt. Die swap-Partitionen habe ich nicht gespiegelt erstellt gehabt, sondern nur 2mal in der fstab angegeben. Als "normale" libata-Devices, also sdX...
  • 4. Partitioniert mit "mkfs.ext4 /dev/md1 && mkfs.ext4 /dev/md3" und normal das System installiert. Im Kernel die RAID-relevanten Sachen als "built-in" (mirrioring/striping) Und "RAID-Autodetect"...

Dabei hatte ich auch eine unlösbare Verständnisfrage: Ich las im Internet, das wenn IM KERNEL die RAID-Autodetect auf on ist, also built-in, das man keine Zusätzliche "mdadm-Soft" brauche... - evtl. ein Fehler meinerseits...

bis zum "grub2-install --no-floppy /dev/sdX && sdY" lief aber alles "erste Wahl"... Nur dieser beschwerte sich, das es keine "grub2_bios" Partition gebe, bzw er nirgendwo die grub-Informationen "embedden" könnte. "Dies wäre bei 'cross-booting?!' also der gegebenen Situation unbedingt erforderlich und ohne ginge es nicht..."

Kapier ich zwar irgendwie "mal" nicht jetzt, zumal wie Du ja auch gestern mir erklärt hattest, das "sdX / sdY garnicht im RAID-Verbund SELBST" mit liegt... Allerdings muss ich, wenn ich grub2 mit grub2-install auf eine mit gpt erstellte Disk installieren will, die Option "--force" mit angeben. Ansonsten installiert er mir den da auch nicht... Aber die Option -f machts dann doch möglich...

Was mich ebenfalls BRENNEND interessiert hatte: grub2-mkconfig -o /boot/grub2/grub.cfg konnte er erstellen... WIE?! wenn er keine Platteninformationen auslesen kann, die sich nun -WIRKLICH- im RAID befinden...???!!! Echt höchstseltsam...

Irgendwie juckts mich ja in den Fingern, das nochmal auszuprobieren, aber hab gestern ohne RAID auf dem Server neuinstalliert, werd die 2te Platte benutzen um Backups drauf zu speichern - wahrscheinlich. Zumal las ich im Inet nicht wenig über die "gehörige Portion Magie" die wohl zum erfolgreichen Software-RAID-X - Betrieb ab gewissen Kernelversionen nötig sein soll... Gibt da einige, die am selben Problem nach erfolgreicher Installation ankamen...

Jedoch kapier ich einfach nicht, wo da der Unterschied liegt, ob ich eine gpt-Tabelle mit ext4-Partition oder eine msdos-Tabelle und eine fat32-Partition habe (ist für mbr empfohlen um grub dorthin installen zu lassen) Wenn ich nämlich mit parted die Tabelle auf den Disks erstelle, dann ist die KOMPLETT mit gpt und auch dort, wo grub2 seinen msdos-Kram gerne hätte :// :wacko: :S

Naja, vielleicht fällt Dir/Euch noch etwas ein, ich hab mich selbst unter Windoof noch ausser einmal (und das war nen Reinfall) nie mit RAID's beschäftigt...
Gruß
mnt_gentoo
_________________________________________________________________________________________

Die Launen und das Schicksal eines Gentoo-Users: ?( :| :cursing: :wacko: 8| ^^ 8o ;( :P ?( ...

4

19.05.2012, 18:55

Hallo Foyaxe und @ll,
Lesen ist aber beim Raid1 kein Problem. Grub macht das ja auch. (also Grub1), man kann einen Teil eines Raid1 einfach einzeln ro mounten, als wär es keiner.
Hab das nochmal aufgegriffen, weil es mir bisher nicht möglich war, mit grub2 (1.99-r2) einen RAID-Verbund zu booten.

Auf der platte hatte ich eine kleine Minipartition für den "post-GAP-MBR" erstellt, in den grub sein core.img legen kann, darüber hinaus 4 andere Partitionen wie /boot / swap und /home.
Diese dann mit:

Quellcode

1
mdadm --create --verbose --assume-clean /dev/md0 --level=1 --raid-devices=2 /dev/sd[ab]1

Quellcode

1
mdadm --create --verbose --assume-clean /dev/md1 --level=1 --raid-devices=2 /dev/sd[ab]2

Quellcode

1
mdadm --create --verbose --assume-clean /dev/md2 --level=1 --raid-devices=2 /dev/sd[ab]3

Quellcode

1
mdadm --create --verbose --assume-clean /dev/md3 --level=1 --raid-devices=2 /dev/sd[ab]4


erstellt.

Nach dem HowTo auf Seite: - http://www.gentoo.de/doc/de/gentoo-x86+r…uickinstall.xml - vorgegangen, um den kernel richtig vorzubereiten:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(Konfigurieren Sie Ihren Kernel wie üblich und stellen Sie sicher, dass
die von Ihnen benötigten RAID- und LVM-Module einkompiliert werden, d.h.
nicht als Module. Dasselbe gilt auch für Festplattentreiber und
Dateisysteme.)
Multi-device support (RAID and LVM)  --->
[*] Multiple devices driver support (RAID and LVM)
  <*>   RAID support
  < >     Linear (append) mode (NEW)
  <*>     RAID-0 (striping) mode
  <*>     RAID-1 (mirroring) mode
  < >     RAID-10 (mirrored striping) mode (EXPERIMENTAL) (NEW)
  < >     RAID-4/RAID-5 mode (NEW)
  < >     RAID-6 mode (NEW)
  < >     Multipath I/O support (NEW)
  < >     Faulty test module for MD (NEW)
  <*>   Device mapper support
  < >     Crypt target support (NEW)
  < >     Snapshot target (EXPERIMENTAL) (NEW)
  < >     Mirror target (EXPERIMENTAL) (NEW)
  < >     Zero target (EXPERIMENTAL) (NEW)
  < >     Multipath target (EXPERIMENTAL) (NEW)
  < >     Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)



Nach folgender Anleitung: - http://en.gentoo-wiki.com/wiki/RAID/Software -

Quellcode

1
2
3
emerge mdadm

rc-update add mdadm boot


noch die RAID-Verwaltungssoft für Linux installiert, ausserdem noch dem Hinweis (kam in den "Notes" bei der mdadm-Installation), mdraid zu installieren und "RUNLEVEL-boot" zu setzen, nachgekommen...

Doch booten tut das System nicht. Nach den Logfiles, die er in das Temporäre Rescue-System legt, findet er beim Start kein RootFilesystem.

Quellcode

1
mdX - unknown FS Type - Array stopped"


Laut einigen Anleitungen, die ich hier garnicht alle aufzählen kann, soll grub2 von gentoo nicht "metadata=1.2" gepatched sein - Debian-grub2 aber schon. Das ist sicher. Dann las ich einige Ausführungen darüber, das grub2 DOCH "metadata.v1.x" fähig sein soll, doch wenn man im Kernel "Autodetect" setzt, dürfte man nur Metadata.v0.9 nehmen, ODER man müsse den Autodetect aus dem Kernel herausnehmen, und die mdadm-Software über eine initramfs starten lassen...

Anleitungs-Beispiele: - http://forums.gentoo.org/viewtopic-t-751790-start-0.html - http://forums.gentoo.org/viewtopic-t-866913-start-0.html -

Hab, wer weiss wie oft ge-chrooted - Optionen im kernel anders gesetzt - mit initramfs rumge"fummelt" - ... aber... Der Fehler mit dem "Unknown-Root-FS" beim Start gentoo's blieb bestehen...

Ich weiss nicht/wüsste/wusste nicht, was ich sonst noch machen/hätte machen könnte... Was ich überhaupt nicht verstehe ist*, warum ein neuer Kernel (3.2.12 stable) kein matadata.v1.x unterstützen sollte, wie es in der obigen letztgenannten Anleitung steht...

Es war ein unlösbares Rätsel... Wenn Ihr noch einen Tip hättet: Ich wär Euch mehr als dankbar!! Ansonsten, musst ich mich dann halt doch an Debian gewöhnen, da geht es ja, obwohl: Debian nutzt Kernel 2.6.32-5 - ein also wesentlich älteres "Teil"...

*

Zitat

Debian has patched grub2 to support metadata 1.x, Gentoo has not. Too see for yourself, look in disk/mdraid_linux.c


/* FIXME: Also support version 1.0. */

if (sb.major_version != 0 || sb.minor_version != 90)

return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,

"unsupported RAID version: %d.%d",


sb.major_version, sb.minor_version);



Debian squeeze’s diff contains


--- grub2-1.98+20100804.orig/debian/patches/linux_mdraid_1x.patch

+++ grub2-1.98+20100804/debian/patches/linux_mdraid_1x.patch

@@ -0,0 +1,307 @@

+Description: Support mdraid 1.x

+Author: Robert Millan <rmh@debian.org>

+Forwarded: not-needed, patch from upstream

+Last-Update: 2010-11-04
...weiter im Text...

Zitat

Grub2 supports 0.9 metadata and 1.x metadata just fine.

It is the kernel that requires 0.9 metadata if you want to boot without using an initrd/initramfs.

Blickt IHR da durch?! :P 8) :whistling: ich -meinerseits- nämlich nicht so "unbedingt"... ...EDIT: Jetzt schon ;)
Gruß
mnt_gentoo
_________________________________________________________________________________________

Die Launen und das Schicksal eines Gentoo-Users: ?( :| :cursing: :wacko: 8| ^^ 8o ;( :P ?( ...

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »mnt_gentoo« (20.05.2012, 04:08)


5

20.05.2012, 04:33

So Leute...


...da ich (mal wieder wie immer) keine Ruhe in mir verspüre, solange etwas ungelöst ist... habe ich mir (mal wieder) den gesamten Abend um die Ohren geschlagen, und Lösungen gesucht...


Die Lösung ist folgende: Vorgestern Abend kam ich auf die Idee, es mit einer initramfs zu probieren... Erinnert Ihr Euch?! So ähnlich war das Problem mit UvesaFB und meinem gentoo-Rechner hier doch vor nicht allzulanger Zeit...


Nur habe ich vorgestern nicht den Parameter:


MDADM="yes"
MDADM_CONFIG_FILE="/etc/mdadm.conf"


in der genkernel.conf gesetzt :/ Hab diese beiden Parameter in der genkernel.conf (aus einigen anderen HowTo's im Internet, die ich noch so fand auf meinen Streifzügen) gesetzt und die initramfs per:


Quellcode

1
genkernel --no-keymaps initramfs


erstellt...


Diese dann in der grub.cfg (/boot/grub2/grub.cfg) als initrd eingefügt... AUSSERDEM!! -> An das Ende der Kernelzeile -> "domdadm" nicht vergessen anzufügen (damit die initramfs die RAID-Treiber initialisiert, da der Kernel - wie wir jetzt wissen -
selbst keine metadata=1.2 lesen kann...


So sieht das dann in etwa aus in der grub.cfg


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
menuentry 'Gentoo GNU/Linux, with Linux 3.2.12-gentoo' --class gentoo --class gnu-linux --class gnu --class os { 

load_video 
insmod gzio 
insmod raid 
insmod mdraid1x 
insmod part_gpt 
insmod part_gpt 
insmod ext2 
set root='(mduuid/84c2dc27037a8ae5c45918c56253845e)' 
search --no-floppy --fs-uuid --set=root 29cc68cf-1d46-45aa-9ef2-921712b6ba15 
echo 'Loading Linux 3.2.12-gentoo ...' 
linux /kernel-3.2.12-gentoo root=/dev/ram0 real_root=/dev/md3 ro domdadm 
initrd /initramfs-genkernel-x86_64-3.2.12-gentoo


Ausserdem mdadm sowie mdraid mit:

Quellcode

1
2
rc-update add mdadm boot 
rc-update add mdraid boot


dem RUN-Level "boot" adden. Das war meine Lösung... Ist aus einigen einigen einigen (wie Ihr selbst seht im obigen Roman) How-To's - und aus langsamen Herantasten während 4 schlaflosen Nächten (meinen) zusammengetragen... Wenn es noch jemanden gibt, der nicht "seine" Lösung auf den FAQ-/How-To Seiten finden konnte... Vielleicht hilft meine Lösung ja :)
Gruß
mnt_gentoo
_________________________________________________________________________________________

Die Launen und das Schicksal eines Gentoo-Users: ?( :| :cursing: :wacko: 8| ^^ 8o ;( :P ?( ...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mnt_gentoo« (20.05.2012, 06:25)