我在 Solaris Transition Guide 中找到了以下内容:
“实例名称
实例名称是指系统中的第 n 个设备(例如 sd20)。
实例名称偶尔会在驱动程序错误消息中报告。您可以通过查看dmesg(1M)
输出来确定实例名称与物理名称的绑定,如下例所示。
sd9 at esp2: target 1 lun 1
sd9 is /sbus@1,f8000000/esp@0,800000/sd@1,0
<SUN0424 cyl 1151 alt 2 hd 9 sec 80>
将实例名称分配给设备后,它仍然绑定到该设备。
实例编号编码在设备的次要编号中。为了在重新启动时保持实例编号一致,系统将它们记录在 /etc/path_to_inst 文件中。此文件在引导时只读,当前由“add_drv(1M)
和drvconf
”更新
因此,基于此,我编写了以下脚本:
用于 /dev/dsk/*s2 中的设备
做
dpath="$(ls -l $device | nawk '{print $11}')"
dpath="${dpath#*devices/}"
dpath="${dpath%:*}"
iname="$(nawk -v dpath=$dpath '{
if ($0 ~ dpath) {
gsub("\"", "", $3)
print $3 $2
}
}' /etc/path_to_inst)"
echo "$(basename ${device}) = ${iname}"
完毕
By reading the information directly out of the path_to_inst file, we are allowing for adding and deleting devices, which will skew the instance numbers if you simply count the instances in the /devices directory tree.