Volumes: what's attached, and what still bills
A DigitalOcean volume is network-attached block storage for droplets or Kubernetes clusters, and it is billed whether or not it is attached. Duskwatch is an independent iPhone app for DigitalOcean, in development; it lists every volume with what it is attached to, its size and region, and flags the ones that sit unattached while they keep billing.
Updated
Every volume, and where it is attached
Volumes have no status of their own in DigitalOcean's API: no running or stopped, no health. The state that matters is whether a droplet uses the volume, so that is the status the app shows, in words: Attached or Not attached. The attached droplet appears with its own state, one tap from its screen, so a volume on a droplet that is off is easy to spot.
| Shown | Example | Why it helps |
|---|---|---|
| Attached to | web-01 · Active | Which droplet depends on this storage |
| Size | 100 GiB | The size you pay for, used or not |
| Monthly estimate | An estimate from the size | What it costs to keep |
| Region | The region it lives in | Where the data lives, next to the droplets that use it |
| Filesystem | ext4, or "Not formatted" | Whether it was ever prepared for use |
| Label, tags and created date | scratch, batch | Clues to who made it and why |
Volumes are network-attached block storage that you can use with droplets or Kubernetes clusters, move or resize, and snapshot at any time.
A volume can be from 1 GiB to 16 TiB, attaches to one droplet at a time, and a droplet can have up to 15 volumes attached.
Not attached, still billed
Volumes outlive the work they were made for. A droplet is destroyed after a migration, a batch job finishes, a test cluster goes away, and the volume stays behind, detached and invisible on the droplet list, still charged every month. The app flags each one with a finding on its screen.
Not attached, still billed
scratch-01 · 100 GiB · an estimate of its monthly cost
Attach it to a droplet, or snapshot and delete it in DigitalOcean
The finding is calm on purpose. It sits on the volume's own screen and does not reach the top of Home or the problem counts, because an idle volume costs money but breaks nothing. A volume created less than an hour ago is not flagged, since it is probably about to be attached.
Volumes are billed per GiB per month, and you are charged for volumes whether or not they are attached to a droplet.
DigitalOcean docs: Volumes pricing (external link), verified
How full is it?
DigitalOcean's API reports a volume's size, not how much of it is used. Used space is visible from inside the droplet, so it shows up on the droplet's own filesystem metrics when DigitalOcean's metrics agent is installed there. A mounted volume that is filling then gets the same finding as any disk, such as "full in ~5 days at this rate", on the droplet's screen.
Cleaning up in DigitalOcean
The app has no delete button, here or anywhere. Deleting storage is final, and the decision belongs at a desk with the data in front of you. The volume screen opens the volume in the DigitalOcean control panel when you are ready.
- Find the candidates: volumes marked Not attached, oldest first by created date.
- Check what is on one by attaching it to a droplet and mounting it.
- Take a snapshot if any of the data might matter later.
- Delete the volume in DigitalOcean, then confirm it is gone from the list.
What Duskwatch doesn't do here
- No deleting, detaching, attaching or resizing volumes.
- No push for volumes: an unattached volume is a finding on its screen.
- No used space per volume, because DigitalOcean's API does not report it.
- No browsing the files on a volume.
Questions
Am I billed for a detached volume?
Yes. DigitalOcean charges for volumes whether or not they are attached to a droplet, per GiB per month.
How do I find unattached volumes?
Every volume shows Attached or Not attached in words, and the unattached ones carry the finding "Not attached, still billed". Volumes made in the last hour are left out.
Can I delete a volume in Duskwatch?
No. Open it in DigitalOcean from the volume screen, snapshot it if you need the data, and delete it there.
Will I get a push about an unattached volume?
No. It is a quiet finding on the volume's screen, because it costs money but does not take anything down.
Can I see how full a volume is?
Not on the volume itself, since DigitalOcean's API reports only its size. If the droplet it is mounted on runs the metrics agent, the droplet screen shows the filesystem filling.