High availability block storage when you need it
Easily add highly-available and scalable storage capacity to your instance.
High availability block storage when you need it
Easily add highly-available and scalable storage capacity to your instance.
NVMe Block Storage
Increase your instances storage capacity by attaching additional high-speed volume sizes up to 10TB. Volumes are managed independently of compute instances, so your data persists even if you delete your VM.
Add Additional Storage to Any Compute Instance
Quickly increase the total storage available on a Compute Instance by adding Block Storage Volumes.
Ultra-Fast Performance with NVMe
High-speed NVMe technology delivers leading price-performance with a 10-20x increase in throughput and up to 2000x improvement in IOPS (compared to traditional spinning disks).
Scalable
Resize a Block Storage Volume at any time, giving you the flexibility to update your storage capacity with a few easy steps whenever your needs change.
Independent and Hot Swappable
Volumes are managed independently from a Compute Instance’s local storage and can be attached or detached to any Instance without needing to reboot, allowing you to move Volumes between systems within seconds.
Resilient and Fault Tolerant
Volumes are configured with built-in data replication, ensuring that your data is highly-available and protected from loss.
Store Any Type of Data
Block Storage can be used to store any data, including website files, databases, media files, backups, or even bootable operating systems.
Specifications
NVMe Block Storage Overview
Cloud Block Storage Benchmark Report
Independent benchmarking firm, Cloud Spectator, found that Linode’s NVMe Block Storage outperforms AWS, Azure, GCP, and DigitalOcean in both overall IOPS performance and IOPS per dollar.
Dedicated VMs (4 CPUs) & 500GB Block Storage - 4K Storage AVG Write IOPS
FIO 4KB Random Write IOPS (Higher is Better)
Carefully crafted for peak performance at the best price.
$0.10/GB per month. Hourly Billing. No usage fees.
Full-featured API
Programmatically control and manage your infrastructure.
If you use Terraform to provision your infrastructure, you can use the `linode_volume` resource to entirely manage your Volumes from within your Terraform plan. Manage Block Storage Volumes with the Linode API Linode API Reference Using the Linode CLI linode_api4-python on GitHub A Beginner's Guide to Terraform
curl -H "Content-Type: application/jsonType"
-H "Authorization: Bearer $token"
-X POST -d '{
"label": "my-volume",
"size": 100,
"region": "us-east",
"linode_id": 1234567
}'
https://api.linode.com/v4/volumes
linode-cli volumes create
--label "my-volume"
--size "100"
--region "us-east"
--linode_id "1234567"
from linode_api4 import LinodeClient
client = LinodeClient(token)
client.volume_create('my-volume',
linode=1234567,
size=100)
resource "linode_volume" "my-volume" {
label = "my-volume"
size = "100"
region = "${linode_instance.my-linode.region}"
linode_id = "${linode_instance.my-linode.id}"
}
You can issue a few commands from your SSH connection to mount your Volume. If you use a configuration management tool like Salt, Ansible, or Puppet for your instances, you can also manage this mount from your formulas, playbooks, and modules. How to Use Block Storage A Beginner's Guide to Salt Automatically Configure Servers with Ansible Getting Started with Puppet
mkfs.ext4 "/dev/disk/by-id/scsi-0Linode_Volume_my-volume"
mkdir "/mnt/my-volume"
echo "/dev/disk/by-id/scsi-0Linode_Volume_my-volume /mnt/my-volume ext4 defaults,noatime,nofail 0 2" \
| tee -a /etc/fstab
mount /mnt/my-volume
bsvolume:
blockdev.formatted:
- name: /dev/disk/by-id/scsi-0Linode_Volume_my-volume
- fs_type: ext4
mount.mounted:
- name: /mnt/my-volume
- device: /dev/disk/by-id/scsi-0Linode_Volume_my-volume
- fstype: ext4
- opts: defaults,noatime,nofail
- pass_num: 2
- mkmnt: True
- require:
- blockdev: bsvolume
- name: format the volume
filesystem:
fstype: ext4
dev: /dev/disk/by-id/scsi-0Linode_Volume_my-volume
- name: mount the volume
mount:
path: /mnt/my-volume
src: /dev/disk/by-id/scsi-0Linode_Volume_my-volume
fstype: ext4
opts: defaults,noatime,nofail
passno: 2
state: mounted
include lvm
filesystem { "/dev/disk/by-id/scsi-0Linode_Volume_my-volume":
ensure => present,
fs_type => "ext4",
}
file { "/mnt/my-volume":
ensure => "directory",
}
mount { "/mnt/my-volume":
ensure => mounted,
device => "/dev/disk/by-id/scsi-0Linode_Volume_my-volume",
fstype => "ext4",
options => "defaults,noatime,nofail",
pass => 2,
require => [
Filesystem["/dev/disk/by-id/scsi-0Linode_Volume_my-volume"],
File["/mnt/my-volume"],
],
}
Ready to get started or have questions?
Set up your free account today or contact a sales consultant to learn more.