我部分知道这个问题的答案;我“知道”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/nvmeXnY
NVMe 设备的命名方案,其中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
符合您的需求。