Using NVMEs

In the JSC Cloud environment there are hosts available equipped with an 1TB Intel 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 Virtual Machine Types.

Create a VM with the Rocky Linux 8.7 image and a NVMe flavor. You might take a look on the First Steps Page.

$ openstack server create --flavor SCS-4L:16:20n-z3-nvme --security-group your_group --key-name your_key --network your_net --image "RockyLinux 8.7" 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 -i nvme
00:05.0 Non-Volatile memory controller: Intel Corporation NVMe Datacenter SSD [3DNAND, Beta Rock Controller] (prog-if 02 [NVM Express])
Subsystem: Intel Corporation NVMe Datacenter SSD [3DNAND] SE 2.5" U.2 (P4510)

The blockdevice it offers is as well shown via:

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda         252:0    0    25G  0 disk
 -vda1      252:1    0   100M  0 part /boot/efi
 -vda2      252:2    0  1000M  0 part /boot
 -vda3      252:3    0     1M  0 part
 -vda4      252:4    0  23.9G  0 part /
nvme0n1     259:0    0 931.5G  0 disk
 -nvme0n1p1 259:1    0 931.5G  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, 2.15307 s, 499 MB/s