Skip to content

OpenNebula — Commands & Recipes

VM Lifecycle

# Create VM from template
onevm create --name myvm --template "My Template"

# List VMs
onevm list

# Show VM details
onevm show myvm

# Suspend / Resume
onevm suspend myvm
onevm resume myvm

# Live migrate
onevm migrate --live myvm target-host

# Snapshot
onevm disk-snapshot-create myvm 0 snap-01

# Terminate
onevm terminate myvm

Template Management

# Create template
onetemplate create <<EOF
NAME = "ubuntu-24"
CPU = 2
VCPU = 2
MEMORY = 4096
DISK = [
  IMAGE = "Ubuntu 24.04",
  SIZE = 20480
]
NIC = [
  NETWORK = "Private"
]
CONTEXT = [
  SSH_PUBLIC_KEY = "\$USER[SSH_PUBLIC_KEY]",
  NETWORK = "YES"
]
EOF

# List templates
onetemplate list
onetemplate instantiate "ubuntu-24"

Host Management

# Add host
onehost create kvm-host-01 --im kvm --vm kvm

# List hosts with status
onehost list

# Enable / Disable (maintenance)
onehost disable kvm-host-01
onehost enable kvm-host-01

# Monitor host resources
onehost monitoring kvm-host-01

Networking

# Create virtual network
onevnet create <<EOF
NAME = "Private"
VN_MAD = "bridge"
BRIDGE = "br0"
AR = [
  TYPE = "IP4",
  IP = "10.0.0.100",
  SIZE = "100"
]
EOF

# List networks
onevnet list

# Reserve IP range
onevnet addar Private --ip 10.0.0.200 --size 10

Storage

# Create datastore (Ceph)
onedatastore create <<EOF
NAME = "ceph-ds"
TM_MAD = "ceph"
DS_MAD = "ceph"
CEPH_HOST = "ceph-mon1 ceph-mon2 ceph-mon3"
CEPH_USER = "libvirt"
CEPH_SECRET = "uuid-here"
POOL_NAME = "one"
EOF

# List images
oneimage list

# Upload image
oneimage create --name "Ubuntu 24.04" \
  --path /var/tmp/ubuntu-24.04.qcow2 \
  --driver qcow2 \
  --datastore default

OneFlow (Services)

# Create multi-tier service
oneflow-template create service.json
oneflow create "My Service"
oneflow list
oneflow scale "My Service" "web" 5  # scale web tier

System Administration

# Check daemon status
systemctl status opennebula opennebula-scheduler opennebula-sunstone

# View oned logs
tail -f /var/log/one/oned.log

# Database backup
onedb backup /var/lib/one/backup/one.db.$(date +%Y%m%d)

# Upgrade check
onedb version
onedb fsck  # consistency check

Sources