191 lines
5.8 KiB
Markdown
Executable File
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. |