2.5 KiB
2.5 KiB
Particle-OS VM Management Setup
This guide helps you set up remote VM management for your headless Particle-OS development server.
Quick Start
-
Test the connection:
just -f vm-justfile test-connection -
List existing VMs:
just -f vm-justfile list -
Create a test VM:
just -f vm-justfile create particle-test 20G
Configuration
The system uses these environment variables (set in .vm-config):
VM_SERVER: Your headless server (e.g.,joe@192.168.122.76)VM_DIR: VM storage directory (/var/lib/libvirt/images)ISO_DIR: ISO storage directory (/var/lib/libvirt/isos)VM_SSH_KEY: SSH key path (optional)VM_SSH_PORT: SSH port (default: 22)
Setting Up Environment Variables
Option 1: Export in your shell
export VM_SERVER=joe@192.168.122.76
export VM_DIR=/var/lib/libvirt/images
export ISO_DIR=/var/lib/libvirt/isos
Option 2: Use .env file
# Copy .vm-config to .env
cp .vm-config .env
# Then source it
source .env
Connecting from virt-manager
On your other PC with virt-manager:
-
Add Connection:
- File → Add Connection
- Hypervisor: QEMU/KVM
- Connection:
qemu+ssh://joe@192.168.122.76/system
-
VNC Access:
- VMs will be accessible via VNC on port 5900
- Connect to:
192.168.122.76:5900
Common Commands
# VM Management
just -f vm-justfile create <name> <size> [iso] [ram] [vcpus]
just -f vm-justfile start <name>
just -f vm-justfile stop <name>
just -f vm-justfile status <name>
just -f vm-justfile remove <name>
# Monitoring
just -f vm-justfile info <name>
just -f vm-justfile console <name>
just -f vm-justfile get-ip <name>
# Storage
just -f vm-justfile storage-pool-list
just -f vm-justfile list-storage-files
just -f vm-justfile list-isos
Troubleshooting
Connection Issues
- Check SSH access:
ssh joe@192.168.122.76 - Verify libvirt is running:
virsh version --short - Check firewall settings
VM Creation Issues
- Ensure sufficient disk space
- Check libvirt permissions
- Verify network configuration
VNC Issues
- Check if port 5900 is open
- Verify VNC is enabled in VM config
- Try different VNC viewer
Security Notes
- VNC is unencrypted - use SSH tunnel for production
- Consider setting up SSH key authentication
- Restrict network access to VNC port
- Use firewall rules to limit access
Next Steps
- Test basic connectivity
- Create a simple test VM
- Connect via virt-manager
- Test VNC access
- Create Particle-OS test VMs