Add optimized Proxmox VM configuration guide
This commit is contained in:
parent
e0bd3df158
commit
7e9502ca02
|
|
@ -0,0 +1,200 @@
|
|||
# Proxmox Production VM - Optimized Configuration
|
||||
|
||||
Based on your Proxmox hardware, here's the optimized VM configuration:
|
||||
|
||||
## 🖥️ Your Proxmox Hardware
|
||||
|
||||
- **CPU:** 24 cores (2x Intel Xeon E5645 @ 2.40GHz)
|
||||
- **RAM:** 94.27 GiB total (45% used)
|
||||
- **Storage:** pve-main (NVMe)
|
||||
- **Network:** vmbr1
|
||||
|
||||
## ⚙️ Optimized VM Settings
|
||||
|
||||
### VM Configuration (VM-201)
|
||||
```yaml
|
||||
VM ID: 201 (101 already exists)
|
||||
Name: DevMatrix-Prod
|
||||
CPU: 6 cores (dedicated)
|
||||
Sockets: 2 (matches your dual-CPU setup)
|
||||
RAM: 16GB (no ballooning)
|
||||
Disk: 150GB (NVMe with TRIM)
|
||||
Network: vmbr1 (firewall enabled)
|
||||
NUMA: Enabled (optimal for dual-socket)
|
||||
CPU Priority: 2048 (high priority)
|
||||
Auto-start: Yes
|
||||
Boot Order: scsi0
|
||||
```
|
||||
|
||||
### Why These Settings?
|
||||
|
||||
| Setting | Value | Reason |
|
||||
|---------|-------|--------|
|
||||
| **6 CPU cores** | Not too few, not too many | Leaves plenty for other VMs |
|
||||
| **2 sockets** | Matches your hardware | Better NUMA performance |
|
||||
| **16GB RAM** | 17% of total | Guaranteed memory, no swapping |
|
||||
| **150GB NVMe** | Fast storage | Plenty for app + logs + backups |
|
||||
| **vmbr1** | Your network | No VLAN needed |
|
||||
| **TRIM enabled** | SSD optimization | Prevents performance degradation |
|
||||
| **High CPU priority** | 2048 vs default 1024 | Production gets priority |
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### 1. Run VM Creation Script
|
||||
|
||||
```bash
|
||||
# SSH into Proxmox host, then:
|
||||
curl -fsSL https://git.lemonlink.eu/devmatrix/devmatrix-scripts/raw/branch/main/proxmox/create-production-vm.sh | sudo bash
|
||||
```
|
||||
|
||||
This will:
|
||||
- Download Ubuntu 22.04 cloud image
|
||||
- Create VM-201 with optimized settings
|
||||
- Configure networking (192.168.5.211)
|
||||
- Start the VM
|
||||
|
||||
### 2. Complete Setup
|
||||
|
||||
```bash
|
||||
# SSH into the new VM
|
||||
ssh devmatrix@192.168.5.211
|
||||
|
||||
# Run setup
|
||||
curl -fsSL https://git.lemonlink.eu/devmatrix/devmatrix-scripts/raw/branch/main/proxmox/setup-production-vm.sh | sudo bash
|
||||
```
|
||||
|
||||
### 3. Deploy Mission Control
|
||||
|
||||
```bash
|
||||
# Clone repo
|
||||
git clone https://git.lemonlink.eu/devmatrix/mission-control.git ~/mission-control
|
||||
|
||||
# Deploy
|
||||
cd ~/mission-control
|
||||
mc-deploy
|
||||
```
|
||||
|
||||
## 📊 Resource Usage Estimate
|
||||
|
||||
After deployment, expect:
|
||||
- **CPU:** 0.5-2 cores (idle to moderate load)
|
||||
- **RAM:** 2-4GB (can scale to 8GB if needed)
|
||||
- **Disk:** ~5GB initial, grows with data
|
||||
|
||||
**Plenty of headroom for growth!**
|
||||
|
||||
## 🔧 Manual Configuration (if needed)
|
||||
|
||||
If you prefer manual setup in Proxmox GUI:
|
||||
|
||||
1. **Create VM:**
|
||||
- VM ID: 201
|
||||
- Name: DevMatrix-Prod
|
||||
- Resource: pve-main (NVMe)
|
||||
|
||||
2. **OS:**
|
||||
- Use CD/DVD: Ubuntu 22.04 ISO
|
||||
- Or use cloud-init image
|
||||
|
||||
3. **System:**
|
||||
- Machine: q35
|
||||
- SCSI Controller: VirtIO SCSI single
|
||||
- BIOS: OVMF (UEFI)
|
||||
- QEMU Agent: Yes
|
||||
|
||||
4. **CPU:**
|
||||
- Sockets: 2
|
||||
- Cores: 3 per socket
|
||||
- Type: host
|
||||
- NUMA: Yes
|
||||
|
||||
5. **Memory:**
|
||||
- Size: 16384 MB
|
||||
- Ballooning: No
|
||||
|
||||
6. **Network:**
|
||||
- Bridge: vmbr1
|
||||
- Model: VirtIO
|
||||
- Firewall: Yes
|
||||
|
||||
7. **Disk:**
|
||||
- Storage: pve-main
|
||||
- Size: 150GB
|
||||
- Discard: Yes
|
||||
- SSD emulation: Yes
|
||||
- iothread: Yes
|
||||
|
||||
## ✅ Validation Checklist
|
||||
|
||||
After VM creation, verify:
|
||||
- [ ] VM starts without errors
|
||||
- [ ] Network reachable: `ping 192.168.5.211`
|
||||
- [ ] SSH working: `ssh devmatrix@192.168.5.211`
|
||||
- [ ] QEMU agent running: `qm agent $VM_ID ping`
|
||||
- [ ] TRIM working: `fstrim -av` (in VM)
|
||||
|
||||
## 🔄 Post-Deployment
|
||||
|
||||
Once Mission Control is running:
|
||||
|
||||
```bash
|
||||
# Check status
|
||||
mc-status
|
||||
|
||||
# Monitor resources
|
||||
htop
|
||||
|
||||
# View logs
|
||||
mc-logs
|
||||
|
||||
# Check disk usage
|
||||
df -h
|
||||
```
|
||||
|
||||
## 🆘 Troubleshooting
|
||||
|
||||
### VM won't start
|
||||
```bash
|
||||
# Check for errors
|
||||
qm start $VM_ID --verbose
|
||||
journalctl -xe | grep pvedaemon
|
||||
```
|
||||
|
||||
### No network
|
||||
```bash
|
||||
# Check bridge
|
||||
ip addr show vmbr1
|
||||
|
||||
# Check VM network
|
||||
qm config $VM_ID
|
||||
```
|
||||
|
||||
### Storage issues
|
||||
```bash
|
||||
# Check available space
|
||||
pvesm status
|
||||
|
||||
# Check disk
|
||||
qm disk list $VM_ID
|
||||
```
|
||||
|
||||
## 📈 Future Scaling
|
||||
|
||||
If you need more resources later:
|
||||
|
||||
```bash
|
||||
# Add more CPU
|
||||
qm set 201 --cores 8
|
||||
|
||||
# Add more RAM
|
||||
qm set 201 --memory 24576
|
||||
|
||||
# Resize disk
|
||||
qm disk resize 201 scsi0 +50G
|
||||
```
|
||||
|
||||
All changes can be done live without downtime!
|
||||
|
||||
---
|
||||
|
||||
**Ready to create the VM?** Just run the script from your Proxmox host!
|
||||
Loading…
Reference in New Issue