Grow a Hetzner Cloud volume by raising the storage request on its PersistentVolumeClaim (PVC), the object a pod uses to claim a disk. You edit one number, the driver enlarges the volume, and the filesystem grows to match. A volume only ever grows: a smaller number is rejected.
Confirm the class allows expansion
Expansion works only when the StorageClass sets `allowVolumeExpansion: true`. The `standard` class already does:
```console
$ kubectl get storageclass standard
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard (default) csi.hetzner.cloud Retain WaitForFirstConsumer true 10d
```
If a custom class shows `false` in the `ALLOWVOLUMEEXPANSION` column, a PVC on it cannot be resized. Move the data to a class that allows expansion instead. See [Migrate between storage classes](/docs/hetzner/apalla/storage/operations/migrate-between-storage-classes).
Raise the storage request
Edit `spec.resources.requests.storage` on the PVC to the new, larger size. One field changes:
```yaml title="pv-claim.yaml"
spec:
resources:
requests:
storage: 10Gi
storage: 20Gi
```
A `kubectl patch` applies that same change in one line:
```console
$ kubectl patch pvc pv-claim -p '{"spec":{"resources":{"requests":{"storage":"20Gi"}}}}'
persistentvolumeclaim/pv-claim patched
```
`kubectl edit pvc pv-claim` opens the same field in an editor if you prefer to change it by hand.
Watch the capacity grow
The `CAPACITY` column in `kubectl get pvc` reports the volume's real size, so watch it climb to the new value:
```console
$ kubectl get pvc pv-claim
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE
pv-claim Bound pvc-8f3c... 20Gi RWO standard 5m
```
The capacity updates once both steps finish: the driver enlarges the Hetzner volume, then the filesystem grows to fill it. You never run a resize command inside the pod; the driver handles that part too.
## If a resize stalls
On the `standard` class, expansion happens while the pod keeps running (an online resize). If a resize ever stalls with the volume still in use, `kubectl describe pvc ` shows a condition asking you to restart the pod so the change can finish offline.
## Volumes grow, never shrink
A volume cannot be made smaller. Request less than the capacity the volume already reports and the API rejects the change.
```console
$ kubectl patch pvc pv-claim -p '{"spec":{"resources":{"requests":{"storage":"5Gi"}}}}'
The PersistentVolumeClaim "pv-claim" is invalid: spec.resources.requests.storage: Forbidden: field can not be less than status.capacity
```
Plan sizes with this in mind. To end up on a smaller disk, create a new, smaller PVC and copy the data across, the same move covered in [Migrate between storage classes](/docs/hetzner/apalla/storage/operations/migrate-between-storage-classes).
Next, keep an eye on how full your volumes get with [Monitor storage capacity](/docs/hetzner/apalla/storage/operations/monitor-storage-capacity).