J'ai récemment commencé à prendre en charge Linux installé sur des appareils avec ssds nvme intégrés. J'ai remarqué que les fichiers de l'appareil avaient un numéro supplémentaire, au-delà d'un numéro identifiant le numéro de lecteur et le numéro de partition. Les lecteurs IDE / SATA / SCSI n'ont normalement qu'une lettre de lecteur et un numéro de partition.
Par exemple: / dev / nvme0n1p2
Je me suis demandé ce qu'était la partie n1, et après un peu de recherche, il semble que cela identifie un «espace de noms» nvme. Les définitions étaient assez vagues: "Un espace de noms NVMe est une quantité de mémoire non volatile (NVM) qui peut être formatée en blocs logiques."
Alors, cela agit-il comme une partition définie au niveau du contrôleur matériel, et non dans une table de partition MBR ou GPT? Un espace de noms peut-il s'étendre sur plusieurs SSD physiques NVME? Par exemple, pouvez-vous créer un espace de noms qui regroupe le stockage de plusieurs disques SSD dans un seul espace de noms logique, similaire à RAID 0?
Que feriez-vous avec un espace de noms NVME que vous ne pouvez pas déjà réaliser en utilisant des tables de partition ou LVM ou un système de fichiers qui peut gérer plusieurs volumes (comme ZFS, Btrfs, etc.)?
De plus, pourquoi semble-t-il que la numérotation des espaces de noms commence à 1 au lieu de 0? Est-ce juste quelque chose à voir avec la façon dont NVME suit les numéros d'espace de noms à un bas niveau (par exemple, les partitions commencent également à 1, pas à 0, car c'est ainsi que la norme pour les numéros de partition a été définie, donc le noyau Linux utilise simplement quel que soit le numéro de partition qui est stocké sur le disque est - je suppose que nvme fonctionne de la même manière?)