Skip to content

leboncoin/terraform-aws-nvme-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform Demo: Mount your EBS NVME

Goal

For C5 and M5 type instances, EBS volumes are exposed as NVMe block devices. The device names are /dev/nvme0n1, /dev/nvme1n1, and so on. The device name that you specify in a block device mapping are renamed using NVMe device naming convention (/dev/nvme[0-26]n1).

Here we offer a simple example to link your current volume name with this new naming

FAQ

  • We created a volume with the name /dev/xdvf but my volume now mounts on /dev/nvme[0-26]n1
  • My volume name /dev/nvme[0-26]n1 is not identical between instances
  • How we can retrieve the volume name to format and mount this
  • How we can manage the discrepqncy between old and new instances

Prerequisites

Terraform

Aws Account

Cloud-Init

Ready to go

terraform plan
terraform apply

Step 1: The machine is created

Step 2: Cloud-init installs nvme-cli

Step 3: Cloud-init runs a script to retrieve the volume name with tag /dev/(sd[b-z]|xvd[b-z]) and creates a temporary symbolic link ( removed after reboot )

Step 4: Cloud-init runs a script to retrieve the UUID from the new symlink, formats, mounts and adds to fstab by UUID

Your environment is ready

Contributing

You can contribute or implement your own things.

License

MIT