Größe der LXC Container mit einem Script anpassen

heute möchte ich Dir ein nützliches Skript vorstellen, das ich entwickelt habe, um die Größe eines Proxmox LXC Containers anzupassen. Das Skript ermöglicht es, die Gesamtgröße der Festplatte des Containers nach Bedarf anzupassen. Das Beste daran ist, dass dieser Vorgang mit nur wenigen Schritten erledigt werden kann.

Ich habe das Skript entwickelt, um meine Arbeit mit Proxmox LXC Containern zu erleichtern und Zeit zu sparen. Ich habe mich dabei an diesem Beitrag orientiert.

Lasst uns nun einen Blick auf das Script werfen:

#!/bin/bash
# Script Name:  proxmox-lxc-size-changer.v1.sh
# Beschreibung: Ändert die Größe des LXC Containers auf die gewünschte Gesamtgröße der Disk des Containers
#               Dies gilt primär erstmal nur für die Disk mit der ID 0
# Aufruf:       bash ./proxmox-lxc-size-changer.v1.sh
# Autor:        Patrick Asmus
# Web:          https://www.media-techport.de
# Git-Reposit.: https://git.media-techport.de/scriptos/proxmox-lxc-size-changer
# Version:      1.0
# Datum:        16.07.2023
# Modifikation: Ersterstellung
#####################################################
# Variablen
lxcPath="appdata2"
fullLxcPath="/volumes/${lxcPath}"
containerID="9100"
diskFilename="vm-${containerID}-disk-0.raw"
newSize="12G"
storage="nas02"
# Container stoppen
pct stop $containerID
# Backup erstellen
vzdump $containerID --remove 0 --mode stop --notes-template 'Backup vor Größenänderung durch Script' --storage $storage
# Dateisystemprüfung
e2fsck -fy "${fullLxcPath}/images/${containerID}/${diskFilename}"
# Größe des LXC anpassen
resize2fs "${fullLxcPath}/images/${containerID}/${diskFilename}" $newSize
# Konfiguration anpassen
configFile="/etc/pve/lxc/${containerID}.conf"
sed -i "s|rootfs: ${lxcPath}:${containerID}/${diskFilename},size=.*|rootfs: ${lxcPath}:${containerID}/${diskFilename},size=${newSize}|" $configFile
# Container starten
pct start $containerID

Die Variablen sind folgendermaßen auszufüllen:

  • lxcPath: Der Storage, in dem der Container gemountet ist (Proxmox-Webinterface -> Rechenzentrum -> Storage)
  • fullLxcPath: Der Pfad zum LXC-Container im Proxmox-Dateisystem
  • containerID: Die ID des LXC-Containers, dessen Größe geändert werden soll
  • diskFilename: Der Dateiname der Disk des Containers
  • newSize: Die gewünschte neue Größe für die Container-Disk
  • storage: Der Name des Proxmox-Speichers, in dem das Backup gespeichert wird

Der Hauptteil des Skripts besteht aus verschiedenen Schritten, um die Größe des LXC Containers anzupassen. Zunächst wird der Container mit der angegebenen Container-ID gestoppt, um sicherzustellen, dass keine Schreibvorgänge während des Größenänderungsprozesses stattfinden. Anschließend wird ein Backup des Containers erstellt, um eventuelle Datenverluste zu verhindern.

Als nächstes wird das Dateisystem des Containers überprüft, um sicherzustellen, dass es in einem konsistenten Zustand ist. Dann erfolgt die tatsächliche Größenanpassung des LXC Containers mithilfe des Befehls “resize2fs”. Hier wird die gewünschte Größe für die Festplatte angegeben.

Um die Konfiguration des Containers entsprechend anzupassen, wird die Konfigurationsdatei des Containers bearbeitet. Der Pfad zur Konfigurationsdatei wird aus der Container-ID abgeleitet, und die Zeile, die die Größe der Festplatte definiert, wird geändert.

Schließlich wird der Container mit der angegebenen Container-ID gestartet, und die Größenänderung ist abgeschlossen.

Dieses Skript bietet eine einfache und zeitsparende Möglichkeit, die Größe eines Proxmox LXC Containers anzupassen, ohne viel manuelle Arbeit zu erfordern. Du kannst es auf deine individuellen Anforderungen anpassen und bei Bedarf erweitern.

Weitere Informationen zu diesem Script kannst du auf meinem Git-Repository finden. Dort beschreibe ich Dir auch, wie dieses Script anzuwenden ist.

Ich hoffe, dass Dir dieses Skript dabei hilft, deine Arbeit mit Proxmox LXC Containern effizienter zu gestalten. Bei Fragen, Anregungen oder Problemen stehe ich dir gerne zur Verfügung.

📑 Ähnliche Beiträge
Vergrößern einer Partition in Ubuntu

Stell dir vor, deine Ubuntu-Installation braucht einfach mehr „Luft zum Atmen“. Angenommen, du hast eine 100GB-SSD, auf der 30GB für Read more

Asciinema 3: Installation der neuesten Version des Terminal Session Recorder

Asciinema hat sich als das Tool der Wahl für das Aufzeichnen und Teilen von Terminal-Sessions etabliert. In der kommenden Version Read more

Fritz!Box per Bash-Script neustarten

Heute möchte ich dir ein nützliches Bash-Script vorstellen, das mir persönlich sehr geholfen hat. Es handelt sich um ein "Fritz!Box Read more

Linux: Einfach E-Mails versenden mit msmtp

Oft ist es sinnvoll, wenn man sich von seinem Linux System Benachrichtigungsmails versenden lassen kann. Anwendungsbeispiele wären zum Beispiel der Read more

OwnCloud: Den Footer im Login-Screen bearbeiten

In diesem Beitrag möchte ich den Footer der OwnCloud anpassen. Das bearbeiten des Footers geht ziemlich einfach und schnell. Ich Read more

Vielen Dank fürs Teilen!