docs/nvdimm: add example on persistent backend setup

Persistent backend setup requires some knowledge about nvdimm and ndctl
tool. Some users report they may struggle to gather these knowledge and
have difficulty to setup it properly.

Here we provide two examples for persistent backend and gives the link
to ndctl. By doing so, user could try it directly and do more
investigation on persistent backend setup with ndctl.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Pankaj Gupta <pagupta@redhat.com>

Message-Id: <20190801004053.7021-1-richardw.yang@linux.intel.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Wei Yang 2019-08-01 08:40:53 +08:00 committed by Michael S. Tsirkin
parent 2501db70b2
commit d8b92bd418

View File

@ -171,6 +171,35 @@ guest software that this vNVDIMM device contains a region that cannot
accept persistent writes. In result, for example, the guest Linux
NVDIMM driver, marks such vNVDIMM device as read-only.
Backend File Setup Example
--------------------------
Here are two examples showing how to setup these persistent backends on
linux using the tool ndctl [3].
A. DAX device
Use the following command to set up /dev/dax0.0 so that the entirety of
namespace0.0 can be exposed as an emulated NVDIMM to the guest:
ndctl create-namespace -f -e namespace0.0 -m devdax
The /dev/dax0.0 could be used directly in "mem-path" option.
B. DAX file
Individual files on a DAX host file system can be exposed as emulated
NVDIMMS. First an fsdax block device is created, partitioned, and then
mounted with the "dax" mount option:
ndctl create-namespace -f -e namespace0.0 -m fsdax
(partition /dev/pmem0 with name pmem0p1)
mount -o dax /dev/pmem0p1 /mnt
(create or copy a disk image file with qemu-img(1), cp(1), or dd(1)
in /mnt)
Then the new file in /mnt could be used in "mem-path" option.
NVDIMM Persistence
------------------
@ -212,3 +241,5 @@ References
https://www.snia.org/sites/default/files/technical_work/final/NVMProgrammingModel_v1.2.pdf
[2] Persistent Memory Development Kit (PMDK), formerly known as NVML project, home page:
http://pmem.io/pmdk/
[3] ndctl-create-namespace - provision or reconfigure a namespace
http://pmem.io/ndctl/ndctl-create-namespace.html