# Block Storage

This document describes details of configuring Block Storage as a persistent storage option in <code class="expression">space.vars.product\_name</code>.

## What is Block Storage

Block storage enables persistent block storage volumes, and is one of the most important and popular storage options in <code class="expression">space.vars.product\_name</code> . Block storage service provides VMs with block storage volumes that persist even when the VMs they are attached to are deleted.

**Advantages of block storage:**

* If a virtual machine gets deleted, all the data on the block storage volumes remains intact. The volumes can be re-attached to a new VM.
* If a hypervisor node crashes, you can relaunch the VMs on surviving hypervisors and attach block storage volumes to those VMs with the data intact.
* You can resize and extend a block storage volume if you need to grow the capacity of a disk being used by a VM.
* Block storage is compatible with VM live migration, in that data volumes get moved as needed when doing a VM migration.
* You can leverage specific enterprise storage features such as thin-provisioning, tiering, Quality of Service, etc. when using block storage service.
* A block storage volume can be used as the boot disk for a virtual machine; in that scenario, an ephemeral disk is not required.

## How to Choose

This storage option is chosen for a virtual machine when you:

1. **Boot a VM from a New Volume** The VM root disk is created using block storage volume on the block storage backend configured for the virtualized cluster.
2. **Boot a VM from an Existing Volume** A new VM is launched using a pre-existing block storage volume.
3. **Attach volumes to an existing VM:** A block storage volume is attached to an existing virtual machine as an additional / data disk.

## Use of Linux LVM for Block Storage Not Supported

Although you can create and use LVM based block storage in your <code class="expression">space.vars.product\_name</code> setup, <code class="expression">space.vars.product\_name</code> **does not support using LVM based block storage for production environments**. Platform9 support team is unable to assist with issues when using LVM based block storage for a virtualized cluster. We highly recommend using Enterprise Block Storage for production environments.

{% hint style="danger" %}
**Important**

<code class="expression">space.vars.product\_name</code> does not support using LVM based block storage for production environments. Platform9 support team is unable to assist with issues when using LVM based block storage for a virtualized cluster. We highly recommend using Enterprise Block Storage for production environments.
{% endhint %}

## Using Enterprise Block Storage

This is the only supported option for using storage volumes in production environments. Platform9 <code class="expression">space.vars.product\_name</code> integrates with a wide variety of enterprise storage solutions and exposes their native capabilities such as dynamic volume resizing, QoS, replication, etc.

<code class="expression">space.vars.product\_name</code> can integrate with enterprise block storage using all the popular block storage protocols, namely Network File System (NFS), Fiber Channel (FC), iSCSI, NVMe, NVMeoF. The specific protocol utilized depends on the storage driver being used for your specific storage.

Here's a list of commonly used and [Supported storage drivers](https://docs.platform9.com/private-cloud-director/storage/block-storage/supported-storage-drivers). Also see supported vendor matrix below for a full list.

### Supported Vendors

Private cloud director uses OpenStack Cinder behind the scenes to serve block storage, and **supports all certified Cinder-compatible block storage devices.**

Refer here for the list of [supported block storage vendor drivers](https://docs.openstack.org/cinder/2023.1/configuration/block-storage/drivers/). Click on the link specific to the driver for your specific enterprise storage in order to get details about what storage specific configuration is supported. In the document you will find out more details about the supported the key value pair metadata for your specific storage.

#### Supported Capabilities Matrix

Refer to this matrix for the exact list of capabilities supported by your storage vendor:

[Supported Storage Drivers & Capabilities Matrix](https://docs.openstack.org/cinder/latest/reference/support-matrix.html#driver-support-matrix)

#### Storage Driver Configuration options

Refer to this list for configuration options available with the driver supplied by your storage vendor:

[Available Drivers](https://docs.openstack.org/cinder/latest/drivers.html)

## Block Storage Configuration

As part of configuring your cluster blueprint, you get to define one or more volume types that the clusters will utilize.

Follow the steps in [Configure Block Storage as part of Cluster Blueprint](https://docs.platform9.com/private-cloud-director/volume#configure-block-storage-as-part-of-cluster-blueprint) to configure storage for your blueprint.

## Volumes, Volume Types and Volume Snapshots

Block storage is consumed in <code class="expression">space.vars.product\_name</code> in the form of one or more storage volumes. Read [Volume](https://docs.platform9.com/private-cloud-director/storage/volume) for detailed info around configuring and using volumes, volume types and volume snapshots.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/private-cloud-director/storage/block-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
