Forum: PC-Programmierung Remove /dev/sda2 Id=5 / Type = Extended [Disk Size vergrössern]


von Jasson J. (jasson)


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?

von Jasson J. (jasson)


Lesenswert?

Eine Möglichkeit wäre ja mit fdisk auch die Partition neu an zu legen 
mit dem gleichen relativen Versatz zur swap-Partition

Aber da ich nicht weiß / verstehe, welche Rolle die Extended spielt, hab 
ich genau so vie Ahnung, ob das sinnvoll ist ;>

von (prx) A. K. (prx)


Lesenswert?

Eine Möglichkeit wäre, in der VM "gparted live" zu booten.

von Mikro 7. (mikro77)


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.

von Jack V. (jackv)


Lesenswert?

Jasson J. schrieb:
> Kann dazu jemand etwas sagen?

Mach ’ne Kopie und spiel damit rum. Bringt erfahrungsgemäß noch den 
besten Lerneffekt, und die Datenmengen sind hier ja überschaubar.

: Bearbeitet durch User
von Michael L. (nanu)


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.

von Alexander T. (Firma: Arge f. t. abgeh. Technologie) (atat)


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.
3. swap in /etc/fstab auskommentieren
4. Reboot
5. Mit fdisk -l /dev/sda kontrollieren, ob nun alles so aussieht, wie
   gedacht.
6. Swap-Partition formatieren: mkswap /dev/sda2
7. swap in /etc/fstab wieder einkommentieren
8. Swap wieder einschalten: swapon -a
9. Das Filesystem auf sda1 weiß noch nicht, daß seine Partition mehr
   Platz hat. Daher: resize2fs /dev/sda1
10. Kontrolle: df /dev/sda1
11. 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.

: Bearbeitet durch User
von Alexander T. (Firma: Arge f. t. abgeh. Technologie) (atat)


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!

: Bearbeitet durch User
von Alexander T. (Firma: Arge f. t. abgeh. Technologie) (atat)


Lesenswert?

> 6. Swap-Partition formatieren: mkswap /dev/sda2

Korrektur: mkswap /dev/sda5

von Michael L. (nanu)


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.

von Alexander T. (Firma: Arge f. t. abgeh. Technologie) (atat)


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.

von Alexander T. (Firma: Arge f. t. abgeh. Technologie) (atat)


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.

von (prx) A. K. (prx)


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

: Bearbeitet durch User
von Jim M. (turboj)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.