我需要测试我们的一位客户在使用多路径设备时遇到的情况。我希望能够使用指向循环或物理磁盘等的多路径驱动程序设置设备映射器,因为我手边实际上没有多路径设备。
我尝试了这个:
dmsetup create mpathtest --table '0 819200 multipath 0 0 1 1 round-robin 0 1 1 7:7 1'
7:7
适用/dev/loop7
于那些还没有记住循环驱动程序主号码的人。
这让我明白了:
kernel: device-mapper: table: table load rejected: including non-request-stackable devices
谷歌上对此的讨论很少。我知道dm
是一个堆叠块驱动程序,循环也是,但显然不是一个可请求堆叠的驱动程序。是否有任何可请求堆叠的驱动程序可用于本地测试?
目标是 CentOS 6.8,但是任何版本都可以。
答案1
事实证明,这是 centos 6.8 附带的 2.6.32 内核的限制。
我在 ubuntu 16.04 (4.4.0) 上尝试过,dm create 成功了。
我认为 2.6.32 中并非所有组件都能够使其正常工作。例如,Loop 发生了很大变化。
无法重现客户的问题,但至少我能够使用多路径驱动程序创建 dm。