Ich habe einen Server mit Debian, der 3 physische Partitionen hat, die die gesamte Festplatte abdecken: Boot, Root und Swap. Jetzt möchte ich diese Partitionen durch LVM-Partitionen ersetzen. Ich weiß, wie Debian zu Beginn mit LVM installiert wird, aber in diesem Fall kann ich das System zu Beginn nicht installieren, da der Anbieter mir einen Server mit Remotezugriff und das auf diese Weise installierte System zur Verfügung stellt.
Wie kann ich diese Partitionen nur über eine SSH-Verbindung und möglicherweise einen anderen Remote-Server ändern, auf dem einige zeitliche Daten abgelegt werden sollen?
Antworten:
Sie können sie auf einem laufenden Server unmöglich durch nur /, / boot- und <swap> -Partitionen ersetzen. Die einzige Möglichkeit, dies zu tun, besteht darin, die Bereitstellung der Partition / aufzuheben, sie zu verkleinern und am Ende eine neue LVM-Partition zu erstellen. Da Sie jedoch nur über Remote-SSH-Zugriff verfügen, können Sie eine Live-Partition ohne Datenbeschädigung möglicherweise nicht verkleinern.
quelle
Ein kurzes Update von meiner Seite. Kontext: Heute habe ich einen dedizierten Server online gestellt, der anstelle von LVM mit einem physischen Partitionsschema installiert wurde. Es gab 3 Partitionen:
/ boot (ext4) - 512M / (ext4) - 730G Swap - 8G
Aufgrund des fehlenden Konsolenzugriffs bestand das Endziel darin, die vorhandene Root-Partition in LVM zu konvertieren.
Da ext4 nicht verkleinert werden kann, bestand die einzige Möglichkeit darin, die Swap-Partition als temporären Root wiederzuverwenden. Ich habe mich auch entschlossen, das temporäre Stammverzeichnis mit LVM einzurichten, um sicherzustellen, dass der Prozess ordnungsgemäß funktioniert.
Zuerst stellte sich der Tausch heraus:
Ändern Sie dann die Größe der Partition über parted (ursprünglich wurde sie von 742 auf 750 gestartet):
und erstellte eine Partition für das LVM:
PV / VG / LV / Dateisystemerstellung für das temporäre Stammverzeichnis:
Der nächste Schritt bestand darin, den Stamm an den temporären Ort zu kopieren:
Sobald alles da war, musste auch der Eintrag für das Root-Dateisystem in / media / etc / fstab geändert werden:
Fast dort war der letzte und am meisten unerwünschte Teil ohne Konsolenzugriff das Ändern der Datei /boot/grub/grub.conf:
Originaleintrag:
geänderter Eintrag:
Um auf der sicheren Seite zu sein: insmod lvm wurde zusammen mit dem dolvm-Parameter für den Kernel hinzugefügt und der Root-Pfad wurde ebenfalls in root = / dev / mapper / VolGroup00-tmproot geändert. Es ist wichtig, zu diesem Zeitpunkt den Pfad / dev / mapper / zu verwenden. Als sichere Einzahlung habe ich auch den Parameter panic = 10 hinzugefügt und den Standard-Starteintrag im Header nicht geändert. Stattdessen habe ich versucht, dem Grub nur einmal zu sagen, dass er mit der neuen Einstellung booten soll, und im Fehlerfall könnte der ursprüngliche Eintrag funktionieren:
Und schlussendlich:
Zum ersten Mal war es für mich in Ordnung, also wiederholte ich den gesamten Vorgang mit dem Erstellen einer neuen Volume-Gruppe über der ursprünglichen Root-Partition und bekam schließlich mit LVM den Root an der richtigen Stelle.
Hoffe das hilft.
quelle
update-grub
. Anschließend führen Sie ausgrub-reboot #
, um den Menüpunkt festzulegen, der nur für den nächsten Neustart verwendet werden soll. Dann können Sie neu starten.Unter Linux ist nichts unmöglich, aber Sie müssten entschlossen und verrückt sein, um zu versuchen, was Sie beschreiben. Beachten Sie, dass bei einem SSH-Zugriff die Wahrscheinlichkeit groß ist, dass Sie bei einem Fehler den Zugriff auf den Server verlieren. Wenn Sie eine "serielle" Remote-Konsole und einen virtuellen Netzschalter haben, kann dies hilfreich sein. Das heißt, wenn Sie eine brandneue Installation ohne Datenverlust haben, warum versuchen Sie es nicht? Ich habe ein Tutorial gefunden, um ein Linux-System remote in RAID1 zu konvertieren . Die Schritte, die Sie für LVM versuchen würden, wären analog.
Betrachten wir zunächst die Notwendigkeit eines temporären Speicherplatzes. Angenommen, Sie haben keine zweite Festplatte auf dem Server, können Sie die vorhandenen Partitionen mithilfe von verkleinern
parted
. Dies erfordert natürlich, dass Ihre Boot- und Root-Partitionen weniger als die Hälfte der Festplatte belegen und ein verkleinerbares Dateisystem verwenden. (XFS und JFS können beispielsweise nicht verkleinert werden.)Nachdem Sie Ihre vorhandenen Partitionen verkleinert haben, können Sie ein physisches LVM-Volume im freigegebenen Speicherplatz, eine Volume-Gruppe und logische Volumes darin erstellen. Replizieren Sie Ihre Dateisysteme. (Wenn Sie Ihr Root-Dateisystem replizieren, sollten Sie alles außer
sshd
beenden und sich idealerweise im Einzelbenutzermodus befinden. Sie müssen wahrscheinlich ein bereitgestelltes Dateisystem verwenden,rsync
anstattdd
es zu replizieren.)Anschließend würden Sie eine Initiale mit LVM-Unterstützung vorbereiten und GRUB anweisen, das neue System zu starten, wie in Warren Togamis Tutorial beschrieben. Sobald Sie dies getan haben, ist es einfach, die alten Dateisysteme mithilfe
parted
der LVM-Volumes zu löschen und zu vergrößern.Viel Glück! Lassen Sie uns wissen, ob es funktioniert hat!
quelle
Ich habe zuvor meine Root-Partition "/", die auf eine Festplattenpartition "/ dev / sda2" mit 10G auf Centos 6 zeigte, auf eine LV-Partition migriert. Folgende Schritte wurden ausgeführt:
Hoffe, dass die zuvor bereitgestellten Informationen für jemanden hilfreich sind.
Danke im Voraus,
Manuel Lazo
quelle
Er könnte ein Zwischenrettungssystem in der (zuvor deaktivierten) Swap-Partition einrichten (nervenaufreibende Arbeit, wenn Sie keinen RAC in der Maschine haben) und von dort aus arbeiten. Außerdem gibt es für bestimmte Dateisysteme Online-Tools zur Größenänderung. Anschließend wird die Partition verkleinert und neu gestartet. Dies ist bei KWYD zwar möglich, aber möglich.
quelle