Laborübung: LVM und RAID unter Linux einrichten

Eine kurze Anmerkung: Dieses Labor ist synthetisch.
Einige Aufgaben, die hier beschrieben sind, könnten viel einfacher durchgeführt werden, aber da das Ziel des Labors darin besteht, sich mit den Funktionen von RAID und LVM vertraut zu machen, sind einige Vorgänge absichtlich komplizierter gestaltet.
Die Anforderungen an die Werkzeuge zur Durchführung des Labors:

Virtualisierungssoftware, beispielsweise VirtualBox

  • Ein Installationsabbild von Linux, wie zum Beispiel
  • Debian 9 Zugang zum Internet zum Herunterladen mehrerer Pakete
  • SSH-Zugang zur eingerichteten VM (optional)
  • Achtung

Diese Laborarbeit befasst sich mit einem so sensiblen Thema wie der Datensicherheit – es ist ein Bereich,

in dem schon der kleinste Fehler – ein falscher Buchstabe oder eine Zahl – zum Verlust aller Ihrer Daten führen kann.
Da Sie eine Laborarbeit durchführen, sind Sie vor nichts geschützt, außer dass Sie möglicherweise von vorne anfangen müssen.
Im realen Leben ist alles viel ernster, daher sollten Sie beim Eingeben von Festplattennamen sehr vorsichtig sein und verstehen,
was genau Sie mit dem aktuellen Befehl tun und mit welchen Festplatten Sie arbeiten.
Ein weiterer wichtiger Punkt ist die Benennung der Festplatten und Partitionen: Je nach Situation können die Nummern der Festplatten unterschiedlich sein.

Ein weiterer wichtiger Punkt ist die Benennung von Festplatten und Partitionen: Je nach Situation können die Nummern der Festplatten variieren.
von den Werten, die in den Befehlen in der Laborarbeit dargestellt sind.
Wenn beispielsweise die Festplatte sda aus dem Array entfernt und dann eine neue Festplatte hinzugefügt wird, wird die neue Festplatte im System als sda angezeigt.
Wird jedoch ein Neustart vor dem Hinzufügen der neuen Festplatte durchgeführt, erhält die neue Festplatte den Namen sdb, und die alte wird sda genannt.
Die Laborarbeit sollte als Superuser (root) durchgeführt werden, da die meisten Befehle erhöhte Berechtigungen erfordern und es keinen Sinn macht, ständig die Berechtigungen über sudo zu erhöhen.

Lernmaterialien
Benennung von Festplatten in Linux

Was ist eine Partition?

  • RAID
  • LVM
  • Was ist eine Partitionstabelle und wo wird sie gespeichert?
  • Was ist grub?
  • Verwendete Werkzeuge
  • 1) Informationen über Festplatten anzeigen

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

fdisk -l

  • 2) Informationen anzeigen und mit LVM arbeiten
  • pvs
    pvextend
  • pvcreate
  • pvresize
  • vgs
  • vgreduce
  • lvs
  • lvextend
  • 3) Informationen anzeigen und mit RAID arbeiten
  • cat /proc/mdstat
    mdadm
  • 4) Einhängepunkte
  • cat /etc/fstab
    cat /etc/mtab
  • mount
  • umount
  • 5) Neuformatierung der Festplatte
  • fdisk /dev/XXX
    6) Partitionen kopieren
  • dd if=/dev/xxx of=/dev/yyy
    7) Arbeiten mit der Partitionstabelle
  • partx
    sfdisk
  • mkfs.ext4
  • 8) Arbeiten mit dem Bootloader
  • grub-install /dev/XXX
    update-grub
  • 9) Sonstiges
  • lsof
    Die Laborarbeit besteht aus 3 Teilen:
  • lsof
  • apt
  • rsync

Das Labor besteht aus 3 Teilen:

  • Einrichtung eines funktionierenden Systems mit LVM und RAID
  • Emulation eines Festplattenausfalls
  • Hot-Swap von Festplatten während des Betriebs, einschließlich der Hinzufügung neuer Festplatten und der Verschiebung von Partitionen.

Aufgabe 1 (Installation des Betriebssystems und Konfiguration von LVM, RAID)

1) Erstellen Sie eine neue virtuelle Maschine mit den folgenden Eigenschaften:

  • 1 GB RAM
  • 1 CPU
  • 2 HDDs (nennen Sie sie ssd1, ssd2 und weisen Sie ihnen die gleiche Größe zu, aktivieren Sie Hot-Swap und SSD)
  • SATA-Controller auf 4 Ports eingestellt

Laborübung: LVM und RAID unter Linux einrichten

2) Starten Sie die Installation von Linux und gehen Sie zu dem Punkt, wo die Festplatten ausgewählt werden, und machen Sie Folgendes:

  • Partitionierungsmethode: manuell, danach sollten Sie folgendes Bild sehen:
    Laborübung: LVM und RAID unter Linux einrichten

  • Einrichten einer separaten Partition für /boot: Wählen Sie die erste Festplatte und erstellen Sie eine neue Partitionstabelle darauf

    • Partitiongröße: 512 MB
    • Einbindepunkt: /boot
    • Wiederholen Sie die Einrichtung für die zweite Festplatte, aber da /boot nicht zweimal gleichzeitig eingebunden werden kann, wählen Sie als Einbindepunkt: none, und erhalten Sie Folgendes (Bild mit Fehler, nacharbeiten wollte ich nicht):
      Laborübung: LVM und RAID unter Linux einrichten

  • RAID konfigurieren:

    • Wählen Sie freien Speicherplatz auf der ersten Festplatte und richten Sie den Partitionstyp als physisches Volume für RAID ein
    • Wählen Sie „Fertigstellen der Partitionseinrichtung“
    • Wiederholen Sie dieselbe Konfiguration für die zweite Festplatte, um Folgendes zu erhalten:
      Laborübung: LVM und RAID unter Linux einrichten
    • Wählen Sie die Option „Software-RAID konfigurieren“
    • MD-Gerät erstellen
    • Software-RAID-Gerätetyp: Wählen Sie ein Spiegel-Array aus
    • Aktive Geräte für das RAID XXXX-Array: Beide Festplatten auswählen
    • Ersatzgeräte: 0 als Standard belassen
    • Aktive Geräte für das RAID XX-Array: Wählen Sie die Partitionen aus, die Sie für RAID erstellt haben
    • Fertigstellen
    • Am Ende sollten Sie folgendes Bild erhalten:
      Laborübung: LVM und RAID unter Linux einrichten

  • LVM-Konfiguration: Wählen Sie den Logic Volume Manager konfigurieren

    • Aktuelle Partitionierung beibehalten und LVM konfigurieren: Ja
    • Volume-Gruppe erstellen
    • Name der Volume-Gruppe: system
    • Geräte für die neue Volume-Gruppe: Wählen Sie Ihr erstelltes RAID aus
    • Logisches Volume erstellen
    • Name des logischen Volumes: root
    • Größe des logischen Volumes: 25 von der Größe Ihrer Festplatte
    • Logisches Volume erstellen
    • Name des logischen Volumes: var
    • Größe des logischen Volumes: 25 von der Größe Ihrer Festplatte
    • Logisches Volume erstellen
    • Name des logischen Volumes: log
    • Größe des logischen Volumes: 15 von der Größe Ihrer Festplatte
    • Durch Auswahl von Konfigurationsdetails anzeigen sollten Sie folgendes Bild erhalten:
      Laborübung: LVM und RAID unter Linux einrichten
    • Nachdem Sie die LVM-Konfiguration abgeschlossen haben, sollten Sie folgendes sehen:
      Laborübung: LVM und RAID unter Linux einrichten

  • Partitionierungslayout: Wählen Sie nacheinander jedes erstellte LVM-Volume aus und partitionieren Sie es, zum Beispiel für root so:

    • Verwenden als: ext4
    • Einhängepunkt: /
    • Das Ergebnis der Partitionierung des Root-Volumes sollte so aussehen:
      Laborübung: LVM und RAID unter Linux einrichten
    • Wiederholen Sie den Partitionierungsvorgang für var und log, indem Sie die entsprechenden Einhängepunkte (/var und /var/log manuell eingeben) auswählen, um folgendes Ergebnis zu erhalten:
      Laborübung: LVM und RAID unter Linux einrichten
    • Wählen Sie Partitionierung abschließen
    • Sie werden einige Fragen dazu bekommen, dass Sie eine nicht montierte Partition und keinen konfigurierten Swap haben. Sie sollten beide Fragen verneinen.

  • Das endgültige Ergebnis sollte so aussehen:
    Laborübung: LVM und RAID unter Linux einrichten
    3) Schließen Sie die Installation des Betriebssystems ab, indem Sie grub auf das erste Gerät (sda) setzen und das System starten.
    4) Kopieren Sie den Inhalt des /boot-Verzeichnisses von der Festplatte sda (ssd1) auf die Festplatte sdb (ssd2).

    dd if=/dev/sda1 of=/dev/sdb1

    5) Installieren Sie grub auf das zweite Gerät:

  • Überprüfen Sie die Festplatten im System:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

  • Listen Sie alle Festplatten auf, die Ihnen der vorherige Befehl zurückgegeben hat, und beschreiben Sie, was das für eine Festplatte ist.

  • Finden Sie die Festplatte, auf der grub nicht installiert wurde, und führen Sie diese Installation durch:
    grub-install /dev/sdb

  • Überprüfen Sie die Informationen über den aktuellen RAID mit dem Befehl cat /proc/mdstat und notieren Sie, was Sie gesehen haben.

  • Überprüfen Sie die Ausgaben der Befehle: pvs, vgs, lvs, mount und notieren Sie, was genau Sie gesehen haben.

Beschreiben Sie in eigenen Worten, was Sie gemacht haben und welches Ergebnis Sie am Ende der Aufgabe erzielt haben.

Nach Abschluss dieser Aufgabe wird empfohlen, eine Sicherungskopie des Ordners mit der virtuellen Maschine zu erstellen oder zu machen.
vagrant box: https://t.me/bykvaadm/191

Ergebnis: Virtuelle Maschine mit den Festplatten ssd1, ssd2.

Aufgabe 2 (Emulation eines Festplattenausfalls)

1) Wenn Sie Hot Swap aktiviert haben, können Sie Festplatten im laufenden Betrieb entfernen.

  • Entfernen Sie die SSD1-Festplatte in den Eigenschaften der Maschine.
  • Suchen Sie das Verzeichnis, in dem die Dateien Ihrer virtuellen Maschine gespeichert sind, und löschen Sie ssd1.vmdk.
    2) Stellen Sie sicher, dass Ihre virtuelle Maschine weiterhin läuft.
    3) Führen Sie einen Neustart der virtuellen Maschine durch und prüfen Sie, ob sie weiterhin funktioniert.
    4) Überprüfen Sie den Status des RAID-Arrays: cat /proc/mdstat
    5) Fügen Sie im VM-Interface eine neue Festplatte mit derselben Größe hinzu und benennen Sie sie ssd3.
    6) Führen Sie die folgenden Schritte aus:
  • Überprüfen Sie, ob die neue Festplatte im System erkannt wurde, mit dem Befehl fdisk -l.
  • Kopieren Sie die Partitionstabelle von der alten Festplatte auf die neue: sfdisk -d /dev/XXXX | sfdisk /dev/YYY.
  • Überprüfen Sie das Ergebnis mit fdisk -l.
  • Fügen Sie die neue Festplatte zum RAID-Array hinzu: mdadm —manage /dev/md0 —add /dev/YYY.
  • Überprüfen Sie das Ergebnis: cat /proc/mdstat. Sie sollten sehen, dass die Synchronisierung begonnen hat.
    7) Jetzt müssen Sie die Synchronisierung der Partitionen manuell durchführen, die nicht im RAID sind.
    Verwenden Sie dafür das Tool dd, indem Sie von der "lebenden" Festplatte auf die neue, die Sie gerade hinzugefügt haben, kopieren.
    dd if=/dev/XXX of=/dev/YYY

    8) Nach Abschluss der Synchronisierung installieren Sie Grub auf die neue Festplatte.
    9) Führen Sie einen Neustart der VM durch, um sicherzustellen, dass alles funktioniert.
    Beschreiben Sie in eigenen Worten, was Sie gemacht haben und welches Ergebnis Sie am Ende der Aufgabe erzielt haben.
    Ergebnis: Die Festplatte ssd1 wurde entfernt, die Festplatte ssd2 wurde beibehalten, die Festplatte ssd3 wurde hinzugefügt.

    Aufgabe 3 (Hinzufügen neuer Festplatten und Verschieben von Partitionen)

    Dies ist die komplizierteste und umfangreichste Aufgabe von allen.
    Überprüfen Sie sehr sorgfältig, was Sie tun, und mit welchen Festplatten und Partitionen.
    Es wird empfohlen, eine Sicherungskopie zu erstellen, bevor Sie fortfahren.
    Diese Aufgabe ist unabhängig von Aufgabe Nr. 2 und kann nach Aufgabe Nr. 1 ausgeführt werden, jedoch mit Berücksichtigung der Festplattennamen.
    Der zweite Teil dieser Laboraufgabe sollte in genau denselben Zustand zurückversetzt werden, der nach Abschluss des ersten Teils bestand.

    Um Ihnen die Arbeit zu erleichtern, empfehle ich, die physischen Festplatten nicht von der Hostmaschine zu entfernen, sondern sie lediglich
    in den Eigenschaften der Maschine zu trennen. Aus Sicht des Betriebssystems in der VM wird dies absolut identisch aussehen, aber Sie können
    im Falle eines Problems die Festplatte wieder anschließen und die Arbeit fortsetzen, indem Sie einige Schritte zurückgehen.
    Sie haben Probleme. Zum Beispiel haben Sie möglicherweise falsch ausgeführt oder vergessen, die Partition /boot auf die neue Festplatte zu kopieren.
    Ich kann nur raten, mehrmals zu überprüfen, mit welchen Festplatten und Partitionen Sie arbeiten, oder noch besser,
    Schreiben Sie auf einen Zettel die Zuordnung von Festplatten, Partitionen und der „physikalischen“ Festplattennummer. Ein schönes und verständliches Diagramm
    zeichnet der Befehl lsblk, nutzen Sie ihn so oft wie möglich, um zu analysieren, was Sie gemacht haben und was noch zu tun ist.

    Zur Vorgeschichte…

    Stellen Sie sich vor, Ihr Server lief lange Zeit auf 2 SSD-Festplatten, und plötzlich…

    1) Emulieren Sie den Ausfall der SSD2, indem Sie die Festplatte in den VM-Eigenschaften entfernen und neu starten.
    2) Überprüfen Sie den aktuellen Zustand der Festplatten und RAID:

    cat /proc/mdstat
    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    3) Sie haben Glück — die Geschäftsführung hat beschlossen, mehrere neue Festplatten zu kaufen:

    2 große SATA-Festplatten für das längst überfällige Vorhaben, die Partition mit den Logs auf eine separate Festplatte auszulagern.

    2 SSDs zur Ersetzung der defekten, sowie zur Ersetzung einer noch funktionierenden.

    Es ist zu beachten, dass das Array Server nur 4 Festplatten gleichzeitig unterstützt,
    deshalb können nicht alle Festplatten auf einmal hinzugefügt werden.

    Der HDD-Speicherplatz sollte doppelt so groß sein wie der der SSD.
    Wählen Sie das SSD-Volumen 1,25-mal größer als die vorherigen SSDs.

    4) Fügen Sie eine neue SSD-Festplatte hinzu, benennen Sie sie ssd4, und überprüfen Sie anschließend, was passiert ist:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    5) Zuerst sollten Sie sich um die Datensicherheit der alten Festplatte kümmern.
    Diesmal werden wir die Daten mit LVM übertragen:

    • Zuerst müssen wir die Dateitabelle von der alten Festplatte auf die neue kopieren:
      sfdisk -d /dev/XXX | sfdisk /dev/YYY

      Ersetzen Sie x,y durch die richtigen Festplatten und erklären Sie, was dieser Befehl bewirkt.

      Führen Sie den Befehl lsblk -o NAME,GROESSE,FSTYPE,TYPE,MOUNTPOINT aus und vergleichen Sie die Ausgabe mit dem vorherigen Aufruf.
      Was hat sich geändert?
      Kopieren Sie mit dem dd-Befehl die Daten von /boot auf die neue Festplatte.

      dd if=/dev/XXX of=/dev/YYY

      Falls /boot noch auf der alten Festplatte eingebunden ist, sollte es auf die neue Festplatte umgehängt werden:

      mount | grep boot # Überprüfen, wo die Festplatte eingebunden ist
      lsblk # Überprüfen, welche Festplatten im System vorhanden sind und ob die im vorherigen Punkt erwähnte Festplatte vorhanden ist
      umount /boot # /boot aushängen
      mount -a # Alle Punkte gemäß /etc/fstab einhängen. 
      # Da dort der Einhängepunkt /dev/sda angegeben ist, wird es korrekt auf die neue Festplatte umgehängt.

      Installieren Sie den Bootloader auf die neue SSD-Festplatte.

      grub-install /dev/YYY

      Warum führen wir diesen Vorgang durch?

      Erstellen Sie ein neues RAID-Array, das nur eine neue SSD-Festplatte enthält:

      mdadm --create --verbose /dev/md63 --level=1 --raid-devices=1 /dev/YYY

      Der oben angegebene Befehl wird nicht ohne einen speziellen Schlüssel funktionieren.
      Lesen Sie die Hilfe und fügen Sie diesen Schlüssel zum Befehl hinzu.

      Überprüfen Sie das Ergebnis Ihrer Operation mit dem Befehl cat /proc/mdstat. Was hat sich geändert?
      Führen Sie den Befehl lsblk -o NAME,GROESSE,FSTYPE,TYPE,MOUNTPOINT aus und vergleichen Sie die Ausgabe mit dem vorherigen Aufruf.
      Was hat sich geändert?
      6) Der nächste Schritt besteht darin, LVM einzurichten.
      Führen Sie den Befehl pvs aus, um Informationen über die aktuellen physischen Volumes anzuzeigen.
      Erstellen Sie ein neues physisches Volume, indem Sie das zuvor erstellte RAID-Array einschließen:

      pvcreate /dev/md63

      Führen Sie den Befehl lsblk -o NAME,GROESSE,FSTYPE,TYPE,MOUNTPOINT aus und vergleichen Sie die Ausgabe mit dem vorherigen Aufruf.
      Was hat sich geändert?
      Führen Sie erneut den Befehl pvs aus. Was hat sich geändert?
      Erhöhen Sie die Größe der Volume-Gruppe system mit folgendem Befehl:

      vgextend system /dev/md63

      Führen Sie die Befehle aus und notieren Sie, was Sie gesehen haben und was sich geändert hat.

      vgdisplay system -v
      pvs
      vgs
      lvs -a -o+devices

      Auf welcher physikalischen Festplatte befinden sich derzeit die LV var, log, root?

      Verschieben Sie die Daten von der alten Festplatte auf die neue und ersetzen Sie die richtigen Gerätenamen.

      pvmove -i 10 -n /dev/system/root /dev/md0 /dev/md63 

      Wiederholen Sie den Vorgang für alle logical volumes.

      Führen Sie die Befehle aus und notieren Sie, was Sie gesehen haben und was sich geändert hat.

      vgdisplay system -v
      pvs
      vgs
      lvs -a -o+devices
      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

      Ändern Sie unser VG, indem Sie die Festplatte des alten RAID entfernen. Setzen Sie den richtigen Namen für das RAID ein.

      vgreduce system /dev/md0

      Führen Sie die Befehle aus und notieren Sie, was Sie gesehen haben und was sich geändert hat.

      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
      pvs
      vgs

      Um das Bild zu vervollständigen, montieren Sie /boot auf die zweite SSD (ssd4) um und führen Sie lsblk aus. Am Ende sollte auf der SSD ssd3 nichts montiert sein.
      Überprüfen Sie sorgfältig, dass die Partition /boot nicht leer ist! ls /boot sollte mehrere Dateien und Ordner anzeigen.
      Untersuchen Sie, was sich in diesem Verzeichnis befindet, und notieren Sie, welche Datei/Ordner wofür verantwortlich ist.
      7) Entfernen Sie die SSD ssd3 und fügen Sie sd5, hdd1, hdd2 gemäß den oben genannten Anforderungen hinzu, sodass Sie folgendes erhalten:
      ssd4 — erste neue SSD
      ssd5 — zweite neue SSD
      hdd1 — erste neue HDD
      hdd2 — zweite neue HDD

      8) Überprüfen Sie, was nach dem Hinzufügen der Festplatten passiert ist:

      fdisk -l
      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

      9) Stellen wir den Betrieb des Haupt-RAID-Verbundes wieder her:

      • Führen Sie das Kopieren der Partitionstabelle durch, wobei Sie die richtigen Festplatten einsetzen:
        sfdisk -d /dev/XXX | sfdisk /dev/YYY
      • Beachten Sie, dass als wir die Partitionstabelle von der alten Festplatte kopiert haben, der neue Speicherplatz
        den gesamten Speicherplatz der Festplatte nicht nutzt.
        Deshalb müssen wir in naher Zukunft die Größe dieser Partition anpassen und das RAID erweitern.
        Überzeugen Sie sich selbst, indem Sie den Befehl eingeben:
        2) Informationen anzeigen und mit LVM arbeiten

        10) Kopieren Sie die Boot-Partition /boot von der SSD ssd4 auf die SSD ssd5

        dd if=/dev/XXX of=/dev/YYY

        11) Installieren Sie grub auf die neue Festplatte (ssd5)
        12) Ändern wir die Größe der zweiten Partition der Festplatte ssd5

        Starten Sie das Dienstprogramm zur Festplattenpartitionierung:

        dd if=/dev/xxx of=/dev/yyy

        Drücken Sie die Taste d, um die vorhandene Partition zu löschen (wählen Sie 2)
        Drücken Sie die Taste n, um eine neue Partition zu erstellen
        Drücken Sie die Taste p, um den Partitionstyp als "primär" anzugeben
        Drücken Sie die Taste 2, damit die neue Partition die Nummer zwei erhält
        Erster Sektor: Drücken Sie die Eingabetaste, um der automatisch berechneten Größe des Anfangs der Partition zuzustimmen
        Letzter Sektor: Drücken Sie die Eingabetaste, um der automatisch berechneten Größe des Endes der Partition zuzustimmen
        Drücken Sie die Taste l, um eine Liste aller möglichen Partitionstypen anzuzeigen und suchen Sie nach Linux raid auto
        Drücken Sie die Taste t, um den Typ der erstellten Partition (2) zu ändern, und geben Sie die zuvor gefundene Nummer ein.
        Drücken Sie die Taste w, um die Änderungen auf die Festplatte zu schreiben.
        12) Überprüfen wir die Partitionstabelle und das Ergebnis

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        Fügen Sie die neue Festplatte zum aktuellen RAID-Verbund hinzu (vergessen Sie nicht, die richtigen Festplatten einzufügen)

        mdadm --manage /dev/md63 --add /dev/sda2

        Erhöhen wir die Anzahl der Festplatten in unserem Verbund auf 2:

        mdadm --grow /dev/md63 --raid-devices=2

        Sehen Sie sich das Ergebnis an: Wir haben 2 Arrays konfiguriert, aber beide Partitionen in diesem Array haben unterschiedliche Größen.

        2) Informationen anzeigen und mit LVM arbeiten

        13) Erhöhen wir die Größe der Partition auf der SSD4.

        Starten Sie das Dienstprogramm zur Festplattenpartitionierung:

        dd if=/dev/xxx of=/dev/yyy

        Drücken Sie die Taste d, um die vorhandene Partition zu löschen (wählen Sie 2)
        Drücken Sie die Taste n, um eine neue Partition zu erstellen
        Drücken Sie die Taste p, um den Partitionstyp als "primär" anzugeben
        Drücken Sie die Taste 2, damit die neue Partition die Nummer zwei erhält
        Erster Sektor: Drücken Sie die Eingabetaste, um der automatisch berechneten Größe des Anfangs der Partition zuzustimmen
        Letzter Sektor: Drücken Sie die Eingabetaste, um der automatisch berechneten Größe des Endes der Partition zuzustimmen
        Am Ende der Partitionierung sollte "Nein" gewählt werden, um die Zuordnung der Partition zum Array beizubehalten.
        Drücken Sie die Taste w, um die Änderungen auf die Festplatte zu schreiben.
        12) Überprüfen wir die Partitionstabelle und das Ergebnis

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        Bitte beachten Sie, dass jetzt die Partitionen sda2 und sdc2 größer sind als die RAID-Gerätegröße.

        13) An dieser Stelle kann die RAID-Größe jetzt erweitert werden.

        mdadm --grow /dev/md63 --size=max
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # überprüfen Sie das Ergebnis

        Überprüfen Sie lsblk und notieren Sie, was sich geändert hat.
        14) Obwohl wir die RAID-Größe geändert haben, haben sich die Größen von vg root, var und log nicht geändert.

        • Sehen Sie sich die Größe des PV an:
          pvcreate
        • Erhöhen wir die Größe unseres PV:
          pvresize /dev/md63
        • Sehen Sie sich die Größe des PV an:
          pvcreate

          15) Fügen wir den neu verfügbaren Speicher zu VG var, root hinzu.

          lvs # sehen wir, wie viel jetzt konfiguriert ist
          lvextend -l +50%FREE /dev/system/root
          lvextend -l +100%FREE /dev/system/var
          lvs # überprüfen Sie, was entstanden ist.

          An diesem Punkt haben Sie die Migration des Hauptarrays auf die neuen Laufwerke abgeschlossen. Die Arbeit mit ssd1 und ssd2 ist beendet.

          16) Unsere nächste Aufgabe ist es, /var/log auf die neuen Laufwerke zu verschieben, dafür erstellen wir ein neues Array und LVM auf den HDDs.

          • Lassen Sie uns die Namen der neuen HDDs ansehen.
            pvs
          • Erstellen wir ein RAID-Array.
            mdadm --create /dev/md127 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
          • Wir erstellen ein neues PV auf einem RAID aus großen Festplatten
            pvcreate data /dev/md127
          • Wir erstellen in diesem PV eine Gruppe mit dem Namen data
            vgcreate data /dev/md127
          • Wir erstellen ein logisches Volume mit der Größe des gesamten freien Speichers und nennen es val_log
            lvcreate -l 100%FREE -n var_log data # lvs # sehen wir das Ergebnis
          • Wir formatieren das erstellte Volume in ext4
            mkfs.ext4 /dev/mapper/data-var_log
          • Sehen wir das Ergebnis
            lsblk

            17) Wir übertragen die Log-Daten vom alten Volume auf das neue

            Wir mounten vorübergehend den neuen Log-Speicher

            mount /dev/mapper/data-var_log /mnt

            Wir führen die Synchronisierung der Volumes durch

            apt install rsync
            rsync -avzr /var/log/ /mnt/

            Wir ermitteln, welche Prozesse derzeit mit /var/log arbeiten

            apt install lsof
            lsof | grep '/var/log'

            Wir stoppen diese Prozesse

            systemctl stop rsyslog.service syslog.socket

            Wir führen die finale Synchronisierung der Volumes durch (der Daten, die sich seit der letzten Synchronisierung geändert haben könnten)

            rsync -avzr /var/log/ /mnt/

            Wir tauschen die Volumes aus

            umount /mnt
            umount /var/log
            mount /dev/mapper/data-var_log /var/log

            Wir überprüfen, was herausgekommen ist

            lsblk

            18) Wir bearbeiten /etc/fstab
            fstab ist eine Datei, in der die Regeln aufgezeichnet sind, nach denen die Partitionen beim Booten montiert werden.
            Unsere Aufgabe besteht darin, die Zeile zu finden, in der /var/log gemountet wird, und das Gerät zu korrigieren. system-log findet man data-var_log

            19) Das Wichtigste in diesem Schritt ist, die Partitions-Tabelle zu ändern (zum Beispiel ext4). Egal, wie viele Änderungen wir an RAID oder LVM vornehmen — solange das dateisystem auf der Partition nicht informiert ist, dass sich die Größe geändert hat, können wir den neuen Speicherplatz nicht nutzen. Verwenden Sie den Befehl resize2fs um das dateisystem zu ändern.

            20) Der letzte Schritt

            • ist ein Neustart. Wenn alles richtig gemacht wurde, gelangen Sie wieder in Ihr Betriebssystem (dies dient dazu, sicherzustellen, dass alles funktioniert. Dieser Schritt hat keinen anderen Zweck als die Selbstüberprüfung).
            • Überprüfen Sie, ob alles, was wir erreichen wollten, tatsächlich umgesetzt wurde:
              pvs
              lvs
              vgs
              lsblk
              cat /proc/mdstat

            21) [OPTIONAL] Führen Sie die folgenden Schritte aus:

            • Starten Sie neu, indem Sie F12 drücken, um beim Booten verschiedene Festplatten auszuwählen, um sicherzustellen, dass Sie von
              einer der SSDs booten können, damit wir uns nicht um den Ausfall eines von ihnen sorgen müssen.
            • Jetzt haben Sie ein überflüssiges LV log im VG system. Verteilen Sie diesen Speicherplatz zwischen root oder var, aber anstatt die
              Konstruktion 100%FREE zu verwenden, geben Sie die Größe manuell mit dem Schlüssel -L an:
              -L 500M
            • Bitte beheben Sie das Problem, dass /boot auf zwei Partitionen ohne Synchronisation vorhanden ist; so sollte es nicht gemacht werden.
              Dies wurde hier als Beispiel hinzugefügt. Vergessen Sie nicht, den Inhalt von /boot vorher irgendwohin zu kopieren.
              • Erstellen Sie ein neues RAID und fügen Sie sda1, sda2 hinzu.
              • Integrieren Sie diese Partitionen in das bestehende RAID und stellen Sie /boot im Haupt-RAID wieder her, jedoch ohne es zu montieren.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster