仮想デバイス・ターゲットの NVMe ボリュームへのアクセス (DM-MP デバイス)
RHEL 7 および SLES 12 では、I/O は Linux ホストにより仮想デバイス・ターゲットに向けられます。DM-MP は、これらの仮想ターゲットの基盤となる物理的なパスを管理します。
仮想デバイスが I/O ターゲット
物理的なデバイス・パスではなく、DM-MP によって作成された仮想デバイスのみに対して I/O を実行していることを確認します。物理的なパスに I/O を実行している場合、DM-MP はフェイルオーバー・イベントおよび I/O の障害を管理できません。
次のように、dm デバイスまたは symlink を介して /dev/mapper でこれらのブロック・デバイスにアクセスできます。
/dev/dm-1
/dev/mapper/eui.00001bc7593b7f5f00a0980000af4462
例
次の nvme list コマンドからの出力例では、ホスト・ノード名およびその名前空間 ID との相関関係を示しています。
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 | ノード名には、2 つの部分が含まれています。
|
Namespace | 名前空間列には名前空間 ID (NSID) がリストされており、ストレージ・アレイの観点からの識別子となります。 |
次の multipath -ll 出力では、最適化されたパスが prio 値 50 で示され、最適化されていないパスは prio 値 10 で示されます。
Linux オペレーティング・システムは status=active で示されているパス・グループに対する I/O をルーティングし、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 | この行と次の行では、10 の NSID を持つ名前空間である nvme1n1 が、prio 値 50 と status 値 active のパスで最適化されることを示しています。 この名前空間はコントローラー A によって所有されています。 |
policy='service-time 0' prio=10 status=enabled | 次の行では、prio 値 10 および status 値 enabled の名前空間 10 のフェイルオーバー・パスを示しています。その時、I/O はこのパス上の名前空間を指していません。 この名前空間はコントローラー B によって所有されています。 |
policy='service-time 0' prio=0 status=enabled | この例では、別の時点からの multipath -ll 出力を示しており、コントローラー A はリブートしています。名前空間 10 に対するパスが failed faulty running として示され、prio 値 0、status 値 enabled となっています。 |
policy='service-time 0' prio=10 status=active | active パスが nvme2 を参照して、I/O がこのパスでコントローラー B を指していることに注意してください。 |