laforceit-blog/public/blog/posts/proxmox-setup-guide.md

191 lines
5.8 KiB
Markdown
Executable File

---
title: Complete Proxmox VE Setup Guide
description: A step-by-step guide to setting up Proxmox VE for your home lab virtualization needs
pubDate: 2025-04-19
heroImage: /blog/images/posts/prometheusk8.png
category: infrastructure
tags:
- proxmox
- virtualization
- homelab
- infrastructure
readTime: 12 min read
---
# Complete Proxmox VE Setup Guide
Proxmox Virtual Environment (VE) is a complete open-source server management platform for enterprise virtualization. It tightly integrates KVM hypervisor and LXC containers, software-defined storage and networking functionality, on a single platform. This guide will walk you through installing and configuring Proxmox VE for your home lab.
## Why Choose Proxmox VE?
- **Open Source**: Free to use with optional paid enterprise support
- **Full-featured**: Combines KVM hypervisor and LXC containers
- **Web Interface**: Easy-to-use management interface
- **Clustering**: Built-in high availability features
- **Storage Flexibility**: Support for local, SAN, NFS, Ceph, and more
## Hardware Requirements
- 64-bit CPU with virtualization extensions (Intel VT-x/AMD-V)
- At least 2GB RAM (8GB+ recommended)
- Hard drive for OS installation (SSD recommended)
- Additional storage for VMs and containers
- Network interface card
## Installation
### 1. Prepare for Installation
1. Download the Proxmox VE ISO from [proxmox.com/downloads](https://www.proxmox.com/downloads)
2. Create a bootable USB drive using tools like Rufus, Etcher, or dd
3. Ensure virtualization is enabled in your BIOS/UEFI
### 2. Install Proxmox VE
1. Boot from the USB drive
2. Select "Install Proxmox VE"
3. Accept the EULA
4. Select the target hard drive (this will erase all data on the drive)
5. Configure country, time zone, and keyboard layout
6. Set a strong root password and provide an email address
7. Configure network settings:
- Enter a hostname (FQDN format: proxmox.yourdomain.local)
- IP address, netmask, gateway
- DNS server
8. Review the settings and confirm to start the installation
9. Once completed, remove the USB drive and reboot
### 3. Initial Configuration
Access the web interface by navigating to `https://<your-proxmox-ip>:8006` in your browser. Log in with:
- Username: root
- Password: (the one you set during installation)
## Post-Installation Tasks
### 1. Update Proxmox VE
```bash
apt update
apt dist-upgrade
```
### 2. Remove Subscription Notice (Optional)
For home lab use, you can remove the subscription notice:
```bash
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*subscription.*/d' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" > /etc/apt/apt.conf.d/no-subscription-warning
```
### 3. Configure Storage
#### Local Storage
By default, Proxmox VE creates several storage locations:
- **local**: For ISO images, container templates, and snippets
- **local-lvm**: For VM disk images
To add a new storage, go to Datacenter > Storage > Add:
- For local directories: Select "Directory"
- For network storage: Select "NFS" or "CIFS"
- For block storage: Select "LVM", "LVM-Thin", or "ZFS"
#### ZFS Storage Pool (Recommended)
ZFS offers excellent performance and data protection:
```bash
# Create a ZFS pool using available disks
zpool create -f rpool /dev/sdb /dev/sdc
# Add the pool to Proxmox
pvesm add zfspool rpool -pool rpool
```
### 4. Set Up Networking
#### Network Bridges
Proxmox VE creates a default bridge (vmbr0) during installation. To add more:
1. Go to Node > Network > Create > Linux Bridge
2. Configure the bridge:
- Name: vmbr1
- IP address/CIDR: 192.168.1.1/24 (or leave empty for unmanaged bridge)
- Bridge ports: (physical interface, e.g., eth1)
#### VLAN Configuration
For VLAN support:
1. Ensure the bridge has VLAN awareness enabled
2. In VM network settings, specify VLAN tags
## Creating Virtual Machines and Containers
### Virtual Machines (KVM)
1. Go to Create VM
2. Fill out the wizard:
- General: Name, Resource Pool
- OS: ISO image, type, and version
- System: BIOS/UEFI, Machine type
- Disks: Size, format, storage location
- CPU: Cores, type
- Memory: RAM size
- Network: Bridge, model
3. Click Finish to create the VM
### Containers (LXC)
1. Go to Create CT
2. Fill out the wizard:
- General: Hostname, Password
- Template: Select from available templates
- Disks: Size, storage location
- CPU: Cores
- Memory: RAM size
- Network: IP address, bridge
- DNS: DNS servers
3. Click Finish to create the container
## Backup Configuration
### Setting Up Backups
1. Go to Datacenter > Backup
2. Add a new backup job:
- Select storage location
- Set schedule (daily, weekly, etc.)
- Choose VMs/containers to back up
- Configure compression and mode
## Performance Tuning
### CPU
For VMs that need consistent performance:
- Set CPU type to "host" for best performance
- Reserve CPU cores for critical VMs
- Use CPU pinning for high-performance workloads
### Memory
- Enable KSM (Kernel Same-page Merging) for better memory usage
- Set appropriate memory ballooning for VMs
### Storage
- Use SSDs for VM disks when possible
- Enable write-back caching for improved performance
- Consider ZFS for important data with appropriate RAM allocation
## Conclusion
Proxmox VE is a powerful, flexible virtualization platform perfect for home labs. With its combination of virtual machines and containers, you can build a versatile lab environment for testing, development, and running production services.
After following this guide, you should have a fully functional Proxmox VE server ready to host your virtual infrastructure. In future articles, we'll explore advanced topics like clustering, high availability, and integration with other infrastructure tools.