Skip to content

Servers

A server is a Proxmox virtual machine that zone9 created from an image template and tagged so that anyone — the panel, or an operator looking at Proxmox — can tell whose it is and what it is for.

LayerTechnology
VirtualisationProxmox VE / QEMU-KVM, reached only over the Proxmox REST API
ProvisioningTemplates cloned per server; guest configuration via cloud-init (Linux) or cloudbase-init (Windows)
DisksWhatever the region’s storage is — ZFS with replication, or Ceph
Guest agentQEMU guest agent, used for the address and state readback
IdentificationProxmox tags: a platform marker, the resource identifier, and a role

The tags matter more than they look. They are how a job finds its own machine after a rename, how the deletion job refuses to touch a machine that is not the one it was asked about, and how an operator in the Proxmox UI can attribute every VM without the panel.

PlanvCPUMemoryDisk
s12 GB40 GB
m24 GB80 GB
l48 GB160 GB
xl616 GB240 GB
xxl832 GB400 GB
xxxl1264 GB640 GB

An image may declare a minimum memory requirement, in which case smaller plans are hidden when that image is selected — this is why the operating system is chosen before the plan in the create form.

Sunucular → Sunucu Oluştur (Servers → Create server), or:

Terminal window
curl -X POST https://api.example.com/v1/servers \
-H "Authorization: Bearer $Z9_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"web-1","region":"ist1","image":"ubuntu-24.04","package":"m",
"subnet_id":"sub_…","ssh_key_ids":["key_…"]}'

Returns 202 with a job. See Your first server for the full walk through, and Asynchronous operations for how to wait.

RequirementWhy
A subnet in the chosen regionThe server’s first interface lands there
Free capacity in that subnetAddresses are allocated by the control plane
An SSH key, or acceptance of a generated passwordLinux images with neither would be unreachable

Console — always available, needs no network. Serial for Linux, VNC for Windows. See Console.

SSH — over the private address from a neighbour, or over a public address once one is attached. The password, if you chose one, is displayed exactly once at creation and is not stored by the panel. Use Şifre sıfırla (Reset password) if you lose it.

Public address — see Public IPs. Attach a firewall first.

Changing the plan requires a power cycle; the panel says so before it acts. Disk growth is one-way — a disk can be enlarged, never shrunk, which is a property of the underlying storage and not a panel limitation.

Start, stop and reboot are jobs like everything else. A stop is a graceful ACPI shutdown with a fallback; the panel reports what actually happened rather than assuming.

Two-phase, and worth understanding before you need it:

  1. You delete. The server is marked deleting and stopped. Disks still exist.
  2. A buffer runs — an installation setting, commonly ten minutes. During it you can cancel and get everything back.
  3. The buffer expires and a job destroys the VM and its disks.

Addresses attached to the server are released back to your organisation, not to the platform: they remain yours to attach elsewhere.

The deletion job re-verifies tags before destroying anything. A machine carrying a platform role — a region agent, a Kubernetes node — is refused unconditionally even if the job names it.

Virtual machines that already existed when zone9 was pointed at the cluster appear as adopted. They are visible and attributable, but not fully managed: the panel did not create them, does not know what plan they were meant to be, and will not resize or rebuild them. You can attach addresses and firewalls to them.

  • Disks can grow, not shrink.
  • Plan changes require a restart.
  • Live migration between nodes is a Proxmox operation; zone9 does not orchestrate it.
  • There is no server-level backup product yet; use Proxmox Backup Server at the infrastructure layer.