Block Storage
The Block Storage service provides a method of adding additional storage drives to Compute Instances, enabling you to store more data without resizing your Compute Instance to a larger plan. These storage drives, called Volumes, can be formatted with any Linux-compatible file system and attached and mounted to a Compute Instance.
Scalable
A Block Storage volume augments the raw storage capacity of a Cloud Instance, which can be useful if your storage needs are greater than your computing demands. Because a volume is scalable, it can adapt as your data grows in size.
Resilient and fault tolerant
Block Storage volumes are configured to be durable and fault tolerant using erasure coding, ensuring that your data is protected from loss. Since volumes are managed independently of Compute Instances, your data persists even if you delete your attached instance.
Ultra-fast performance
Block Storage is powered entirely by NVMe SSD storage devices (except within the Fremont data center). NVMe storage offers dramatically increased performance over standard SATA SSDs, HDDs, or hybrid storage solutions. Additionally, performance is automatically increased in 60 second bursts for even faster real-world speeds. See the table below for both sustained and burst performance limits on NVMe-only Block Storage:
Performance Metric | IOPS | Throughput |
---|---|---|
Sustained | 8,000 | 350 MB/s |
Burst | 12,000 | 525 MB/s |
Performance may vary based on the workload and Compute Instance type. Plans with dedicated CPU resources (such as Dedicated CPU or High Memory Compute Instances) will not be impacted by resource contention, though a Shared Compute Instance may be impacted.
Availability
Block Storage is available across all core compute regions, but is not available in distributed compute regions. Additionally, the newer NVMe-backed Block Storage has been deployed to all data centers with the exception of Fremont.
Plans and pricing
Block Storage volumes start at $0.10/GB per month ($0.00015/GB per hour) and can range from 10 GB to 16 TB in size. Pricing for Block Storage may vary between data centers.
Technical specifications
- Minimum size for a volume is 10 GB and the maximum size is 16 TB.
- Backed by high speed NVMe storage in most data centers, excluding Fremont.
- Throughput: Up to 350 MB/s sustained and 525 MB/s in 60 second bursts
- IOPS: Up to 8,000 sustained and 12,000 in 60 second bursts
- Built in redundancy maximizes availability and reduces possibility for data loss
Limits and considerations
-
A Compute Instance can have multiple volumes attached to it, but a volume can only be attached to one Compute Instance at a time. To attach a volume, both the volume and the Compute Instance must be located in the same data center. Migrating a volume to a different data center is not directly available at this time. See Transfer Block Storage data between data centers for a work-around.
-
A combined total of 8 storage devices can be attached to a Compute Instance at the same time, including local disks and Block Storage volumes. For example, if your Compute Instance has two main disks, root and swap, you can attach no more than 6 additional volumes to this Compute Instance.
-
The maximum combined capacity limit of all volumes on an account across all regions is 100 TiB. If you plan on exceeding this amount, contact Support to request an increase. In your request, please provide the capacity limit you are requesting for each region you plan to use.
-
You can attach Block Storage volumes to a Compute Instance in Full Virtualization mode only after you Power Off the Compute Instance. For further steps, see Attach a volume.
-
Our Backups Service does not cover Block Storage volumes. You must manage your own backups if you wish to backup data stored on your volumes.
Developer resources
-
Linode API provides the ability to programmatically manage the full range of Akamai cloud computing products and services.
-
Linode CLI is a wrapper around the Linode API that lets you manage your account and resources from the command line. Learn how to use the Linode CLI to create and manage Block Storage volumes.
-
Block Storage CSI Driver: The Container Storage Interface (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. Block Storage CSI driver follows this specification to allow container orchestration systems, like Kubernetes, to use Block Storage volumes to persist data despite a Pod’s lifecycle.
-
Docker Volume Driver: The Docker volume driver is a plugin that adds the ability to manage Block Storage volumes as Docker Volumes. Good use cases for volumes include:
-
Off-node storage, to avoid size constraints
-
Moving a container and the related volume between nodes in a Swarm
-
-
Terraform: Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. Use Linode’s official Terraform Provider to create and manage Block Storage volumes. To learn more about Terraform see our documentation library’s Terraform section.
-
Pulumi: Pulumi is a development tool that lets you write computer programs which deploy cloud resources. With Pulumi’s integration, you can manage your Linode resources in several programming languages, like JavaScript, Go, Python, and TypeScript. Pulumi manages your resources in the same way as the Linode API or Linode CLI. See Pulumi’s documentation to get started.
Updated about 1 month ago