Using NVMEs

In the JUSUF cloud environment there are hosts available equipped with an 800GB Samsung NVMe Access to those devices is exclusive.

Warning

NVMEs are available via PCI passthrough. Because of that, live-migrations are not supported and maintenance actions on the cloud infrastructure will affect your VMs. Do not use NVMe devices for databases and data repositories, limit the usage to short-living, reproducible computing/data-processing jobs!

In case no NVMe is left, OpenStack will fail to schedule your VM.

Prerequesits

A VM needs to be prepared for being able to use a NVMe assigned to it.

Please pick one of the NVMe flavors mentioned at Quick Introduction.

Create a VM with the Centos 8.2 image and a NVMe flavor. You might take a look on the First Steps Page.

$ openstack server create --flavor gpp-ssd.l --security-group your_group --key-name your_key --network your_net --image CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64 nvme-vm

Access/Mount the NVMe

The NVMe is directly accessible, if you want to take a look on its device:

$ sudo dnf install pciutils
$ lspci -v | grep Samsung
00:05.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 (prog-if 02 [NVM Express])
Subsystem: Samsung Electronics Co Ltd Device a801

The blockdevice it offers is as well shown via

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda         253:0    0    20G  0 disk
 -vda1      253:1    0    20G  0 part /
nvme0n1     259:0    0 894.3G  0 disk
 -nvme0n1p1 259:1    0 894.3G  0 part

and can be mounted right away via

$ sudo mount /dev/nvme0n1p1 /mnt
$ [centos@name-webinar ~]$ sudo dd if=/dev/zero of=/mnt/testfile.dat bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.47561 s, 728 MB/s