Skip to content


Ganeti is a virtualization cluster manager. We currently use it for our machines at Hetzner. It is planned to eventually replace all uses of Proxmox.


Create a new VM (manually)

In case the VM creation cookbook is not usable, VMs can also be created manually.

  1. Create in Netbox and allocate IPs
  2. Create the VM with:
    $ sudo gnt-instance add -t plain -B minmem=1G,maxmem=1G,vcpus=1 --net 0:network=infra-gnt-hetzner-hel-a-dmz1,mac=generate --disk 0:size=8g -n --os-type noop --hypervisor-parameters kvm:boot_order=network,vnc_bind_address=,vnc_password_file=/etc/ganeti/vnc-cluster-password --no-start
    $ sudo gnt-instance show
  3. Record MAC address in Netbox
  4. Start the VM:
    $ sudo gnt-instance start
    $ sudo gnt-instance console
  5. Partition disks manually
  6. Wait for install to complete, and VM to shut down
  7. Change boot order to disk, and start it from there:
    $ sudo gnt-instance modify --hypervisor-parameters=boot_order=disk
    $ sudo gnt-instance start
  8. Log in via mgmt, sign puppet certs

Create a new cluster

This command was used to create the gnt-hetzner-hel-a cluster:

$ gnt-cluster init \
    --no-etc-hosts --no-ssh-init \
    --vg-name vg-gnt \
    --master-netdev lo-gnt --master-netmask 128 --primary-ip-version 6 \
    --secondary-ip \
    --enabled-hypervisors kvm \
    --hypervisor-parameters kvm:kvm_path=/usr/bin/qemu-system-x86_64,kvm_flag=enabled,serial_speed=115200,migration_bandwidth=64,migration_downtime=500,kernel_path= \
    --enabled-disk-templates=plain \