Нещодавно я почав підтримувати Linux, встановлений на пристроях із вбудованим ssds nvme. Я помітив, що у файлах пристрою було додаткове число, яке перевищує номер, що визначає номер диска та номер розділу. Приводи IDE / SATA / SCSI зазвичай мають лише літеру та номер диска.
Наприклад: / dev / nvme0n1p2
Мені стало цікаво, що таке частина n1, і після невеликого пошуку, схоже, що ідентифікується nvme 'простір імен'. Визначення для нього були дещо невиразними: "Простір імен NVMe - це кількість енергонезалежної пам'яті (NVM), яку можна відформатувати в логічні блоки".
Отже, чи діє це як розділ, визначений на рівні апаратного контролера, а не в таблиці розділів MBR або GPT? Чи може простір імен охоплювати декілька фізичних nvme ssd? Наприклад, ви можете створити простір імен, який об'єднує сховище з декількох ssd в єдиний логічний простір імен, подібний до RAID 0?
Що б ви зробили з простором імен NVME, якого ви вже не можете досягти, використовуючи таблиці розділів або LVM або файлову систему, яка може керувати кількома томами (наприклад, ZFS, Btrfs тощо)?
Крім того, чому здається, що нумерація простору імен починається з 1 замість 0? Це щось спільне з тим, як NVME відслідковує номери простору імен на низькому рівні (наприклад, розділи також починаються з 1, а не з 0, тому що таким чином встановлено стандарт для номерів розділів, тому ядро Linux просто використовує будь-який номер розділу що зберігається на диску - я думаю, що nvme працює так само?)