nsidのグローバル冗長ID

nsidのグローバル冗長ID

私はArch Linuxを使用しており、2つの同じSSD(ADATA Swordfish 1TB M.2 NVMe SSD)を持っています。 5月または6月からアップデート後にシステムから起動することはできません(設定のために起動するには2つのSSDが必要です)。 Journalctlはエラーをリストします。

nvme nvme0:nsid 1のグローバル冗長ID

lsblkSSDは1つだけリストされています。最新バージョンのArch Linuxで2つのSSDを使用する方法はありますか?

編集1:
Arch iso「archlinux-2022.05.01-x86_64」をライブUSBとして使用すると、「nvme nvme0:nsid 1のグローバル冗長ID」エラーメッセージが表示されず、すべてが期待どおりに機能します。
「archlinux-2022.06.01-x86_64」を使用すると、エラーメッセージが表示されます。

編集2:
"archlinux-2022.06.01-x86_64" iso を使用したログ:

別の-l

Model: ELECOM MF-PKU3 (scsi)
Disk /dev/sda: 31.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  20.3GB  20.3GB  primary  fat32        boot, lba
 2      20.3GB  31.0GB  10.7GB  primary  ext3


Model: ADATA SWORDFISH (nvme)
Disk /dev/nvme1n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   ext4         boot
 2      538MB   1000GB  1000GB               root  

lsblk-a

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0         7:0    0 688.2M  1 loop  
sda           8:0    1  28.9G  0 disk  
|-sda1        8:1    1  18.9G  0 part  
`-sda2        8:2    1    10G  0 part  /usb_data
nvme1n1     259:0    0 931.5G  0 disk  
|-nvme1n1p1 259:1    0   512M  0 part  
`-nvme1n1p2 259:2    0   931G  0 part  
  `-myData  254:0    0   931G  0 crypt /

ls -l /dev/disk/by-id/

total 0
lrwxrwxrwx 1 root root 10 Jul 30 13:24 dm-name-myData -> ../../dm-0
lrwxrwxrwx 1 root root 10 Jul 30 13:24 dm-uuid-CRYPT-LUKS2-6dc7a196d80a42c392ca7cb680087d9b-myData -> ../../dm-0
lrwxrwxrwx 1 root root 13 Jul 30 13:27 nvme-ADATA_SWORDFISH_2K38291A16EC -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jul 30 13:27 nvme-ADATA_SWORDFISH_2K38291A16EC-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jul 30 13:27 nvme-ADATA_SWORDFISH_2K38291A16EC-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 13 Jul 30 13:27 nvme-eui.00000000010000004ce00018dd8c9084 -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jul 30 13:27 nvme-eui.00000000010000004ce00018dd8c9084-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jul 30 13:27 nvme-eui.00000000010000004ce00018dd8c9084-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root  9 Jul 30 13:27 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 30 13:27 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jul 30 13:27 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0-part2 -> ../../sda2

編集3:
"archlinux-2022.05.01-x86_64" iso を使用したログ:

別の-l

Model: ELECOM MF-PKU3 (scsi)
Disk /dev/sda: 31.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  20.3GB  20.3GB  primary  fat32        boot, lba
 2      20.3GB  31.0GB  10.7GB  primary  ext3


Model: ADATA SWORDFISH (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  106MB   105MB   fat32        EFI system partition          boot, esp
 2      106MB   123MB   16.8MB               Microsoft reserved partition  msftres
 3      123MB   1000GB  1000GB               Basic data partition          msftdata
 4      1000GB  1000GB  540MB   ntfs                                       hidden, diag


Model: ADATA SWORDFISH (nvme)
Disk /dev/nvme1n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   ext4         boot
 2      538MB   1000GB  1000GB               root

lsblk-a

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0         7:0    0 669.2M  1 loop  
sda           8:0    1  28.9G  0 disk  
|-sda1        8:1    1  18.9G  0 part  
`-sda2        8:2    1    10G  0 part  /usb_data
nvme1n1     259:0    0 931.5G  0 disk  
|-nvme1n1p1 259:8    0   512M  0 part  
`-nvme1n1p2 259:9    0   931G  0 part  
  `-myData  254:0    0   931G  0 crypt /
nvme0n1     259:3    0 931.5G  0 disk  
|-nvme0n1p1 259:4    0   100M  0 part  
|-nvme0n1p2 259:5    0    16M  0 part  
|-nvme0n1p3 259:6    0 930.9G  0 part  
`-nvme0n1p4 259:7    0   515M  0 part  

ls -l /dev/disk/by-id/

total 0
lrwxrwxrwx 1 root root 10 Jul 30 15:03 dm-name-myData -> ../../dm-0
lrwxrwxrwx 1 root root 10 Jul 30 15:03 dm-uuid-CRYPT-LUKS2-6dc7a196d80a42c392ca7cb680087d9b-myData -> ../../dm-0
lrwxrwxrwx 1 root root 13 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K38291A16EC -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K38291A16EC-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K38291A16EC-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 13 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K382LAAQAWP -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K382LAAQAWP-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K382LAAQAWP-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K382LAAQAWP-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-ADATA_SWORDFISH_2K382LAAQAWP-part4 -> ../../nvme0n1p4
lrwxrwxrwx 1 root root 13 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084 -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part4 -> ../../nvme0n1p4
lrwxrwxrwx 1 root root  9 Jul 30 15:04 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 30 15:04 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jul 30 15:04 usb-ELECOM_MF-PKU3_070825BA33A08E37-0:0-part2 -> ../../sda2

編集4:

lspci-nn-d::0108

04:00.0 Non-Volatile memory controller [0108]: Realtek Semiconductor Co., Ltd. Device [10ec:5763] (rev 01)
05:00.0 Non-Volatile memory controller [0108]: Realtek Semiconductor Co., Ltd. Device [10ec:5763] (rev 01)

答え1

lrwxrwxrwx 1 root root 13 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084 -> ../../nvme1n1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Jul 30 15:04 nvme-eui.00000000010000004ce00018dd8c9084-part4 -> ../../nvme0n1p4

これは、2つのNVMeドライブが最初の(そしておそらく唯一の)名前空間で同じEUI値を持っていることを示しているようです。/dev/disk/by-id/nvme-eui.*のリンクnvme0n1がの対応するリンクで上書きされたため、nvme1n1そのパーティションがないため、パーティションのリンクのみが保持されます。nvme0n1p3nvme0n1p4nvme1n1

明らかに、他のADATA NVMeモデルの一部にも同じ問題があるようです。

nvme-pci:ADATA XPG SX6000LNP(SPECTRIX S40Gとも呼ばれる)用のNVME_QUIRK_BOGUS_NIDを追加

ADATA XPG SPECTRIX S40Gドライブは、システムのドライブ全体で同じように見える偽のeui64値を報告します。 「グローバルに一意ではない」重複項目として表示されないように修正してください。

独自のカスタムカーネルを構築できる場合は、上記のリンクパッチに似た奇妙なアイテムを簡単に追加できます。lspci -nnProductIDを使用してADATA Swordfish NVMe用のPCIベンダーを見つけて、次のような珍しいアイテムのリストに追加できます<kernel source>/drivers/nvme/host/pci.c

{ PCI_DEVICE(0x<vendor ID>, 0x<product ID>),   /* ADATA Swordfish 1 TB */
    .driver_data = NVME_QUIRK_BOGUS_NID, },

これ冗長ID検証機能が2022年2月28日にアップストリームカーネルに追加されました。、に変更2022-03-29 一意でないプライベートネームスペースを許可そして所有2022年4月15日にNVME_QUIRK_BOGUS_NID奇妙なメカニズムを追加しました。

関連情報