LXC AutoScale is a resource management daemon specifically designed for Proxmox environments. It automatically adjusts CPU and memory allocations with no downtime and can clone LXC containers based on real-time usage metrics and predefined thresholds. Can be run locally or remotely to make your containers always optimized for performance, managing spikes in demand, and optionally preserving resources during off-peak hours.
Proxmox 8.2.4
Quick Start
Method | Instructions |
---|---|
🐳 | Docker |
🐧 | no Docker |
LXC AutoScale is packed with features that make it an essential tool for managing the auto-scaling of your LXC containers on Proxmox:
[!NOTE] If You need to autoscale Virtual Machines resources on Proxmox hosts You will like this project.
Getting started with LXC AutoScale on your Proxmox host is quick and simple:
curl -sSL https://raw.githubusercontent.com/fabriziosalmi/proxmox-lxc-autoscale/main/install.sh | bash
[!TIP] Once installed, the service should be up and running. You can verify this by executing:
systemctl status lxc_autoscale.service
If the conditions set in the configuration are met, you will quickly observe scaling operations in action.
[!IMPORTANT] You need to check your
/lib/systemd/system/lxcfs.service
file for the presence of the-l
option which makesloadavg
retrieval working as expected. Here the required configuration:[Unit] Description=FUSE filesystem for LXC ConditionVirtualization=!container Before=lxc.service Documentation=man:lxcfs(1) [Service] OOMScoreAdjust=-1000 ExecStartPre=/bin/mkdir -p /var/lib/lxcfs # ExecStart=/usr/bin/lxcfs /var/lib/lxcfs ExecStart=/usr/bin/lxcfs /var/lib/lxcfs -l KillMode=process Restart=on-failure ExecStopPost=-/bin/fusermount -u /var/lib/lxcfs Delegate=yes ExecReload=/bin/kill -USR1 $MAINPID [Install] WantedBy=multi-user.target
Just update the
/lib/systemd/system/lxcfs.service
file, executesystemctl daemon-reload && systemctl restart lxcfs
and when you are ready to apply the fix restart the LXC containers.Tnx to No-Pen9082 to point me out to that. Here the Proxmox forum thread on the topic.
LXC AutoScale is designed to be highly customizable. You can reconfigure the service at any time to better suit your specific needs. For detailed instructions on how to adjust the settings, please refer to the official documentation.
[!TIP] If You need LXC AutoScale configuration for all your LXC containers You can automatically generate it by running this command:
curl -sSL https://raw.githubusercontent.com/fabriziosalmi/proxmox-lxc-autoscale/main/lxc_autoscale/lxc_autoscale_autoconf.sh | bash
LXC AutoScale and LXC AutoScale ML can be used and extended in many ways, here some useful additional resources:
[!TIP] LXC AutoScale ML has been finally moved to a new, separate repository.
LXC AutoScale is an open-source project, and contributions are welcome! Whether you want to submit a pull request, report an issue, or suggest a new feature, your input is invaluable. To get involved, you can:
[!CAUTION] I am not responsible for any potential damage or issues that may arise from using this tool.
LXC AutoScale is licensed under the MIT License, which means you are free to use, modify, and distribute this software with proper attribution. For more details, please see the LICENSE file.