我正在尝试了解 nvme 的配置。
但我不明白为什么有两个设备:nvme 块和 nvme 字符设备:
crw------- 1 root root 243, 0 Dec 12 16:09 /dev/nvme0
brw-rw---- 1 root disk 259, 0 Jan 14 01:30 /dev/nvme0n1
每个或何时使用它们的目的是什么?
我正在尝试了解 nvme 的配置。
但我不明白为什么有两个设备:nvme 块和 nvme 字符设备:
crw------- 1 root root 243, 0 Dec 12 16:09 /dev/nvme0
brw-rw---- 1 root disk 259, 0 Jan 14 01:30 /dev/nvme0n1
每个或何时使用它们的目的是什么?
字符设备
/dev/nvme0
是 NVME 设备控制器,块设备/dev/nvme0n1
是 NVME 存储命名空间:用于实际存储的设备,其行为本质上类似于磁盘。在企业级硬件中,可能支持多个命名空间、命名空间内的精简配置和其他功能。目前,您可以将命名空间视为一种元分区,具有供企业使用的额外功能。
将命名空间视为安全擦除 SSD 时不会消失的分区。控制器和命名空间是分开的。命名空间可以共享,并且可以允许远程控制器访问它们。我相信,像 Excelero 或 Lightbits 这样的公司在他们的产品中利用了这项技术。
在大型设备中,比如 15TB NVME,您可能希望将 SSD 分成 3 个单独的部分用于不同的目的(缓存在 /dev/nvme0n1,数据库在 /dev/nvme0n2,VM 存储在 /dev/nvme0n3)。您可以创建 3 个大小相等或不相等的名称空间,并在每个 /dev/nvme0n_ 设备上使用它们。剩余的任何空间都将用于过度配置的容量,这有其自身的好处。