# Naming Conventions for DigitalOcean Volumes Block Storage Volumes are network-attached block storage. You can use them with Droplets or Kubernetes clusters, move or resize them, and create snapshots at any time. DigitalOcean Volumes use consistent naming conventions for device files, automatic mount points, and systemd unit files. These conventions help you identify the correct device and ensure predictable behavior across reboots. The following examples show how a volume name maps to each component: | Name | `/dev/disk/by-id` Link | Automatic Mount Point | Mount Unit File in `/etc/systemd/system` | |---|---|---|---| | `example` | `scsi-0DO_Volume_example` | `/mnt/example` | `mnt-example.mount` | | `volume-nyc1-01` | `scsi-0DO_Volume_volume-nyc1-01` | `/mnt/volume_nyc_01` | `mnt-volume_nyc_01.mount` | ## Volume Identifiers Linux represents hardware devices using special files in the `/dev` directory, such as `sda` and `sdb`. These names can change between reboots. To avoid ambiguity, use the symbolic links in `/dev/disk/by-id`, which remain stable and uniquely identify each volume. ### `/dev/disk/by-id` Links We create a `/dev/disk/by-id` link for every volume. Each identifier contains the following parts, in order: 1. The prefix `scsi-0DO_Volume_`. 2. The volume name, such as `volume-nyc1-01`. 3. An optional partition suffix, such as `-part1`, if the volume contains partitions. For example, the full device identifier is `/dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01`, and its first partition is `/dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01-part1`. To create a more recognizable identifier, use the `mkfs -L` option to assign a filesystem label. Filesystem labels remain consistent and provide an alternative to `/dev/disk/by-id` links. ### Map `/dev/disk/by-id` Links to `/dev/sd*` Names Some tools display traditional `/dev/sd*` device names even when you reference a `/dev/disk/by-id` link. To verify which device a link references, run the `file` command: ```shell file /dev/disk/by-id/* ``` This command returns the underlying `/dev/sd*` device for each link like this: ```text /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01: symbolic link to ../../sda /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01-part1: symbolic link to ../../sda1 ``` ## Automatic Mounting Automatic mounting creates a predictable mount point and systemd unit file for each volume. The following examples show how a volume name maps to these paths: | Name | Automatic Mount Point | Mount Unit File | |---|---|---| | `example` | `/mnt/example` | `/etc/systemd/system/mnt-example.mount` | | `volume-nyc1-01` | `/mnt/volume_nyc_01` | `/etc/systemd/system/mnt-volume_nyc_01.mount` | ### Unit Files When you create a new volume, you can [automatically format and mount it](https://docs.digitalocean.com/products/volumes/how-to/create/index.html.md#format-mount) on supported operating systems. Automatic mounting uses systemd, which generates a mount unit file based on the mount point path. Systemd replaces each `/` in the path with `-` and appends the `.mount` suffix. For example, the mount point `/mnt/example` corresponds to the systemd unit file `/etc/systemd/system/mnt-example.mount`. ### Mount Points Automatic mounting places volumes in `/mnt` using the volume name. For example, a volume named `example` mounts at `/mnt/example`. If the volume name contains hyphens, automatic mounting replaces hyphens with underscores in the mount point. This ensures the mount point complies with systemd naming rules. For example, the volume name `volume-nyc1-01` maps to the mount point `/mnt/volume_nyc_01` and the systemd unit file `/etc/systemd/system/mnt-volume_nyc_01.mount`. We also apply this naming behavior consistently, including on distributions that do not use systemd.