---
title: Provisioning
url: https://docs.vultr.com/products/storage/block-storage/provisioning
description: A guide explaining how to set up and configure Vultr Block Storage volumes for your virtual machines
publish_date: 2024-09-23T20:20:32.785470Z
last_updated: 2026-05-26T19:42:19.411010Z
---

# How to Provision Vultr Block Storage Volume

Vultr Block Storage volume is a mountable HDD or NVMe disk volume you can attach to Vultr Cloud Compute instances. These high-speed volumes offer raw block-level storage to expand your application storage needs for databases, images, audio, and video-based applications. To attach Vultr Block Storage volume to Vultr Cloud Compute instance, both resources must be in the same Vultr Location. Vultr Block Storage volumes support up to 10 TB of data encrypted with Advanced Encryption Standard (AES-256).

Follow this guide to provision Vultr Block Storage volume using the Vultr Console, API, CLI, or Terraform.

=== "Vultr Console"

    1. Navigate to **Products** and select **Cloud Storage**.
    1. Click **Block Storage** and select **Add Block Storage**.
    1. Select a **HDD** or **NVMe** storage type.
    1. Choose a storage location depending on where you've provisioned the Vultr Cloud Compute instances.
    1. Move the slider to customize the storage size.
    1. Enter a label and click **Add Block Storage**.

=== "Vultr API"

    1. Send a `GET` request to the [**List Regions** endpoint](https://www.vultr.com/api/#tag/region/operation/list-regions) and note the ID of your preferred region. For instance, `ewr` for the **New Jersey** region.

        ```console
        $ curl "https://api.vultr.com/v2/regions" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}"
        ```

    1. Send a `POST` request to the [**Create Block Storage** endpoint](https://www.vultr.com/api/#tag/block/operation/create-block) to create a Vultr Block Storage volume.

        ```console
        $ curl "https://api.vultr.com/v2/blocks" \
            -X POST \
            -H "Authorization: Bearer ${VULTR_API_KEY}" \
            -H "Content-Type: application/json" \
            --data '{
                "region" : "ewr",
                "size_gb" : 80,
                "label" : "Remote-Block-Storage",
                "block_type": "high_perf"
            }'  
        ```

        Visit the [**Create Block Storage** endpoint](https://www.vultr.com/api/#tag/block/operation/create-block) to view additional attributes to add to your request.

    1. Send a `GET` request to the [**List Block Storages** endpoint](https://www.vultr.com/api/#tag/block/operation/list-blocks) to list all Vultr Block Storage volumes.

        ```console
        $ curl "https://api.vultr.com/v2/blocks" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}" \
            -H "Content-Type: application/json"
        ```

=== "Vultr CLI"

    1. List the available Vultr Block Storage volume regions and choose your preferred region. For instance `ewr` for the New Jersey region.

        ```console
        $ vultr-cli regions list
        ```

    1. Create a new Vultr Block Storage volume.

        ```console
        $ vultr-cli block-storage create \
        --block-type high_perf \
        --region ewr \
        --size 80 \
        --label Remote-Block-Storage
        ```
    
    1. List all Vultr Block Storage volumes.

        ```console
        $ vultr-cli block-storage list
        ```
    
        Run `vultr-cli block-storage create --help` to view all options.

=== "Terraform"

    1. Ensure the [Vultr Terraform provider](https://registry.terraform.io/providers/vultr/vultr/latest/docs) is configured in your Terraform project.

    1. Define the Block Storage volume resource.

        ```terraform
        terraform {
            required_providers {
                vultr = {
                    source  = "vultr/vultr"
                    version = "~> 2.23"
                }
            }
        }

        provider "vultr" {}

        resource "vultr_block" "remote_block_storage" {
            region     = "ewr"
            size_gb    = 80
            label      = "Remote-Block-Storage"
            block_type = "high_perf"
        }
        ```

    1. Apply the configuration and observe the following output:

        ```
        Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
        ```
