Professional Linux storage management tools for PBS backup systems and flexible partition management
Features • Installation • Quick Start • Documentation • Scripts
Darkmatter IT Storage Scripts sind professionelle Linux-Tools für die Verwaltung von Speicherpartitionen und Logical Volumes. Speziell entwickelt für Proxmox Backup Server (PBS) und flexible Kundenverwaltung.
Diese Collection enthält zwei zentrale Scripts:
- mount-size.sh - GPT Partitionsverwaltung (einfach & schnell)
- lvm-manage.sh - LVM Volume Management (flexibel & skalierbar)
- ✅ GPT Partitionserstellung mit spezifischen Größen
- ✅ Automatisches Formatieren (ext4, xfs, btrfs)
- ✅ Automatisches Mounten & fstab Integration
- ✅ Disk-Wipe Funktionen (schnell & sicher)
- ✅ Mehrere Partitionen pro Disk
- ✅ Einfache Bedienung
- ✅ Flexible Logical Volume Verwaltung
- ✅ Volumes vergrößern/verkleinern ohne Ausfallzeit
- ✅ Automatisches Tracking
- ✅ UUID-basierte fstab Integration
- ✅ Detaillierte Statistiken & Monitoring
- ✅ Sicheres Löschen mit Bestätigung
- ✅ Volume Group Expansion
- 🔐 Root-Authentifizierung erforderlich
- 📊 Detailliertes Logging & Feedback
- 🎨 Farbcodierte Ausgabe
- ⚡ Production-Ready Code
- 📝 Umfassende Dokumentation
# Linux OS (Ubuntu/Debian empfohlen)
# Root oder sudo Zugriff erforderlich
# util-linux, e2fsprogs, parted (für mount-size.sh)
# lvm2 (für lvm-manage.sh)# Repository klonen
git clone https://github.com/yourusername/darkmatter-storage-scripts.git
cd darkmatter-storage-scripts
# Scripts ausführbar machen
chmod +x mount-size.sh
chmod +x lvm-manage.sh
# Optional: In System-Pfad kopieren
sudo cp mount-size.sh /usr/local/bin/mount-size
sudo cp lvm-manage.sh /usr/local/bin/lvm-manage
sudo chmod +x /usr/local/bin/mount-size /usr/local/bin/lvm-manageNeue Disk mit Partitionen einrichten:
# Partition 1: 1000GB
sudo ./mount-size.sh -m /part/data1 -d /dev/sdc -s 1000G
# Partition 2: 500GB
sudo ./mount-size.sh -m /part/data2 -d /dev/sdc -s 500G
# Status überprüfen
lsblk /dev/sdc
df -h /part/data*Disk komplett löschen:
# Alle Partitionen löschen und neu initialisieren
sudo ./mount-size.sh --wipe-disk -d /dev/sdcVolume Group & Volumes erstellen:
# VG erstellen (einmalig)
sudo ./lvm-manage.sh create-vg -d /dev/sde -vg backup-pool
# LV für Kunde erstellen (1000GB)
sudo ./lvm-manage.sh create-lv -vg backup-pool -lv kunde1 -s 1000G -m /backup/kunde1
# Status überprüfen
sudo ./lvm-manage.sh status --vgn backup-pool
sudo ./lvm-manage.sh stats -vg backup-poolBestehendes Volume vergrößern:
# Von 1000G auf 1500G
sudo ./lvm-manage.sh resize-lv -vg backup-pool -lv kunde1 -s 1500G
# Überprüfung
df -h /backup/kunde1Detaillierte Dokumentation für jedes Script:
mount-size/
├── README.md # Vollständige Dokumentation
├── EXAMPLES.md # Praktische Beispiele
└── TROUBLESHOOTING.md # Fehlerbehandlung
📖 mount-size.sh Dokumentation →
lvm-manage/
├── README.md # Vollständige Dokumentation
├── EXAMPLES.md # Praktische Beispiele
└── TROUBLESHOOTING.md # Fehlerbehandlung
📖 lvm-manage.sh Dokumentation →
Zweck: Einfache, schnelle Partitionserstellung auf großen Disks (>2TB)
Beste Verwendung für:
- Schnelle Disk-Partitionierung
- Einfache Speicher-Strukturen
- Test & Entwicklungsumgebungen
- One-Time Setup Szenarien
Syntax:
./mount-size.sh -m <mountpoint> -d <device> -s <size> [-t <fstype>]Zweck: Flexible, skalierbare Logical Volume Verwaltung mit Resizing
Beste Verwendung für:
- Kundenspezifische Speicher-Quotas
- Häufige Größen-Änderungen
- Enterprise Backup-Systeme
- Production Umgebungen
Syntax:
./lvm-manage.sh <command> -vg <vg-name> [-lv <lv-name>] [-s <size>] [-m <mountpoint>]| Feature | mount-size.sh | lvm-manage.sh |
|---|---|---|
| Komplexität | ⭐ Einfach | ⭐⭐ Mittel |
| Resizable | ❌ Nein | ✅ Ja |
| Partition-Limit | ~10-20 | Unbegrenzt |
| Setup-Geschwindigkeit | ⚡ Schnell | ⚡⚡ Mittel |
| Production Ready | ✅ Ja | ✅ Ja |
| Best For | Einfache Setups | Flexible Verwaltung |
→ mount-size.sh verwenden
- 3-5 große Partitionen
- Statische Größen
- Minimale Verwaltung
→ lvm-manage.sh verwenden
- Viele Kunden
- Dynamische Größen-Änderungen
- Automatisches Tracking
→ Beide Scripts kombinieren
- mount-size.sh für Grundstruktur
- lvm-manage.sh für Kundenverwaltung
- Beste Flexibilität
- Linux OS (Ubuntu 20.04+, Debian 10+)
- Root oder sudo Zugriff
- Mindestens 4GB RAM
sudo apt-get install util-linux e2fsprogs partedsudo apt-get install lvm2 util-linux e2fsprogsNeue 12TB Disk mit 3 Partitionen (mount-size.sh):
sudo ./mount-size.sh -m /part/tier1 -d /dev/sdc -s 4000G
sudo ./mount-size.sh -m /part/tier2 -d /dev/sdc -s 4000G
sudo ./mount-size.sh -m /part/tier3 -d /dev/sdc -s 2000GFlexible Kunden-Verwaltung (lvm-manage.sh):
# Setup einmalig
sudo ./lvm-manage.sh create-vg -d /dev/sde -vg backup-pool
# Customers hinzufügen
sudo ./lvm-manage.sh create-lv -vg backup-pool -lv customer-01 -s 500G -m /backup/customer-01
sudo ./lvm-manage.sh create-lv -vg backup-pool -lv customer-02 -s 1000G -m /backup/customer-02
# Upgrade wenn nötig
sudo ./lvm-manage.sh resize-lv -vg backup-pool -lv customer-01 -s 750GMehr Beispiele → | Weitere Beispiele →
- Immer Backups machen vor Disk-Operationen
- Device-Namen überprüfen bevor Sie Befehle ausführen
- Root-Zugriff erforderlich - Vorsicht bei Automatisierung
- Regelmäßig Speicher überprüfen um Überläufe zu vermeiden
# 1. Device überprüfen
lsblk
# 2. Backup erstellen
tar -czf backup-$(date +%Y%m%d).tar.gz /your/data/
# 3. Script ausführen
sudo ./mount-size.sh -m /mount/point -d /dev/sdc -s 1000G
# 4. Überprüfung
lsblk
df -h"Device nicht gefunden"
# Überprüfe verfügbare Devices
lsblk
ls -la /dev/sd*"Permission denied"
# Scripts müssen mit sudo aufgerufen werden
sudo ./mount-size.sh ..."Mount fehlgeschlagen"
# Überprüfe ob Mountpoint existiert
sudo mkdir -p /mount/point
# Oder überprüfe fstab
cat /etc/fstabVollständiges Troubleshooting →
# Speichernutzung
df -h
# Partitionen/Volumes
lsblk
# LVM Status
sudo lvdisplay
sudo vgdisplay
# Statistics (lvm-manage.sh)
sudo ./lvm-manage.sh stats -vg backup-pool# Tägliche Checks per Cron
0 2 * * * df -h >> /var/log/disk-check.log
0 2 * * * lsblk >> /var/log/partition-check.log# Hilfe anzeigen
./mount-size.sh -h
./lvm-manage.sh -h
# Version
./mount-size.sh --version
./lvm-manage.sh --versionBeiträge sind willkommen! Bitte:
- Fork das Repository
- Feature Branch erstellen (
git checkout -b feature/AmazingFeature) - Änderungen committen (
git commit -m 'Add some AmazingFeature') - Branch pushen (
git push origin feature/AmazingFeature) - Pull Request öffnen
Diese Scripts sind unter der MIT License lizenziert. Siehe LICENSE für Details.
- Web-Dashboard
- WHMCS Integration
- Automatische Backups
- Alert System (80% Auslastung)
- Docker Support
- Terraform Modules
Darkmatter IT - Professionelle IT-Services & Infrastruktur
- 🌍 Website: https://darkmatter-it.de
- 📧 Email: info@darkmatter-it.de
- 🔐 Speicher & Backup Lösungen
- 🖥️ Managed Hosting Services
- ✅ Initiale Veröffentlichung
- ✅ mount-size.sh vollständig
- ✅ lvm-manage.sh vollständig
- ✅ Umfassende Dokumentation
- ✅ Troubleshooting Guides
Wenn diese Scripts dir geholfen haben, gib uns einen Star ⭐ auf GitHub!
# Oder unterstütze uns durch Feedback & Issues
# https://github.com/yourusername/darkmatter-storage-scripts/issuesMade with ❤️ by Darkmatter IT