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
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 ;>
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.
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.
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.
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.
> 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!
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.
> 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.
> 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.
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
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.