1
什么是nvme命名空间?它们如何运作?
我最近开始支持使用内置nvme ssds安装在设备上的Linux。我注意到设备文件有一个额外的数字,除了标识驱动器号和分区号的数字。IDE / SATA / SCSI驱动器通常仅具有驱动器号和分区号。 例如:/ dev / nvme0n1p2 我想知道n1部分是什么,经过一番搜索后,它看起来像标识了一个nvme'命名空间'。它的定义有点模糊:“ NVMe命名空间是一定数量的非易失性存储器(NVM),可以将其格式化为逻辑块。” 那么,这是否像在硬件控制器级别定义的分区那样,而不是在MBR或GPT分区表中?名称空间可以跨多个物理nvme ssd吗?例如,您能否创建一个名称空间,将多个ssd的存储汇集到一个逻辑名称空间中,类似于RAID 0? 对于使用分区表或LVM或可以管理多个卷(例如ZFS,Btrfs等)的文件系统无法实现的NVME命名空间,您将如何处理? 此外,为什么命名空间编号似乎从1开始而不是0?这与NVME在较低级别上跟踪名称空间编号有关(例如,分区也从1开始,而不是0,因为这是设置分区号的标准的方式,因此Linux内核仅使用分区号)存储在磁盘上的是-我猜nvme的工作方式相同吗?)