磁盘路径 (/dev/mydisk) 与 SATA、SSD、NVME 或 RAID 不同吗?

磁盘路径 (/dev/mydisk) 与 SATA、SSD、NVME 或 RAID 不同吗?

我部分知道这个问题的答案;我“知道”SATA 磁盘使用路径,/dev/sdaX而 nvme 使用/dev/nvmeX.通过 BIOS 启用 RAID 时,磁盘的路径是否不同?

我问的原因是:如何在不提前打开机器的情况下知道我想要分区(使用 PXE)的磁盘(设备)的路径?

答案1

不幸的是,有很多可能的路径。根据 RAID 的实施方式,可能有:

  • 特定 RAID 控制器系列独有的传统命名风格,例如/dev/cciss/*旧的 Compaq/HP SmartArray 硬件 RAID 控制器
  • dmraid多种 BIOS-RAID 固件/软件 RAID 实施管理的不同变体
  • /dev/sd*某些硬件 RAID 控制器和非 RAID 存储控制器的常规命名方式
  • /dev/nvmeXnYNVMe 设备的命名方案,其中X= NVMe 设备编号和Y= NVMe 命名空间编号(通常始终为 1,除非某些大型企业 NVMe 设置)
  • 根本没有可见的磁盘(!)如果有一个未配置的真正的硬件 RAID 控制器

这就是为什么配置控制对于大型部署很重要。通常,在使用预期配置测试特定模型并解决其问题之前,您不会开始对新模型进行大规模 PXE 部署。

一旦您获得了特定供应商硬件的经验,您最终可能能够根据该供应商通常的设置方式,对以前未知的模型可能的行为做出良好的估计,但您对硬件一无所知对于 PXE 启动,没有通用的答案。

如果插入最多两个未使用(或完全擦除)的磁盘并且没有现有 RAID 配置,某些硬件 RAID 控制器可能会自动设置合理的默认 RAID 配置,以简化 PXE 大规模部署。

其他人可能需要在启动时确认按特定键来设置默认 RAID 配置(因为如果磁盘实际上不是空的,设置默认 RAID 配置可能是一种破坏性操作)。然而,某些硬件 RAID 控制器可能需要运行 RAID 配置工具,然后才能通过 PXE 引导操作系统安装程序。如果有可用的 RAID 配置工具的可编写脚本的版本,您也许可以将其集成到 PXE 部署过程中。

答案2

fdisk -l或者lsblk应该告诉你操作系统知道哪些存储。如果操作系统没有看到它们,则可能是因为它没有适合它们的驱动程序。

答案3

如何在不提前打开机器的情况下知道要分区(使用 PXE)的磁盘(设备)的路径?

我不能代表其他 linux,但对于 RHEL 7 有

/dev/disk/by-id/
/dev/disk/by-label/
/dev/disk/by-partlabel/
/dev/disk/by-partuuid/
/dev/disk/by-path/
/dev/disk/by-uuid/

无需打开机器,如果您使用by-label应该能够做到。例如,我的服务器有一个 Dell PERC raid 控制器,即 6 个磁盘的 raid-5,并且在 raid 控制器中我制作了该卷标签data

因此/dev/disk/by-label/data是一个关联/dev/sdb1我而言。但为了做任何我能可靠地做的事情,我可以参考/dev/disk/by-label/data访问硬件 raid 控制器后面的磁盘(或卷),我已将其标记为使用 raid 控制器。如果您使用相同的标签语法标记了多个磁盘,请不要这样做,这是不好的,并且如果您希望按标签引用,显然会出现问题。

如果您探索其他选项,您也许能够理解和预测磁盘的语法

在我的系统条目下,by-id我看到诸如JBOD 的 1 个操作系统磁盘在wwn-0x62cea7f048bd6b0028133956b9cd56d5-part3 -> ../../sda3 哪里以及Linux 的分区挂载在哪里。sda3/

识别wwn=全球通用号码,通常印在磁盘的标签上,您可以在打开计算机之前参考它,然后了解如何引用磁盘的语法。

磁盘路径 (/dev/mydisk) 与 SATA、SSD、NVME 或 RAID 不同吗?

/dev/disk/by-path是的,我的 rhel7 服务器上的列表显示

pci-0000:db:00.0-scsi-0:2:0:0@        pci-0000:db:00.0-scsi-0:2:0:0-part3@
pci-0000:db:00.0-scsi-0:2:0:0-part1@  pci-0000:db:00.0-scsi-0:2:1:0@
pci-0000:db:00.0-scsi-0:2:0:0-part2@  pci-0000:db:00.0-scsi-0:2:1:0-part1@

小路给每个磁盘会有所不同,即使它们都是SATA或都是NVME或其他什么,也必须是不同的。

当你说我“知道”SATA 磁盘使用路径 /dev/sdaX,而 nvme 使用 /dev/nvmeX

该位置/dev/sd?是您引用的实际块设备。要了解给定的含义sd??,请参考下面的所有链接/dev/disks/来理解。并且没有理由必须使用,/dev/sda1例如,您可以引用任何链接/dev/disk/by-whatever符合您的需求。

相关内容