Local NVMe
Local NVMe storage is directly attached to your VM, delivering the highest possible performance for workloads that benefit from physical proximity to compute.
NVMe (Non-Volatile Memory Express) is a communications interface and driver that leverages the high bandwidth of PCIe. Crafted to elevate performance, efficiency, and interoperability, NVMe is the industry standard for SSDs.
Overview
Section titled “Overview”Local NVMe drives are physically attached to the host machine, providing direct access without network overhead. This architecture delivers the lowest possible latency and highest throughput for I/O-intensive workloads.
Unlike network-attached storage, Local NVMe storage is ephemeral and tied to the physical host. If the VM is stopped or the host fails, data on local NVMe drives may be lost. For persistent storage needs, consider Accelerated Block Storage (ABS).
Availability
Section titled “Availability”Local NVMe is available in the following regions:
- us-sea-1 (Seattle)
- us-sva-1 (Silicon Valley)
- us-chi-1 (Chicago)
- us-wdc-1 (Washington DC)
- eu-frk-1 (Frankfurt)
- ap-sin-1 (Singapore)
- ap-seo-1 (Seoul)
- ap-tyo-1 (Tokyo)
Key Features
Section titled “Key Features”| Lowest Latency | Direct PCIe connection to the CPU eliminates network hops, delivering sub-100 microsecond latency. |
| Maximum Throughput | NVMe-based block storage can reach a theoretical maximum speed of 1,000,000 IOPS. |
| Cost-Efficiency | Nirvana’s NVMe-based block storage balances speed and cost, providing a significant performance boost and up to 100x lower costs. |
| Flexibility and Compatibility | NVMe drives are compatible with all major operating systems, and their direct communication with the system CPU ensures rapid speeds. |
Use Cases
Section titled “Use Cases”Local NVMe is ideal for workloads that prioritize performance over persistence:
- Boot Volumes: Fast startup times for VMs
- Scratch Space: Temporary storage for data processing and computation
- Caching Layers: High-speed cache for frequently accessed data
- Workloads with External Persistence: Applications that replicate data to external storage or other nodes
- Low-Latency Applications: Workloads requiring the absolute lowest possible latency
Is Local NVMe data persistent?
Yes, however, storage is tied to the physical host, so if the host fails, data on local NVMe drives may be lost. For highly available persistent storage, use Accelerated Block Storage (ABS).
When should I use Local NVMe vs ABS?
Use Local NVMe when you need the absolute lowest latency and highest throughput, and your application can tolerate data loss (e.g., caching, scratch space, or workloads with external replication).
Use ABS when you need persistent, highly available storage that survives VM restarts and host failures.
Which regions support Local NVMe?
Local NVMe is available in: us-sea-1, us-sva-1, us-chi-1, us-wdc-1, eu-frk-1, ap-sin-1, ap-seo-1, and ap-tyo-1.
How do I use Local NVMe with the Terraform Provider?
Using the Nirvana Terraform Provider, set the volume type to nvme.
For separately managed nirvana_compute_volume resources:
resource "nirvana_compute_volume" "example_compute_volume" { name = "my-data-volume" type = "nvme" size = 100 vm_id = nirvana_compute_vm.id}For nirvana_compute_vm with nested boot_volume and data_volumes fields:
resource "nirvana_compute_vm" "vm" { region = var.region
name = "my-vm" os_image_name = data.nirvana_compute_vm_os_images.vm_os_images.items[0].name ssh_key = { public_key = var.ssh_public_key } cpu_config = { vcpu = var.cpu } memory_config = { size = var.memory } boot_volume = { size = var.boot_disk_size type = "nvme" } data_volumes = [ { name = "my-data-volume" size = var.data_disk_size type = "nvme" } ]
subnet_id = nirvana_networking_vpc.vpc.subnet.id public_ip_enabled = true
tags = var.tags}