Files
loc_az_hci/docs/DISK_SIZE_RECOMMENDATIONS.md

105 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

# VM Disk Size Recommendations
## Current Disk Sizes
- **VM 100 (cloudflare-tunnel)**: 40G
- **VM 101 (k3s-master)**: 80G
- **VM 102 (git-server)**: 100G
- **VM 103 (observability)**: 200G
## Recommended Disk Sizes
### VM 100: Cloudflare Tunnel (40G → 20G)
**Current:** 40G
**Recommended:** 20G
**Rationale:**
- Ubuntu 24.04 base: ~5-8GB
- cloudflared binary: ~50MB
- Logs and config: ~1-2GB
- **Total needed:** ~10-12GB
- **20G provides:** 2x headroom for logs and updates
### VM 101: K3s Master (80G → 40G)
**Current:** 80G
**Recommended:** 40G
**Rationale:**
- Ubuntu 24.04 base: ~5-8GB
- K3s binaries: ~200MB
- Container images: ~5-10GB (can grow)
- etcd data: ~2-5GB (grows with cluster)
- **Total needed:** ~15-25GB
- **40G provides:** Good headroom for images and etcd growth
- **Note:** Can expand later if needed
### VM 102: Git Server (100G → 50G)
**Current:** 100G
**Recommended:** 50G
**Rationale:**
- Ubuntu 24.04 base: ~5-8GB
- Gitea/GitLab: ~2-5GB
- Repository data: Variable (depends on usage)
- **Total needed:** ~15-30GB for small-medium repos
- **50G provides:** Good starting point, can expand later
- **Note:** If you have large repos, keep 100G or expand later
### VM 103: Observability (200G → 100G)
**Current:** 200G
**Recommended:** 100G
**Rationale:**
- Ubuntu 24.04 base: ~5-8GB
- Prometheus: ~10-30GB (depends on retention)
- Grafana: ~2-5GB
- Loki/Logs: ~20-50GB (depends on retention)
- **Total needed:** ~40-90GB for 7-30 day retention
- **100G provides:** Good starting point for 7-14 day retention
- **Note:** Can expand later as metrics/logs grow
## Summary
| VM | Current | Recommended | Savings |
|----|---------|-------------|---------|
| cloudflare-tunnel | 40G | 20G | -20G |
| k3s-master | 80G | 40G | -40G |
| git-server | 100G | 50G | -50G |
| observability | 200G | 100G | -100G |
| **Total** | **420G** | **210G** | **-210G** |
## Benefits of Smaller Disks
1. **Faster Cloning:** Smaller disks clone faster from template
2. **Less Storage Used:** Frees up 210GB on Proxmox storage
3. **Faster Backups:** Smaller disks backup faster
4. **Cost Savings:** If using paid storage, reduces costs
5. **Easy Expansion:** Can expand disks later if needed (Proxmox supports online expansion)
## When to Use Larger Disks
- **Git Server (100G)**: If you expect large repositories or many repos
- **Observability (200G)**: If you need 30+ days of metrics/logs retention
- **K3s Master (80G)**: If you'll store many container images locally
## Disk Expansion
Proxmox supports online disk expansion. You can:
1. Expand via Proxmox web UI
2. Expand via API
3. Expand via `qm resize` command
After expansion, resize the filesystem inside the VM:
```bash
sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1 # for ext4
# or
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv # for LVM
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
```
## Recommendation
**Start with smaller sizes (20G, 40G, 50G, 100G)** and expand later if needed. This:
- Saves storage space
- Speeds up initial deployment
- Provides sufficient space for initial operations
- Allows expansion when actual usage patterns are known