Post

Did I Just Scored A Really Good Deal Be Honest

Did I Just Scored A Really Good Deal Be Honest

INTRODUCTION

The eternal question every homelab enthusiast and DevOps professional faces when spotting second-hand hardware: “Is this actually a good deal or am I about to inherit someone else’s e-waste?” This dilemma recently surfaced on Reddit when a user acquired four HP ProDesk 600 G6 Mini PCs with Intel 10500T/10600T processors and 8GB RAM each for 400€, planning to build a Proxmox cluster.

In enterprise infrastructure and self-hosted environments, hardware procurement decisions carry significant weight. Underpowered nodes create performance bottlenecks while overprovisioning wastes capital and energy. The sweet spot lies in identifying hardware that delivers:

  1. Adequate compute density per watt
  2. Enterprise-grade reliability
  3. Proper virtualization support
  4. Scalable architecture
  5. Cost efficiency per performance unit

This guide examines how to evaluate hardware deals through a DevOps lens, using the HP ProDesk G6 cluster as a case study. We’ll cover:

  • Technical evaluation frameworks for used hardware
  • Proxmox cluster design considerations
  • Performance optimization techniques
  • Total cost of ownership calculations
  • Enterprise-grade homelab architectures

By the end, you’ll possess a systematic approach to assess whether that eBay listing or local marketplace deal truly qualifies as “too good to pass up.”

UNDERSTANDING THE TOPIC

The Hardware: HP ProDesk 600 G6 Mini

Released in Q4 2020, these 1L mini-PCs represent Intel’s 10th-gen Comet Lake architecture. Key specifications:

ComponentSpecification
CPU OptionsIntel i5-10500T (6C/12T) or i5-10600T
Base Clock2.5GHz (10500T), 2.4GHz (10600T)
Max Turbo3.8GHz (10500T), 4.0GHz (10600T)
TDP35W
Memory2x DDR4 SO-DIMM (Max 64GB)
Storage1x M.2 NVMe + 1x 2.5” SATA
NetworkingIntel I219-LM Gigabit Ethernet
ExpansionOptional PCIe x4 (via riser)

From a virtualization perspective, these systems offer:

  • Hardware-assisted virtualization (VT-x, VT-d)
  • AES-NI for cryptographic acceleration
  • Intel QAT (QuickAssist Technology) on select models
  • TPM 2.0 for secure boot and attestation

The Software: Proxmox VE Cluster

Proxmox Virtual Environment (Proxmox VE) is an open-source server virtualization platform combining KVM hypervisor and LXC containers. When clustered, it provides:

  • Live migration between nodes
  • Distributed storage options (Ceph, ZFS)
  • Centralized management via web UI/API
  • HA (High Availability) for critical VMs

A four-node cluster offers N+1 redundancy - one node can fail without service interruption.

Deal Evaluation Framework

Assessing hardware deals requires analyzing multiple dimensions:

1. Performance per Euro

1
2
Total Compute = (Cores × Clock × Turbo Duration) × Node Count
Cost per Thread = Total Cost / Total Threads

For this deal:

1
2
6 cores × 3.5GHz (avg turbo) × 4 nodes = 84 GHz-equivalent
400€ / (12 threads × 4 nodes) = 8.33€ per thread

Compare against cloud pricing (e.g., AWS t3.xlarge at $0.1664/hr):

1
Break-even point = 400€ / (0.1664€/hr × 4 nodes) ≈ 600 hours

2. Power Efficiency 35W TDP × 4 nodes = 140W base load Actual consumption ≈ 200W under load Annual energy cost (EU avg 0.23€/kWh):

1
200W × 24h × 365 × 0.23€ / 1000 = 402.96€/year

3. Expandability Constraints

  • Limited to 64GB RAM per node (non-ECC)
  • Single NIC without expansion
  • No IPMI/BMC for remote management

4. Alternative Scenarios

  • Same budget could purchase 1-2 used enterprise servers
  • Cloud alternatives offer better scalability but higher long-term costs

Real-World Applications

Such a cluster excels at:

  • Kubernetes development environment
  • Distributed storage testing (Ceph, GlusterFS)
  • CI/CD pipeline parallelization
  • Network services lab (pfSense, IDS/IPS)
  • Vertical scaling for monolithic applications

PREREQUISITES

Before deploying a Proxmox cluster, ensure these requirements are met:

Hardware Requirements

ComponentMinimumRecommended
CPU64-bit x86 with VT-xIntel VT-d / AMD-Vi
RAM4GB per node16GB+ per node
Storage32GB boot driveNVMe + SSD mirror
Network1GbE10GbE + backup NIC
Power65W adapterUPS-protected

Critical Checks:

1
2
3
4
5
6
7
8
# Verify virtualization support
grep -E '(vmx|svm)' /proc/cpuinfo

# Check memory configuration
sudo dmidecode -t memory | grep -i size

# Inspect storage devices
lsblk -o NAME,MODEL,SIZE,ROTA

Software Requirements

  • Proxmox VE 7.4+ (based on Debian 11 “Bullseye”)
  • Corosync 3.1+ for clustering
  • QEMU 7.2+ for virtualization
  • LXC 5.0+ for containerization

Network Considerations

  1. Dedicated cluster network (recommended VLAN)
  2. Static IP assignment for nodes
  3. DNS resolution configured
  4. Firewall rules for Proxmox ports:
    • TCP 8006 (WebUI)
    • TCP 22 (SSH)
    • UDP 5404-5405 (Corosync)
    • TCP 3128 (SPICE proxy)

Security Preparation

  1. Disable root SSH access post-install
  2. Implement 2FA for web UI
  3. Generate separate SSH keys per node
  4. Plan certificate authority for cluster communication

INSTALLATION & SETUP

Node Preparation

  1. Flash Proxmox ISO to USB: ```bash

    Identify USB device

    lsblk

Write image (replace sdX with your device)

sudo dd if=proxmox-ve_7.4-1.iso of=/dev/sdX bs=4M conv=fsync status=progress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2. Install on each node:
   - Filesystem: ext4 or ZFS (for advanced features)
   - Management IP: 192.168.1.10[1-4]/24
   - Hostnames: pve01, pve02, pve03, pve04

3. Post-install configuration:
```bash
# Update sources list
echo "deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list

# Update packages
apt update && apt full-upgrade -y

# Remove subscription nag
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

Cluster Formation

  1. Initialize cluster on first node:
    1
    
    pvecm create proxmox-cluster
    
  2. Join subsequent nodes:
    1
    
    pvecm add 192.168.1.101
    
  3. Verify quorum: ```bash pvecm status

Cluster information

Name: proxmox-cluster Config Version: 4 Transport: knet Secure auth: on

Quorum information

Date: Sun Aug 20 14:32:11 2023 Quorum provider: corosync_votequorum Nodes: 4 Node ID: 0x00000001 Ring ID: 1.3a8 Quorate: Yes

1
2
3
4
5
6
7
8
9
10
#### Storage Configuration

Example /etc/pve/storage.cfg for NFS shared storage:
```bash
nfs: shared-nfs
    export /mnt/pve/shared-nfs
    path /mnt/pve/shared-nfs
    server 192.168.1.200
    content iso,backup,vztmpl

For local ZFS pool:

1
2
3
zpool create -f -o ashift=12 tank \
  mirror /dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_1TB_S4EWNF0R123456 \
         /dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_1TB_S4EWNF0R654321

CONFIGURATION & OPTIMIZATION

CPU Pinning

Assign specific cores to critical VMs in /etc/pve/qemu-server/VMID.conf:

1
2
3
4
5
args: -cpu host,-kvm_pv_eoi,-kvm_pv_unhalt
cores: 4
cpu: host
cpulimit: 3
cpuunits: 2048

Memory Management

Enable ballooning in VM configuration:

1
2
balloon: 4096
memory: 8192

Network Tuning

Apply optimizations in /etc/sysctl.conf:

1
2
3
4
5
6
# Increase TCP buffer sizes
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# Enable multiqueue virtio-net
echo "options virtio_net num_queues=4" > /etc/modprobe.d/virtio_net.conf

Security Hardening

  1. Web UI Security: ```bash

    Enable 2FA with TOTP

    pveum user update root@pam -otp 1

Restrict API access

pveum role add Operator -privs “VM.Audit VM.Console VM.PowerMgmt”

1
2
3
4
5
6
2. Container Isolation:
```bash
# Unprivileged container template
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 65536

USAGE & OPERATIONS

Cluster Management

Common commands:

1
2
3
4
5
6
7
8
# Live migrate VM
qm migrate 101 pve02 --online

# Check resource usage
pvesh get /cluster/resources

# Cluster health check
pvecm verify

Backup Strategy

Example backup job via cron:

1
0 2 * * * vzdump 101 102 --mode snapshot --compress zstd --storage nas-backup --quiet 1

Monitoring Setup

Install Prometheus exporter:

1
apt install prometheus-pve-exporter

Configure /etc/default/prometheus-pve-exporter:

1
2
# Scrape all nodes
PROMETHEUS_TARGETS="192.168.1.101:9221,192.168.1.102:9221,192.168.1.103:9221,192.168.1.104:9221"

TROUBLESHOOTING

Common Issues

Problem: Corosync authentication errors
Solution: Regenerate cluster auth key:

1
pvecm updatecerts -f

Problem: VM migration fails
Check network connectivity:

1
2
3
4
5
# Test corosync ring
corosync-cmapctl | grep members

# Verify multicast (if used)
omping -c 100 -i 0.01 -q pve01 pve02 pve03 pve04

Problem: ZFS performance degradation
Check ARC efficiency:

1
arc_summary | grep -E 'hit rate|efficiency'

CONCLUSION

The HP ProDesk G6 cluster at 400€ presents an excellent balance of price, performance, and power efficiency for homelab use. While lacking enterprise features like ECC RAM and IPMI, its compact form factor and modern CPUs make it ideal for:

  • Learning Proxmox clustering
  • Developing distributed systems
  • Hosting non-critical services
  • Energy-conscious labs

For production workloads, consider supplementing with:

  • 10GbE networking via USB adapters
  • External NVMe storage arrays
  • ECC-enabled systems for ZFS redundancy

To further explore Proxmox capabilities:

The true value of such deals lies beyond hardware specs - they enable hands-on experience with enterprise-grade virtualization at minimal cost. As infrastructure trends toward edge computing and microservers, mastering these compact clusters becomes increasingly valuable for DevOps professionals.

This post is licensed under CC BY 4.0 by the author.