Proxmox Advanced Management Scripts Update (Current V1.24)

Hello everyone!

Back again with some updates!

I've been working on cleaning up and fixing my script repository that I posted ~2 weeks ago. I've been slowly unifying everything and starting to build up a usable framework for spinning new scripts with consistency. The repository is now fully setup with the automated website building, release publishing for version control, GitHub templates (Pull, issues/documentation fixes/feature requests), a contributing guide, and security policy.

Available on Github here: https://github.com/coelacant1/ProxmoxScripts

New GUI for CC PVE scripts

One of the main features is being able to execute fully locally, I split apart the single call script which pulled the repository and ran it from GitHub and now have a local GUI.sh script which can execute everything if you git clone/download the repository.

Other improvements:

  • Software installs
    • When scripts need software that are not installed, it will prompt you and ask if you would like to install them. At the end of the script execution it will ask to remove the ones you installed in that session.
  • Host Management
    • Upgrade all servers, upgrade repositories
    • Fan control for Dell IPMI and PWM
    • CPU Scaling governer, GPU passthrough, IOMMU, PCI Passthrough for LXC containers, X3D optimization workflow, online memory tested, nested virtualization optimization
    • Expanding local storage (useful when proxmox is nested)
    • Fixing DPKG locks
    • Removing local-lvm and expanding local (when using other storage options)
    • Separate node without reinstalling
  • LXC
    • Upgrade all containers in the cluster
    • Bulk unlocking
  • Networking
    • Host to host automated IPerf network speed test
    • Internet speed testing
  • Security
    • Basic automated penetration testing through nmap
    • Full cluster port scanning
  • Storage
    • Automated Ceph scrubbing at set time
    • Wipe Ceph disk for removing/importing from other cluster
    • Disk benchmarking
    • Trim all filesystems for operating systems
    • Optimizing disk spindown to save on power
    • Storage passthrough for LXC containers
    • Repairing stale storage mounts when a server goes offline too long
  • Utilities
    • Only used to make writing scripts easier! All for shared functions/functionality, and of course pretty colors.
  • Virtual Machines
    • Automated IP configuration for virtual machines without a cloud init drive - requires SSH
      • Useful for a Bulk Clone operation, then use these to start individually and configure the IPs
    • Rapid creation from ISO images locally or remotely
      • Can create following default settings with -n [name] -L [https link], then only need configured
      • Locates or picks Proxmox storage for both ISO images and VM disks.
      • Select an ISO from a CSV list of remote links or pick a local ISO that’s already uploaded.
      • Sets up a new VM with defined CPU, memory, and BIOS or UEFI options.
      • If the ISO is remote, it downloads and stores it before attaching.
      • Finally, it starts the VM, ready for installation or configuration.
      • (This is useful if you manage a lot of clusters or nested Proxmox hosts.)

Example output from the Rapid Virtual Machine creation tool, and the new minimal header -nh

The main GUI now also has a few options, to hide the large ASCII art banner you can append an -nh at the end. If your window is too small it will autoscale the art down to another smaller option. The GUI also has color now, but minimally to save on performance (will add a disable flag later)

I also added python scripts for development which will ensure line endings are not CRLF but are just LF. As well as another that will run ShellCheck on all of the scripts/select folders. Right now there are quite a few errors that I still need to work through. But I've been adding manual status comments to the bottom once scripts are fully tested.

As stated before, please don't just randomly run scripts you find without reading and understanding them. This is still a heavily work in progress repository and some of these scripts can very quickly shred weeks or months of work. Use them wisely and test in non-production environments. I do all of my testing on a virtual cluster running on my cluster. If you do run these, please download and use a locally sourced version that you will manage and verify yourself.

I will not be adding a link here but have it on my Github, I have a domain that you can now use to have an easy to remember and type single line script to pull and execute any of these scripts in 28 characters. I use this, but again, I HEAVILY recommend cloning directly from Github and executing locally.

If anyone has any feature requests this time around, submit a feature request, post here, or message me.

Coela