Beiträge von susanux

    Hallo,


    ich hab hier ein altes openSUSE 13.2. Bevor der Rechner platt gemacht wird und ein aktuelles SUSE installiert wird, muss ich noch ein paar Handgriff erledigen.
    Dazu benötige ich gcc und die Kernel-Headers.


    gcc ist schnell installiert mit

    Bash
    zypper install gcc


    Leider kommt dabei eine Fehler-Meldung

    Bash
    Datei '/repodata/repomd.xml' nicht auf dem Medium 'http://download.opensuse.org/update/13.2-non-oss/' gefunden.

    Auch ein

    Bash
    zypper update

    liefert diese Meldung.


    Liegt das daran, dass die Version 13.2.so uralt ist und man nichts mehr installiert und geupdated bekommt? Oder klemmt das woanders? Kann man da was reparieren?



    Ein

    Bash
    zypper lr -u

    liefert


    Falls das zu reparieren geht, wie installiert man die Kernel-Headers?


    Hat da einer einen Tipp?


    Grüße
    susanux

    Danke KosstAmojan für Deine Bemühungen, mir das ganze klarer zu machen. :) Ich nehme es erstmal so hin, dass das nicht geht. Die genauen Hintergründe versuche ich dann später nochmal in Ruhe nachzulesen.


    Nur, wie macht man jetzt am besten weiter?


    Damit kommen wir zur nächsten Frage:

    Mich würde mal interessieren, was davon der Zweck sein soll.
    Irgendwie klingt das so, als würde man auf einen 42to Sattelschlepper einen LKW mit Anhänger packen....


    Das ganze ist historisch gewachsen. Als der Rechner installiert wurde, sollte der Crash einer Festplatte abgefangen werden. Also wurden zwei Platten eingebaut. Die sollten als Spiegel betrieben werden. Also bei der Installation ein RAID-1 eingerichtet. (RAID-5 wäre natürlich besser, hat man aber nicht gemacht.) OpenSUSE bot bei der weiteren Installation standardmäßig das BTRFS für die /-Partition an. Man las "Snapshots", fand das als Feature toll und hat die Einstellung übernommen.


    Die Root-Partition wurde jedoch zu klein gewählt und läuft jetzt voll. Unter anderem die Snapshots brauchen Platz. Alte löschen reicht da nicht. Das ganze muss nun vergrößert werden.


    Vielleicht ist das die eigentliche Frage: wie vergrößert man so ein Konstrukt?


    Das Sauberste wäre sicherlich Backup-Platt-Neu-Restore-Machen. Aber gibt es noch andere sinnvolle Möglichkeiten?


    Man könnte die Platten ganz klassisch reinmounten und dann ein paar Ordner "umbiegen". Also z.B. /snapshots auf eine Disk legen und /var auf eine andere. Aber dann steht der neue Platz immer nur in diesen speziellen Ordnern zur Verfügung. Wenn ich plötzlich unter /opt mehr brauche, stehe ich vor dem nächsten Problem. Und einen Spiegel hab ich dann auch nicht mehr.


    Wie wäre da euer Tipp?

    Hey, KosstAmojan, danke für Deine Antwort!


    Mir ist das alles noch immer nicht so ganz klar. Vielleicht hab ich das Prinzip vom BTRFS auch nur halb verstanden ...


    Was Du eigentlich willst, ist ja ein RAID0 über zwei RAID1 zu machen, also ein RAID10

    Ja, so im Prinzip. Mit dem Umstand, dass das eine RAID1 bereits läuft und nun im Nachhinein erweitert werden muss. Meines Wissens geht das auf mdadm-Ebene nicht. Man müsste das RAID10 wohl gleich zu Anfang so eingerichtet, oder?


    Mit dem BTRFS scheint es nun die Möglichkeit zu geben (ähnlich wohl wie bei LVM) , ein bestehendes Volumen nachträglich zu vergrößern.


    mit
    btrfs device add /dev/md125 /
    Erstellst Du ein neues, BTRFS Dateisystemraid in dem Du ein bereits existierendes mdadm Raid hinzufügst. Du schachtelst also ein RAID im RAID.

    Ja, Jein ... hmmm ... Ich hatte es so verstanden, dass ich mit diesem Befehl ein neues BTRFS-Volumen dem bestehenden BTRFS-Volumen zuweise. Dabei entsteht dann automatisch ein BTRFS-RAID1. Das BTRFS-RAID hat mit dem mdadm RAID nicht so viel zu tun, denn BTRFS managed das für sich intern und verteilt die Bits und Bytes nach seinen eigenen Regeln auf den dem BTRFS-Volumen zugrundeliegenden Datenträgern. Ich kann beim BTRFS-RAID nun wählen, ob nur die META-Daten oder alle Daten dupliziert werden.


    Insofern stapel ich natürlich ein RAID auf einem RAID. Wobei: das BTRFS-RAID wollte ich gar nicht haben ;) Aber es geht wohl nicht ohne. Zumindest, die META-Daten werden gemirrored. Mir hätte ein reines Vergrößern des Volumens gereicht. Sofern unten drunter alles mit einem mdadm-RAID1 gesichert ist.


    Du kannst ein mdadm RAID nicht mit dem Befehl für die Erstellung eines BTRFS Dateisystem-RAIDS erweitern.

    Ja, dass ich das RAID1 md127 aus sda1 & sdb1 mit den BTRFS-Kommandos nicht um ein weiteres sdc1 vergrößern kann, ist mir - denke ich - klar. Aber mit dem BTRFS-Kommandos bewege ich mich doch - so verstehe ich das ganze - auf einer logisch anderen Schicht. Und die soll erweitert werden. Das hat mit dem mdadm-RAID nix zu tun, da das logisch darunter liegen soll.


    Was ich nicht verstehe: BTRFS-Volumen können aus verschiedenen Dingen aufgebaut sein. Ob eine komplette Disk oder nur eine Partition einer Disk. Und mit einem (1) RAID gehts ja (erstmal) auch. Warum nicht mit zweien? Das md12x ist für BTRFS doch nur eine Disk wie auch ein sdx.


    Und: Wenn das alles nicht gehen soll, warum kann ich dann eine einzelne sdc1 per BTRFS-Kommando zufügen? Und alles ist schick?! ?(


    Und was ich auch nicht verstehe: warum scheint alles zu funktionieren, nach dem ich die BTRFS-Kommandos ausgeführt habe? BTRFS meckert nicht, die BTRFS-Checks sind alle ok. Nur beim Reboot klappts nicht? Muss man in fstab vielleicht irgendwas eintragen/ändern? Das wäre eher so mein Bauchgefühl --- wie gesagt -> Bauch ;)


    Hast Du dazu eine Idee? Wo liegt mein Irrtum?

    Nach dieser fundierten Erklärung muss offensichtlich die Realität einen Bug haben.
    Probier mal ein zypper up Realität


    gez. Pipi Langstrumpf

    Ähm ... Verzeihung, ich glaube es besteht da eine Verwechslung. Ich bin derjenige, der fragt, der etwas versucht zu lernen und seinen Wissensstand und seine Gedanken darstellt. Anhand derer haben - so hoffe ich - Helfenwollende eine Möglichkeit,zu helfen. Sofern sie wollen. Wer nicht will, meine Frage zu unverschämt empfindet, muss ja nicht helfen.


    Ich bin nicht derjenige, der behauptet, die Weisheit für sich gepachtet zu haben und hier nur mal seine klugen Gedanken in dem digitalen Raum zur Schau stellen zu wollen.


    Ich bin mir auch nicht bewusst, irgendwie unhöflich geworden zu sein. Falls Du das so empfunden hast, sag bescheid, dann kann man darüber reden. War jedenfalls nicht meine Absicht.


    Mit Deinen Ausführungen hast Du mir leider nicht auf die Sprünge geholfen.

    Was wird wohl der RAID1 Teil auf sdb tun, wenn sda plötzlich viel größer ist?

    Wenn man sda vergrößern würde, dann ist klar, dass es dann so einige Bits gibt, die auf der sdb kein Platz mehr finden. Ein RAID-1 kann halt nur so groß sein, wie die kleinste Platte. Soweit klar!


    Aber: ich will ja nicht sda vergrößern - sondern das darüber liegende BTRFS-/-Volumen!
    Da ist sda ja nur ein Teil von.


    Ich bin kein BTRFS-Experte, aber so wie ich das ganze verstanden habe, ist das BTRFS eine Zwischenschicht. Da werden die eigentlichen Laufwerke, Partitionen, RAIDs gekapselt und zusammengeführt. Wahlweise als große Erweiterung (maximaler Platz) oder mit BTRFS-eigenen RAID1 Funktionalitäten (Sicherheit). Und das auch entweder nur auf die META-Daten oder auf alle Daten bezogen.


    Wenn ein BTRFS-Volumen zu klein wird, kann man dem ein neues Laufwerk zufügen und hat dann mehr Platz. Ob das Laufwerk nur eine Partition oder eine eigene Platte ist, ist dabei wohl egal. Und von dem Ansatz her sollte es auch egal sein, ob ein md-Laufwerk zur Erweiterung verwendet wird. Es wird ja die Summe der zwei einzelnen Platten genutzt und nicht nur ein Teil des RAIDs. Für das BTRFS sollte die md125-Platte aussehen, wie eine andere sdX-Platte. Für das RAID1 ist ja dann das OS / SoftwareRAID zuständig.


    BTRFS managed die Verteilung der Daten auf den jeweiligen Datenträgern. Wenn BTRFS einen Datensatz speichert, wird - so meine Vorstellung - der Datensatz "nur" auf dem md-Laufwerk gespeichert. Und das OS / SoftwareRaid macht dann eine Kopie davon und speichert auf jeder Platte des RAID-1 Verbundes diesen Datensatz.


    Nebenbei: wenn ich "nur" eine einzelne neue Platte sdc ohne den RAID-1 Verbund md125 einbinde, klappt es auch mit dem Neustart. Insofern kommen sdb und sda schon damit klar, wenn das BTRFS-/-Laufwerk um sdc vergrößert wird.



    Also die Erweiterung um sdc geht - um md125 geht nicht.

    Hallo,


    ich will ein etwas älteres, bereits gesperrtes Thema nochmal heraus buddeln. Ursprungs-Posting war hier: BTRFS mit SoftwareRAID erweitern? . Ich hab die Antworten leider nicht mitbekommen (Profil-Einstellungen vergessen anzupassen :S ) An dieser Stelle danke an die User "KosstAmojan" und "Berichtigung" für ihre Hilfe.


    Ich fasse meine Frage hier nochmal zentral zusammen, ergänze mit einer Grafik und versuche, Antworten auf die bereits aufgekommenen Fragen zu geben.


    Ich habe hier ein quasi doppeltes Software-RAID (/dev/sda1 + /dev/sdb1 und /dev/sda2 + /dev/sdb2) als Mirror (RAID-1) betrieben. Auf dem RAID-Laufwerk (/dev/md127) sitzt ein BTRFS-Volume und enthält den /-Bereich. Auf dem anderen RAID-Laufwerk (/dev/md126) liegt /home als XFS formatiert. (Siehe dazu auch die nachfolgende Grafik - Sektion "Ausgangslage").


    Warum das so gebaut wurde? Der Installateur ahnte, dass ein RAID-1 eine gute Sache ist, um die Verfügbarkeit der Daten (etwas) zu erhöhen. Nach der manuellen Festplattenkonfiguration (Einrichten der RAIDs) wurde openSUSE ganz normal weiter installiert. Und da kam dann BTRFS automatisch ins Spiel.


    Der Platz auf / wird langsam eng. Daher soll dieses BTRFS-Volumen vergrößert werden. Dazu wurden zwei weitere Platten (/dev/sdc und /dev/sdd) eingebaut. Die Idee war, hier ebenfalls wieder ein RAID-Laufwerk zu erstellen, mit BTRFS zu formatieren und dieses dann per "btrfs device add" in das BTRFS-/-Volumen einzubinden. (Dargestellt in der Grafik in der Sektion "Erweiterung").



    Soweit die Theorie / der Plan.


    Das Einbinden mit den folgenden Befehlen klappt soweit auch prima:

    Bash
    btrfs device add /dev/md125 /
    btrfs device scan
    btrfs balance start /


    Die Anzeige der verschiedenen BTRFS-Kommandos zeigt soweit alles schick und erfolgreich an.


    Problem: bei nächsten Reboot hängt der Rechner fest.


    Code
    A start job is running for dev-disk-by\x2duuid-9b21edde\x2dc014\x2d...(1min 10s/ no limit)


    Das ganze läuft in einer VM von Virtual Box.
    Im Ursprung ist OpenSUSE 13.2 installiert. Ich hab auch alles soweit es geht geupdated und auch mit dem Upgrade 42.2 Leap probiert. Ohne Erfolg :(



    Hi, das es nicht funktioniert liegt daran, dass der Befehl
    btrfs device addfür die BTRFS-interne RAID Funktion ist, und nicht um ein Device einem mdadm.RAID hinzuzufügen.

    Ich will das neue Laufwerk eigentlich nicht dem (mdmadm) RAID-1 zuweisen, sondern ein neues RAID-1 bilden und das so entstandene Laufwerk (/dev/md125) mit BTRFS formatiert dem bestehenden BTRFS-/-Laufwerk zuführen. (Hoffe, das mit der Grafik verdeutlicht zu haben...) ... sofern das so überhaupt geht?!


    Frage am Rande: kann man denn einen RAID-1 (Mirror) Verbund aus zwei Platten um weitere Platten nachträglich vergrößern? Ich dachte, das geht nicht. ?(


    Ich glaube, dass lediglich versucht wird mit btrfs- internen Befehlen ein tatsächliches md RAID zu betreiben.

    Also, mein Ziel war das nicht ;) Den Unterschied zw. BTRFS-Volumen (mit seinen eigenen RAID-Fähigkeiten) und dem klassischen mdadm RAID kenne ich - zumind. vom Grundprinzip. Aber vielleicht mach ich ja was falsch ...? (Bestimmt! Denn sonst würde es ja klappen ^^ )


    Hat der eine oder andere von Euch noch den einen oder anderen Tipp?


    Grüße
    Susanux

    Hallo,


    ich habe hier ein Software-RAID (/dev/sd1 und /dev/sdb) als Mirror betrieben. Auf dem RAID sitzt ein BTRFS-Volume (/dev/md127) und enthält den /-Bereich. Dieses Volumen soll nun vergrößert werden.
    Dazu habe ich zwei weitere Platten (/dev/sdc und /dev/sdd).


    Ein


    Bash
    btrfs device add /dev/sdc1 /

    klappt prima.


    Danach ein


    Bash
    btrfs device scan


    und ein

    Bash
    btrfs balance start /

    Alles ist schön.



    Nun habe ich aber nicht nur eine Platte (/dev/sdc), sondern zwei Platten (/dev/sdc und /dev/sdd), die wieder als Software RAID betrieben werden sollen. Wieder als Mirror. Dieses RAID1 (/dev/md125) soll dem ersten BTRFS-Volumen (dem Root-Volumen) zugefügt werden.


    Im Prinzip also ein


    Bash
    btrfs device add /dev/md125 /


    Danach wieder

    Bash
    btrfs device scan
    btrfs balance start /

    Alles sieht schick aus.


    Bis zum nächsten reboot! Da hängt er fest und will nicht weiter! ?(


    Woran kann das liegen? Kann man kein Software-RAID-Verbund nutzen, um ein BTRFS-Volumen zu vergrößern? Kann ich mir kaum vorstellen. Muss man vielleicht noch weitere Schritte ausführen? Oder wird dieser RAID-Verbund anders als mit /dev/md123 angesprochen.


    Ich hab bereits die Suchmaschinen bemüht, aber es scheint so, dass es ein "btrfs device add /dev/md" nicht zu finden gibt.


    :!: Kurzer Hinweis: es geht hier nicht, um das BTRFS interne RAID! Es soll ein BTRFS oben auf einem LinuxRAID betrieben werden.


    Hat jemand eine Idee dazu? Das wäre toll!


    Grüße
    Susanux


    Kleine Ergänzung:
    Ich hab es mit OpenSUSE 13.2 und auch mit dem Upgrade 42.2 Leap probiert.
    Das ganze läuft in einer VM von Virtual Box.