uschade
Goto Top

FDISK Script für Ubuntu erstellen

Tag zusammen,


ich habe mehrere VM laufen, die jetzt nach und nach ihre virtuellen Festplatten ausreizen. Wie ich den VM's zusätzlichen Festplattenspeicher geben kann, das ist nicht das Problem.
Blöd ist, dass unter Ubuntu über die Konsole so viele Dinge gemacht werden müssen, bis dann auch Ubuntu endlich begriffen hat, dass da jetzt ne größere Platte zur Verfügung steht und dass die auch genutzt werden darf.

Wie das genau geht, auch das hab ich schon mehrfach gemacht, ist also auch nicht das Problem.
Was ich für die Zukunft gerne machen würde, ist ein Script erstellen, dass ich bei Bedarf laufen lassen kann.

Wenn ich Ubuntu den zusätzlichen Platz auf der Platte zur Verfügung stellen will, dann mach ich das ja zuerst mal mit FDISK.

Ich mach also:

sudo fdisk /dev/sda

p
d
3 (Partition 3)
p
n
3
First sector
Last sector
p
w

Im nächsten Schritt mach ich:

sudo pvs
sudo pvresize /dev/sda3
df -h
sudo lvextend -r -l +100%FREE /dev/mapper/......

Dann sollte ich die Meldung bekommen, dass die Sektorgröße angepasst wurde und der neue Speicherplatz steht Ubuntu zur Verfügung.

Was sich mir nun nicht wirklich erschließt ist, wie ich das in ein Script packe, vor allem, weil ja bei jedem meiner Server andere Werte einzutragen sind, z.B. bei "First Sector" oder "Last Sector". Ich müsste es quasi schaffen, die entsprechenden werte auszulesen....per Script.
Ich habs glaub ich schon mal erwähnt hier im Forum...Scripte gehören nicht zu meinen Stärken.

Hat da jemand eine Idee zu?

Vielen Dank schon mal vorab...

Grüße
Uwe

Content-Key: 667393

Url: https://administrator.de/contentid/667393

Printed on: May 29, 2024 at 05:05 o'clock

Member: colinardo
colinardo Jun 07, 2021 updated at 14:37:22 (UTC)
Goto Top
Servus,
könntest du zwar mit fdisk scripten indem man die Befehle über die Pipeline wirft, aber dafür hat man stattdessen schon länger genau für solche Aufgaben sfdisk erfunden, das in den util-linux package enhalten ist.
Damit kannst du das ziemlich einfach so machen
sudo sfdisk --delete /dev/sda 3
echo "/dev/sda3: type=83" | sudo sfdisk -append /dev/sda  
Für nicht erwähnte Parameter werden die Default-Werte angenommen, d.h für Sektoranfang wird der nächst verfügbare genommen und bei Größe automatisch der Rest der Platte, Auslesen der Werte brauchst du also nicht.

Siehe auch

https://superuser.com/questions/332252/how-to-create-and-format-a-partit ...

Grüße Uwe
Member: Uschade
Uschade Jun 07, 2021 at 14:40:31 (UTC)
Goto Top
Super danke, das seh ich mir morgen mal genauer an...mit sfdisk hab ich tatsächlich noch gar nicht gearbeitet.

Grüße
Uwe
Member: colinardo
colinardo Jun 07, 2021 updated at 15:28:41 (UTC)
Goto Top
Wenn du sowas in Zukunft häufger machen musst würde ich mir diesbezüglich auch mal Ansible anschauen, da ist das eine simple Config-Zeile und dann sind Skripte für solche grundlegenden Aktionen nicht mehr nötig.
community.general.lvol – Configure LVM logical volumes
Member: Uschade
Uschade Jun 09, 2021 at 11:20:13 (UTC)
Goto Top
Also sfdisk --delete funktioniert so scheinbar nicht. Da bekomme ich eine Fehlermeldung, die mir sagt, dass "--" nicht verarbeitet werden kann. Da wird wohl ein "p" erwartet, kann das sein?

Grüße
Uwe
Member: colinardo
colinardo Jun 09, 2021 updated at 11:51:39 (UTC)
Goto Top
Zitat von @Uschade:

Also sfdisk --delete funktioniert so scheinbar nicht. Da bekomme ich eine Fehlermeldung, die mir sagt, dass "--" nicht verarbeitet werden kann.
Doch hier einwandfrei, testweise auch unter Ubuntu. Dann hast du wohl eine ziemlich alte Version von sfdisk (ein sfdisk -v verrät es dir).
Siehe:
https://man7.org/linux/man-pages/man8/sfdisk.8.html
--delete device [partition-number...]
              Delete all or the specified partitions.

screenshot
Da wird wohl ein "p" erwartet, kann das sein?
Nicht bei der regulären aktuell bei Ubuntu mitgelieferten Variante. Einfach bei deiner Version sfdisk --help bzw. man sfdisk eingeben dann siehst du was bei dir supported ist.
Ich schätze das du evt. fälschlicherweise statt Bindestrichen Gedankenstriche eingefügt hast.