← All posts
GCP31 May 2026 · 2 min read

Orphaned Persistent Disks: The Silent Line Item on Every Cloud Bill

Unattached disks keep billing whether anything uses them or not. They're the easiest cloud waste to fix, and the easiest to never notice. Here's how to hunt them down.

By The FeckBills team

Orphaned Persistent Disks: The Silent Line Item on Every Cloud Bill

Of all the ways to waste money in the cloud, the orphaned persistent disk is the most honest. It's not over-provisioned, not mis-configured, not subtly inefficient. It's just there, attached to nothing, used by nobody, billed in full every single month.

And because it never throws an error, it can sit on your bill for years.

Where orphaned disks come from

  • A VM gets deleted but its data disk was set to not delete on instance termination.
  • A StatefulSet or PVC is removed, but the underlying pvc-* GCE disk is left behind.
  • A migration spins up new volumes, the old ones get detached "to be safe," and nobody circles back.
  • A snapshot-restore test leaves a temporary disk that becomes permanent.

Every one of these is invisible in day-to-day operations. The disk is detached, so it's not in any instance's view. It's just a row in a billing export nobody reads.

How to find them

The query is simple: persistent disks with no users (no attached instance). In GCP, an aggregated list of disks where the users field is empty gives you the candidates. Then price them by size and type. A few hundred GB of SSD across a dozen forgotten disks adds up faster than you'd think.

A couple of nuances worth respecting:

  • GKE pvc-* disks deserve a softer touch. An unattached one might be a leaked volume from a deleted PVC, or it might be a Released PV waiting to be reattached. Flag it, but verify the PVC before deleting.
  • Recently created disks could be mid-migration. Don't auto-delete anything under a few days old without a glance.

The safe cleanup ritual

  1. Snapshot first. A snapshot is a fraction of the disk's monthly cost and buys you a clean rollback. Delete the disk, keep the snapshot for 30 days, then bin that too.
  2. Tag before you act. Add a pending-delete label and a date. If nobody objects in a week, proceed.
  3. Check the disk name and labels for clues about what it belonged to. Past-you sometimes left a hint.
  4. Don't forget regional disks. They cost roughly double zonal, so they're worth even more when orphaned.

Why this is the best first cleanup

Orphaned disks are the perfect starter project for a cost-hygiene habit: high confidence, low risk, immediate savings, and a number you can show your team. Knock these out and you've earned the trust to tackle the scarier stuff (node-pool right-sizing, namespace cleanup).

How FeckBills helps

FeckBills' gcp.unattached-disks detector reads your disk inventory read-only, finds the ones attached to nothing, prices them by size and type, and ranks them by £/mo. GKE pvc-* disks are flagged with a lower confidence and a "verify the PVC" note, so you don't delete something that's merely between owners.

Scan your project and clear the easiest money on your bill.

#gcp#persistent-disks#storage#orphaned-resources

See your number in 60 seconds

Read-only. Runs in your infra. You decide on every fix.

Run a free scan →