nvme 创建namespace
-
nvme list (如果能查到说明没绑定到uio,绑定在linux下)
-
列出设备/dev/nvme0的控制器号
nvme list-ctrl /dev/nvme0 -
查看某个盘的详细信息
nvme id-ctrl /dev/nvme0 -
列出某个设备的空间大小,单位是byte
nvme id-ctrl /dev/nvme0 |grep nvm -
将名字空间与controller解绑(-c是controllerid, -n是namespace)这时还可以查到该设备但是看到空间为0了
nvme detach-ns /dev/nvme1 -c 0 -n 1 -
删除设备及命名空间
nvme delete-ns /dev/nvme1 -n 1 -
创建命名空间
nvme create-ns用于创建一个名字空间,-f 0指的是用LBA模式0,这个模式下blocksize是512B。-s -c指定的大小,最大可设置totalnvm 大小除以512,但是建议设置比最大值小一些,不要使用全部空间,实际使用中,有一个盘会报错。
nvme create-ns /dev/nvme1 -s 6000000000 -c 6000000000 -f 0 -d 0 -m 0
nvme create-ns /dev/nvme1 -s 6251233968 -c 6251233968 -f 0 -d 0 -m 0 -
和controller绑定
nvme attach-ns /dev/nvme1 -c 0 -n 1 -
重置一下这个盘
nvme reset /dev/nvme1 -
使用nvme read读一下,检查一下,如果读不到说明这个盘有问题。读到会报成功。
nvme read /dev/nvme1n1 -s 0 -c 1 -z 1024
nvme解绑与spdk绑定
将盘从nvme设备中解绑
cd /sys/bus/pci/drivers/nvme && ll
echo “0000:1a:00.0” > unbind
echo “0000:1b:00.0” > unbind
echo “0000:1c:00.0” > unbind
echo “0000:1d:00.0” > unbind
将盘绑定到spdk设备中
cd /sys/bus/pci/drivers/uio_pci_generic && ll
echo “0000:1a:00.0” > bind
echo “0000:1b:00.0” > bind
echo “0000:1c:00.0” > bind
echo “0000:1d:00.0” > bind
参考
https://blog.csdn.net/weixin_40343504/article/details/82386024
https://blog.csdn.net/Z_Stand/article/details/111415236