What does a dedicated Linux server need before it can run KVM virtual machines?
A usable KVM host needs supported CPU virtualization, kernel support, access to the KVM device and a compatible virtualization management stack. Guest capacity also depends on memory, storage latency and network design. A host passing basic validation still needs a deliberate guest isolation and resource plan before production workloads are added.
Before you start
- Linux with the distribution-supported QEMU/libvirt packages already installed.
Instructions
1. Inspect host support and device access
Use the installed libvirt validation utility and inspect the KVM character device. Package names and service layout differ by distribution.
sudo virt-host-validate qemu
ls -l /dev/kvmDevice permissions and group membership control access. Do not solve an access error by granting every user unrestricted access to the device.
2. Confirm the intended libvirt instance
A system connection and a per-user session can contain different guests. Choose the connection that matches the deployment plan.
virsh --connect qemu:///system uri
virsh --connect qemu:///system list --allThese commands identify the system connection and list its guests. An authorisation failure is not proof that the CPU lacks virtualization support.
Check the result
- The chosen connection is reachable with the intended account, the required host checks pass and the storage/network plan supports the planned guests.
Troubleshooting
- The default virsh list is empty
- Check the connection URI and permissions; it may be a different libvirt instance.
- Validation warns about an optional feature
- Determine whether the intended guest workload requires that feature before changing the host.
- A libvirt service name is missing
- Some distributions use modular daemons; follow that distribution’s installed libvirt service model.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
