Недавно я начал поддерживать Linux, установленный на устройствах со встроенным nvme ssds. Я заметил, что файлы устройств имеют дополнительный номер, помимо числа, идентифицирующего номер диска и номер раздела. Диски IDE / SATA / SCSI обычно имеют только букву диска и номер раздела.
Например: / dev / nvme0n1p2
Мне стало интересно, что такое часть n1, и после небольшого поиска, похоже, что она идентифицирует nvme «пространство имен». Его определения были довольно расплывчаты: «Пространство имен NVMe - это количество энергонезависимой памяти (NVM), которое можно отформатировать в логические блоки».
Итак, действует ли это как раздел, определенный на уровне аппаратного контроллера, а не в таблице разделов MBR или GPT? Может ли пространство имен охватывать несколько физических nsme ssd? Например, вы можете создать пространство имен, которое объединяет хранилище из нескольких ssd в одно логическое пространство имен, подобное RAID 0?
Что бы вы сделали с пространством имен NVME, которого вы уже не можете достичь, используя таблицы разделов или LVM, или файловую систему, которая может управлять несколькими томами (например, ZFS, Btrfs и т. Д.)?
Кроме того, почему кажется, что нумерация пространства имен начинается с 1 вместо 0? Это как раз то, что NVME отслеживает номера пространств имен на низком уровне (например, разделы также начинаются с 1, а не с 0, потому что именно так был установлен стандарт для номеров разделов, поэтому ядро Linux просто использует любой номер раздела что хранится на диске - я думаю, что nvme работает так же?)