Hi.
I'm Eduardo Berrocal.
In this video, I will show step by step
how you can access Intel Optane DC Persistent Memory directly
from your virtual machines running on a VMware you ESXi
Hypervisor.
Ready?
Let's do it.
The first thing you need to do to make sure
your virtual machines running on an ESXi server
can access Intel Optane, DC Persistent Memory
is to configure such memory in app-direct mode.
There are three ways in which this can be accomplished.
One, through the ipmctl management utility
at the OS level.
Second, through the same ipmctl utility, but at the EFI level.
Or third, through the system's BIOS,
if such BIOS provides the capabilities to do so.
In this video, I will leave out the BIOS option, given
that BIOSs differ by platform.
If you want to use this option, please
consult the documentation provided by your platform's
manufacturer.
I will also leave out the configuration at the OS level
and assume that no OS is installing the system.
Boot into your EFI cell and run drives -b.
Hit Enter until you can see Intel DC PMM drivers.
Check the version of the drivers.
This version should match exactly the version
of your ipmctl tool.
If it does not, you need to uninstall the drivers first
and then install the ones whose version matches
the ipmctl tool.
To uninstall a driver, you will need
to use the hexadecimal value of the first column,
the one called the DRV.
In our case, for example, those values are 1F9 and 1FA.
The command name to uninstall a driver is unload.
Next, load the driver's chip with your ipmctl tool.
For that, you can use the command load.
Once the drivers are installed, run
ipmctl to show the available regions in the system.
If your Intel DC Persistent Memory
modules are configured a memory mode,
no regions will be defined.
Configure your whole persistent memory capacity
in app-direct interlift mode by running ipmctl create -f -goal.
Once the goal is defined, reboot the system.
After rebooting the system, run ipmctl,
show manage region again to check your newly created
app-direct regions.
You should see one region per CPU socket.
At this point, you are ready to install
VMware ESXi in the system.
Their minimum version required is 6.7.0.
Install VMware ESXi as you would for any other server.
No special options are required during the installation phase.
After the installation is complete, boot the server
and access the web console.
You can check that ESXi is the detecting
your persistent memory capacity by checking
the persistent memory value from the Hardware tab.
A special data store should have also
been created, which can be checked
by going to Storage in the left hand side menu.
Awesome.
Now that you have persistent memory properly
configured in the ESXi, you stand
to add it to your virtual machines through B center.
Like in the ESXi, you should make sure
that you're running version 6.7.0 or higher of B center.
Persistent memory is added to VMs
in the form of virtual NVDIMMs.
To add a virtual NVDIMM, go to the VM Settings.
Once there, click on Add New Device, and then on NVDIMM.
If you expand the MBDI the controller,
you should see all the available persistent memory capacity.
Choose a value for the size of the NVDIMM.
In our case, 192 gigabytes, and then click OK.
At this point, persistent memory is attached to the VM
as a special block device.
Boot into your VM and check that /dev/pmanserial exists.
If you attach multiple virtual NVDIMMs,
you should see multiple payment devices under /dev.
We are not done yet, though.
To accomplish the final step, you
need to have the NDCTL tool installed in the VM.
You can install it using the packet
manager of your favorite Linux distribution.
Run ndctl list -RuN.
That is, uppercase R, lowercase u,
and uppercase N to list the current regions and namespaces
configuring the system.
You should see at least one namespace within one region.
As currently configured, the PMEMs here
otherwise can only be used for regular IO.
This is because their namespace is
configured in raw mode, which does not
support the dax option.
The dax option is what allows us to memory map persistent system
memory and access it directly through loads
in the stores from neutral space.
Without it, there is really no persistent memory program.
If you have only one namespace, you
can take it small by running ndctl list -RuN
and doing grep for mode.
As you can see, the namespace is in raw mode.
To change the mode, run ndctl create-namespace -f -e
with a namespace name and specify in this mode, fsdax.
When the command completes, you can
check if your namespace is in fxdax mode
by running ndctl list -RuN and doing gred for mode.
If your namespace is in fsdax mode, you are done.
The only thing left is creating the file system
and mounting it.
To do that, first create a mount point
for your persistent memory.
Next, create a file system in the device
using either X4 or XFS.
And finally, mount the device with the dax option
in the mount point created.
And that's it.
Your virtual machine is ready, and your persistent memory
applications can access Intel Optane DC Persistent Memory
modules directly and without any modifications, exactly the same
as if they were running on a bare metal server.
If you would love to learn more or expand
on the topics covered in this video, follow the links.
Thanks for watching.
[INTEL LOGO SOUND]