Basic Proxmox Configuration
- ZFS Storage
- Wake-on-LAN
- Disable Subscription Message
- Switch Repository to non-enterprise
- GPU Passthrough
- Docker in LXC
- Powersaving
ZFS Storage
I use ZFS as filesystem for my backend storage, due to its seamless integration with Snapshots and the Proxmox Backup Server. It is decently performant compared to the likes of ext, but offers great resilience in RAID-like solutions, is flexible and easy to use. I recommend reading through the basic ZFS introduction to clarify terms and usecases before following this guide, as this only reflects a good usecase for me.
- Create Pool
-
Zpool create -o ashift=12 mirror POOL /dev/sdc /dev/sdd mirror /dev/sde /dev/sdf - Hardening against reboot issues with /dev/sdX nomenclature
-
Zpool export POOL -
Zpool import -d /dev/disk/dev-by-id -
Zpool import -c /etc/zfs/zpool.cache -
Zpool status
-
-
- Set compression:
zfs set compression=lz4 POOL - Create datasets (+tuning)
-
zfs create pool/dataset-name -
sudo zfs set recordsize=[size] data/media/series - No-snap für datenbanksets d. Set mountpoints for datasets e. ZFS Scrub
-
- Set mountpoints for datasets
- ZFS Scrub
https://docs.oracle.com/cd/E24841_01/html/820-2313/gbbwa.html
https://www.usenix.org/system/files/login/articles/login_winter16_09_jude.pdf
https://shatteredsilicon.net/blog/2020/06/05/mysql-mariadb-innodb-on-zfs/
https://docs.oracle.com/cd/E24841_01/html/820-2313/gbbwa.html
https://unix.stackexchange.com/questions/288599/forcing-zpool-to-use-dev-disk-by-id-in-ubuntu-xenial
https://docs.oracle.com/cd/E19253-01/819-5461/gaynr/index.html
Wake-on-LAN
https://www.jm.technology/post/proxmox-wol-mac-set_april-2019/ https://pve.proxmox.com/wiki/Proxmox_Node_Management
Disable Subscription Message
https://johnscs.com/remove-proxmox51-subscription-notice/
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
Switch Repository to non-enterprise
The enterprise repository requires a bought key, hence the usage of Proxmox in a homelab usually lead to the usage of the non-production repository.
-
Comment out everything with "#" in /etc/apt/sources.list/pve-enterprise.list
-
create new file in /etc/apt/sources.list/pve-no-enterprise.list
-
insert:
deb http://download.proxmox.com/debian/pve buster pve-no-subscription -
replace "buster" with name of debian version corresponding to Proxmox version.
Sources
https://pve.proxmox.com/wiki/Package_Repositories
GPU Passthrough
- Kernel modules
- Disable drivers (Intel for iGPU, Nvidia for dedicated)
- Set up VMs accordingly
Docker in LXC
Docker LXC https://kayomo.de/blog/docker-unter-proxmox-installieren/
Powersaving
Powergoverons
Required: -
Related: -
-
apt install cpufrequtils - Check available govenors with
cpufreq-infoorcat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors - apply governor on reboot in crontab with
echo "#NAMEOFGOVENOR" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor