相同nvme硬盘,为什么能认出一块


原文链接:P7000Z有个坑,两块以上只认一块。PVE环境,N100实测

经分析发现,是联芸MAP1602主控的共性问题。
给官方linux内核提出了patch,内核6.4版本开始会集成进来。

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3424,6 +3424,8 @@ static const struct pci_device_id nvme_id_table[] = {
                 .driver_data = NVME_QUIRK_BOGUS_NID, },
         { PCI_DEVICE(0x1e4B, 0x1202),   /* MAXIO MAP1202 */
                 .driver_data = NVME_QUIRK_BOGUS_NID, },
+        { PCI_DEVICE(0x1e4B, 0x1602),   /* MAXIO MAP1602 */
+                .driver_data = NVME_QUIRK_BOGUS_NID, },
         { PCI_DEVICE(0x1cc1, 0x5350),   /* ADATA XPG GAMMIX S50 */
                 .driver_data = NVME_QUIRK_BOGUS_NID, },
         { PCI_DEVICE(0x1dbe, 0x5236),   /* ADATA XPG GAMMIX S70 */

PVE 8.0 beta最新,内核是6.2.16-1-pve,所以目前不支持联芸MAP1602主控的多块NVMe同时使用。
现在需要使用的,修改不难,
下载源码,找到代码中drivers/nvme/host/pci.c添加这两行

        { PCI_DEVICE(0x1e4B, 0x1602),   /* MAXIO MAP1602 */
                .driver_data = NVME_QUIRK_BOGUS_NID, },

重新编译安装,就好了。

趁618,P7000Z今天晚班车拿齐了四块。5.31.白天加入购物车4块,到晚8点,发现只许购买2块;后来再入1块;今天发现限购买1块;
……好吧,凑齐了四块,N100、12W整机功耗,7*24h,软路由NAS达成。

+++++++++++++
20230616 分享编译好的内核,直接用就好,基于PVE 8.0beta源码6.2.16-1修改:
链接: https://pan.baidu.com/s/1qdF8AVyjUOX_gL8Fxe9g6A?pwd=CHH1 提取码: CHH1
20230708 分享编译好的内核,直接用就好,基于PVE 8.0正式版源码6.2.16-3修改:
链接: https://pan.baidu.com/s/1juvlOR6uA7G53eiCJTAzGw?pwd=CHH2
20230712 分享编译好的内核,直接用就好,基于PVE 8.0正式版源码6.2.16-4修改:
链接: https://pan.baidu.com/s/1xHShA5LBaVl2uWH4cIUHGg?pwd=CHH3 提取码: CHH3
20230713 分享基于PVE 8.0正式版源码6.2.16-4修改的4TB未验证测试版,按114楼增加了延时属性。
链接: https://pan.baidu.com/s/1Wgbva1awvubtBFdxhx0vaA?pwd=CHH4 提取码: CHH4
20230908 分享基于PVE 8.0正式版源码6.2.16-12修改的4TB未验证测试版,增加延时属性及初始化延迟。
链接: https://pan.baidu.com/s/1D-0qjzBop9d_tOcRu7bs3Q?pwd=CHH5 提取码: CHH5

安装方法:
上传文件至PVE,登录PVE执行:
dpkg -i *.deb
重启即可。


guoke 2023年11月5日 10:56 收藏文档