Remove /dev/sda2 Id=5 / Type = Extended [Disk Size vergrössern]

OP #7430666
Lesenswert?

Hallo zsuammen,

ich habe ein Debian 10 auf einer VMWare laufen und habe die VMDK von 20 auf 30 GiB vergrößert und muss noch die Partitionen anpassen.

Dazu habe ich etwas passendes gefunden, das sehr nah an meinem Scenario dran ist https://pocketadmin.tech/en/debian-11-extend-partition/

Das Vorgehen sieht zusammenegfasst vor, sda2 zu löschen und sda5 an das Disk-Ende zu verschieben

Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 39942143 39940096 19G 83 Linux /dev/sda2 39944190 41940991 1996802 975M 5 Extended /dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris

Was mich stutzig macht und zögern lässt ist die Aussage, die sich auf den Start von sda2 und 5 und deren Länge bezieht

1
Also note that the logical disk /dev/sda2 (which was created automatically) is not mounted anywhere and intersects with /dev/sda5. Perhaps this is a bug in the automatic creation of partitions and we will just remove it.

Basierend auf einer Annahme einfach etwas zu entfernen erscheint mir riskant.

Kann dazu jemand etwas sagen?

#7431004
Lesenswert?

Jasson J. schrieb:

Also note that the logical disk /dev/sda2 (which was created automatically) is not mounted anywhere and intersects with /dev/sda5. Perhaps this is a bug in the automatic creation of partitions and we will just remove it.

Ist das nicht 'normales' MBR Layout. Die müssen sich überschneiden. Ersten vier Einträge mit Primary/Extended Partitions, ab 5 die 'Volumes' in der Extended Partition.

Warum Debian die Swap in eine Extended Partition legt, bleibt wohl ein Geheimnis. (Vllt. dafür gedacht falls im Setup mal mehr Volumes angelegt werden sollen.)

Grundsätzlich lasse ich Swap weg. Ind er Praxis führt das lediglich zum Trashing und das System steht für Minuten (Stunden). Ohne Swap schlägt der OOM Killer sofort zu. Ich würde sda2/5 einfach weglassen und aus der fstab nehmen.

#7431033
Lesenswert?

Jasson J. schrieb:

Was mich stutzig macht und zögern lässt ist die Aussage, die sich auf den Start von sda2 und 5 und deren Länge bezieht

Das ist ein Beispiel. Und dazu noch IMHO ein schlechtes.

Basierend auf einer Annahme einfach etwas zu entfernen erscheint mir riskant.

Wenn keiner mehr die Daten in Swap braucht, ist es doch egal, ob sie weg sind. Schreibt er ja aich irgendwo. Wäre sda5 eine Partiton mit Daten, hätte man sich ins Knie geschossen.

(Firma: Arge f. t. abgeh. Technologie) #7431039
Lesenswert?

Allgemeine Tipps, für die es in dem Fall wohl schon zu spät ist:

  • LVM verwenden, dann ist das Vergrößern von Volumes sehr viel einfacher.
  • Mehrere Filesysteme verwenden (/usr auf r/o, /tmp mit nosuid noexec nodev, usw. Vgl auch CIS Benchmark zu dem Thema)

Im konkreten Fall:

  • Du kannst die Linxu-Partition nicht vergrößern, da Swap im Weg ist.
  • Das ist aber nicht fatal, wenn Du das System in einen Zustand bringen kannst, wo kein swap gebraucht wird.
  • Die Idee ist daher, das swap wegzuwerfen, die Linux-Partition zu vergrößern und dann am Ende das swap hinzukleben und neu anzulegen.

Vorgangsweise (ohne Gewähr)

  1. mit swapoff -a das swap deaktivieren.
  2. mit fdisk die Partitionstabelle editieren.
  • Setornummern irgendwo notieren (schon geschehen -> Eingangsposting)
  • sda1, sda5, sda2 löschen und auf keinen Fall abspeichern
  • sda1 anlegen, Start auf 2048 und Länge 2G kleiner als die "Platte"
  • sda2 als extended Partition anlegen, die hinter sda1 beginnt (ohnehin default im fdisk)
  • sda5 als swap-Partition in der extended partition anlegen. sda5 darf die extended partition gerne voll belegen und sollte 2G haben wenn sda1 richtig dimensioniert war.
  • "p"rint partitions und nochmal kontrollieren,
  • im Zweifel mit q oder ^C abbrechen
  • wenn wirklich alles passt, mit "w" abspeichern. Danach mault linux, dass die in-memory-Tabelle verwendet wird, weil aktive Partitions auf der Disk waren.
  1. swap in /etc/fstab auskommentieren
  2. Reboot
  3. Mit fdisk -l /dev/sda kontrollieren, ob nun alles so aussieht, wie gedacht.
  4. Swap-Partition formatieren: mkswap /dev/sda2
  5. swap in /etc/fstab wieder einkommentieren
  6. Swap wieder einschalten: swapon -a
  7. Das Filesystem auf sda1 weiß noch nicht, daß seine Partition mehr Platz hat. Daher: resize2fs /dev/sda1
  8. Kontrolle: df /dev/sda1
  9. Freuen.

All das geschieht als root. Für root gilt: Unix gives you enough rope to hang yourself. Du solltest also alle diese Schritte verstehen und ggf. anpassen können. Backupempfehlung gilt als selbstverständlich.

(Firma: Arge f. t. abgeh. Technologie) #7431042
Lesenswert?

Grundsätzlich lasse ich Swap weg. Ind er Praxis führt das lediglich zum Trashing und das System steht für Minuten (Stunden). Ohne Swap schlägt

Dem kann ich so nicht zustimmen. Wenn das vorhandene Memory zu klein für das working set ist, dann kommt's zum trashing wie beschrieben, das stimmt schon. Dann gibt es aber auch ohne swap keinen stabilen Betrieb.

Auf der Haben-Seite steht, daß swap möglich macht, allozierte langfristig nicht benötigte Pages auszulagern und stattdessen mehr Platz für z.B. Buffers zur Verfügung zu stellen. Das hilft dem Betrieb und erlaubt auch, mal eine absurd große Datei in den vi zu laden.

Mit den heutzutage üblichen, peinlich überbordenden Memory-Ausstattungen kommen allerdings viele Systeme tatsächlich blendend ohne swap aus. O tempora, o memores!

#7431047
Lesenswert?

Alexander T. schrieb:

sda1, sda5, sda2 löschen und auf keinen Fall abspeichern

sda1 zu löschen, ergibt keinen Sinn, schon gar nicht, wenn da womöglich Daten drin sind. Die kann man nach Anlegen einer neuen Swap-Partition bequem vergrößern.

sda2 als extended Partition anlegen, die hinter sda1 beginnt

Wozu eine extended Partition anlegen? Es geht in dem vom TE zitierten Bsp. doch auch gerade darum, die loszuwerden. Die ist so unnötig wie ein Kropf.

(Firma: Arge f. t. abgeh. Technologie) #7431052
Lesenswert?

Wozu eine extended Partition anlegen? Es geht in dem vom TE zitierten Bsp. doch auch gerade darum, die loszuwerden. Die ist so unnötig wie ein Kropf.

Um die Benennung des swap-devices nicht unnötig verändern zu müssen. Das Layout kommt mir zwar auch seltsam vor, aber ist nicht direkt schädlich.

(Firma: Arge f. t. abgeh. Technologie) #7431053
Lesenswert?

sda1 zu löschen, ergibt keinen Sinn, schon gar nicht, wenn da womöglich Daten drin sind. Die kann man nach Anlegen einer neuen Swap-Partition bequem vergrößern.

Es ist der einfachste Weg, mit fdisk eine Partition zu vergrößern.

Davon, dass man erstmal den Eintrag für sda1 löscht, gehen die Daten noch nicht verloren.

Wenn dann eine neue, größere Partition mit gleichem Start-Sektor angelegt wird, ist im Ergebnis die Partition hinterher größer und hat immer noch die gleichen Daten drin. Da das Filesystem nicht verändert wurde, kann es problemlos booten oder gemountet werden.

#7431054
Lesenswert?

Alexander T. schrieb:

Es ist der einfachste Weg, mit fdisk eine Partition zu vergrößern.

Bloss weil man die Möglichkeit hat, Dinge zu Fuss auf fdisk-Ebene zu regeln, und die Sicherheit, es in VMs ohne nachhaltigen Schaden tun zu können, muss es nicht der einfachste Weg sein.

Ich finde es einfacher, einem u.A. genau dafür gebauten Tool mitzuteilen, man wolle eine Partition vergrössern oder verschieben, und es das dann tun zu lassen. Dafür gibt es beispielsweise gparted.

https://en.wikipedia.org/wiki/GParted

#7431668
Lesenswert?

Seit es (g)parted gibt, ist der steinige Weg über Fdisk unnötig.

Vergößerung wie folgt:

  • Neue Swap partition am Ende der Disk anlegen (als Primary) und aktivieren (dabei an fstab denken).
  • Alte Swap Partition deaktivieren (man swapoff) und dann löschen
  • Extended Partition löschen, die sollte ja an diesem Punkt leer sein
  • Jetzt kann sda1 gleich in Parted nach Belieben vergößert werden

Modernes Linux kann gemountetes Ext4 oder Btrfs online vergrößern. Dabei bleibt das System die ganze Zeit benutzbar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren