How to Manually Remove an Orphaned Proxmox Node

If you’ve ever removed a storage drive or LVM volume from a Proxmox node, you may have found a “ghost” virtual machine left behind in the web UI, one that can’t be started, migrated, or even deleted through the normal methods. Every time you try, you’re met with an error, and the VM just sits there. This guide covers how to safely remove that orphaned VM configuration from your node.

The Problem: “Storage does not exist”

The reason this happens is that the standard tool, qm destroy, is designed to be safe, so it tries to remove the VM’s virtual disks from storage before it deletes the configuration file. If that storage is already gone, the command fails before it can finish the job, which leaves the config file behind and the ghost VM still showing in the UI.

The error in the shell looks like this:

root@pve-node:~# qm destroy <VMID>
storage '<your-storage-name>' does not exist

The Solution: Remove the Configuration File Manually

Since the tool won’t do it, the fix is to delete the VM’s configuration file yourself, which is straightforward once you know where it lives.

Step 1: Identify the VM ID and Node

From the web UI, note the numeric ID of the orphaned VM (for example 101) and which node it sits on (for example pve-node-1), since you’ll need both in a moment.

Step 2: SSH into the Proxmox Node

Open a terminal and connect to the correct node over SSH:

ssh root@your-proxmox-node-ip

Step 3: Locate the Configuration File

Proxmox keeps all its QEMU (KVM) virtual machine configurations in one directory, so you can list them to find the one belonging to your orphaned VM. Replace <nodename> with the name of your node:

ls -l /etc/pve/nodes/<nodename>/qemu-server/

You’ll see a file named after the VM ID, for example 101.conf.

Step 4: Remove the Configuration File

Now delete the file with rm, but double-check the VM ID before you do, since this can’t be undone and you don’t want to remove a config for a VM you actually still use:

# Replace <nodename> and <VMID> with your actual values
rm /etc/pve/nodes/<nodename>/qemu-server/<VMID>.conf

For example, if your node is pve-node-1 and the VM ID is 101, the command would be:

rm /etc/pve/nodes/pve-node-1/qemu-server/101.conf

Step 5: Refresh the Web UI

Go back to the Proxmox web UI and refresh the page, and the orphaned VM will be gone. Because /etc/pve is a shared cluster filesystem, the change propagates to the rest of the cluster on its own, so there’s nothing else to clean up.

Related guides


Comments

One response to “How to Manually Remove an Orphaned Proxmox Node”

  1. Kevin Walsh Avatar
    Kevin Walsh

    It’s actually a great and useful piece of information. I’m happy that you simply shared this helpful info with us. Please stay us informed like this. Thank you for sharing.

Leave a Reply

Your email address will not be published. Required fields are marked *