跳到主要内容

访问虚拟设备目标(DM-MP 设备)的 NVMe 卷

对于 RHEL 7 和 SLES 12,Linux 主机将把 I/O 定向到虚拟设备目标。DM-MP 管理这些虚拟目标下的物理路径。

虚拟设备为 I/O 目标

请确保运行的 I/O 仅针对 DM MP 创建的虚拟设备,不针对物理设备路径。如果运行的 I/O 针对物理路径,则 DM MP 无法管理故障转移事件,因此 I/O 将失败。

可通过 dm 设备或 /dev/mapper 中的 symlink 访问这些块设备,例如:

/dev/dm-1
/dev/mapper/eui.00001bc7593b7f5f00a0980000af4462

示例

nvme list 命令的以下示例输出显示主机节点名称及其与命名空间标识的关系。

NODE         SN           MODEL           NAMESPACE

/dev/nvme1n1 021648023072 Lenovo DE-Series 10
/dev/nvme1n2 021648023072 Lenovo DE-Series 11
/dev/nvme1n3 021648023072 Lenovo DE-Series 12
/dev/nvme1n4 021648023072 Lenovo DE-Series 13
/dev/nvme2n1 021648023151 Lenovo DE-Series 10
/dev/nvme2n2 021648023151 Lenovo DE-Series 11
/dev/nvme2n3 021648023151 Lenovo DE-Series 12
/dev/nvme2n4 021648023151 Lenovo DE-Series 13

描述

Node

节点名称中包含两部分:

  • 表示法 nvme1 代表控制器 A,nvme2 则代表控制器 B。
  • 表示法 n1n2 等则代表来自其他角度的命名空间标识。这些标识在表中重复,控制器 A 一次,控制器 B 一次。

Namespace

“命名空间”列中列举命名空间标识(NSID),这是存储阵列角度的标识。

在下面的 multipath -ll 输出中,优化过的路径在显示时 prio 值为 50,而未优化的路径在显示时 prio 值为 10。

Linux 操作系统将 I/O 路由到显示为 status=active 的路径组,而列出为 status=enabled 的路径组则可用于故障转移。

eui.00001bc7593b7f500a0980000af4462 dm-0 NVME,Lenovo DE-Series
size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- #:#:#:# nvme1n1 259:5 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
`- #:#:#:# nvme2n1 259:9 active ready running

eui.00001bc7593b7f5f00a0980000af4462 dm-0 NVME,Lenovo DE-Series
size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=0 status=enabled
| `- #:#:#:# nvme1n1 259:5 failed faulty running
`-+- policy='service-time 0' prio=10 status=active
`- #:#:#:# nvme2n1 259:9 active ready running
行项目描述

policy='service-time 0' prio=50 status=active

此行和下面的行显示 nvme1n1(这是 NSID 为 10 的命名空间)在 prio 值为 50 且 status 值为 active 的路径上已经过优化。

此命名空间属于控制器 A。

policy='service-time 0' prio=10 status=enabled

此行显示命名空间 10 的故障转移路径,其 prio 值为 10,status 值为 enabled。此时未在将 I/O 定向到该路径上的命名空间。

此命名空间属于控制器 B。

policy='service-time 0' prio=0 status=enabled

此示例显示控制器 A 重新启动期间另一个时间点的 multipath -ll 输出。命名空间 10 的路径显示为 failed faulty running,且 prio 值为 0,status 值为 enabled

policy='service-time 0' prio=10 status=active

请注意,active 路径引用 nvme2,所以正在此路径上将 I/O 定向到控制器 B。