Libvirt模拟持久化内存PMEM

Libvirt可以很好的管理QEMU。在QEMU里创建PMEM的方法已经在pmem.io给出,本文给出其在libvirt内的xml定义。

参考资料

Libvirt文档

XML定义文件

关键部分定义如下:

<domain type='kvm'>
	<name>PM-VM</name>
	...
	<maxMemory slots='3' unit='GiB'>64</maxMemory>
	<cpu>
	    <numa>
        	<cell id='0' cpus='0-15' memory='16' unit='GiB'/>
    	</numa>
  	</cpu>
  	...
 	<features>
  		<acpi/>
	    <apic/>
	</features>
	...
	<os>  
    	<type arch='x86_64' machine='pc'>hvm</type>
  	</os> 
	...
	<devices> 
		...
		<memory model='nvdimm' access='shared'>
	      <source>
	        <path>xxxx</path>
	      </source>
	      <target>
	        <size unit='GiB'>16</size>
	        <node>0</node>
	      </target>
	    </memory>

	    <memory model='nvdimm' access='shared'>
	      <source>
	        <path>yyyy</path>
	      </source>
	      <target>
	        <size unit='GiB'>16</size>
	        <node>0</node>
	      </target>
	    </memory>
	    ...
	</devices> 
</domain>
  • 一定要有NUMA定义
  • 一定要有ACPI定义

DEBUG XML文件

通过下述指令可以将XML文件转换为QEMU对应启动脚本,由此定位问题

virsh domxml-to-native qemu-argv /path/to/file.xml

Enable PMEM

在虚拟机内部需要通过ndctl指定namespace来使能pmem

sudo ndctl create-namespace -f -e namespace0.0 --mode=fsdax

至此,就可以起飞了🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值