。
Solaris 10 发行版在设备管理方面的新增功能
第5 章• 管理设备(概述/任务) 73
以下适配器用于连接外部光纤通道存储设备:
Sun StorEdge PCI 双光纤通道主机适配器
Sun StorEdge PCI 单光纤通道网络适配器
如果将上述适配器与Sun 系统结合使用来连接外部光纤通道存储设备,则缺省情况下,外
部存储设备也会进行电源管理。
在以下情况下,应禁用电源管理:
系统中的光纤通道连接的磁盘连接至存储区域网络(storage area network, SAN)
系统中的光纤通道连接的磁盘用在多启动器配置中,如用于SunCluster 软件
系统在光纤通道接口上使用IP(请参见fcip(7D))
如果多个Solaris 系统可能共享相同的设备(如上述情况下),则不应启用电源管理。
按以下方式更改/etc/power.conf 文件中的autopm 关键字,可以对系统禁用电源管理:
autopm disable
然后,通过运行pmconfig 命令或重新引导系统,重新配置电源管理。
有关更多信息,请参见power.conf(4) 和pmconfig(1M)。
有关设备管理任务的参考信息
下表介绍了有关热插拔设备以及添加串行设备(如打印机和调制解调器)和外围设备(如
磁盘、CD-ROM 或磁带设备)的逐步说明。
表5–1有关添加设备的参考信息
设备管理任务更多信息
添加不可热插拔的磁盘。第13 章或第14 章
热插拔SCSI 或PCI 设备。第91 页中的“使用cfgadm 命令执行SCSI 热插拔” 或第
103 页中的“使用cfgadm 命令执行PCI 或PCIe 热插拔”
热插拔USB 设备。第138 页中的“使用USB 海量存储设备(任务列表)”
添加CD-ROM 或磁带设备。第84 页中的“如何添加外围设备”
添加调制解调器。《System Administration Guide: Advanced Administration》中
的第8 章,“Managing Terminals and Modems (Overview)”
添加打印机。《System Administration Guide: Advanced Administration》中
的第1 章,“Managing Printing Services (Overview)”
有关设备管理任务的参考信息
74 系统管理指南:设备和文件系统• 2006 年9 月
表5–1 有关添加设备的参考信息(续)
设备管理任务更多信息
保护设备。《System Administration Guide: Security Services》中的第4
章,“Controlling Access to Devices (Tasks)”
关于设备驱动程序
一台计算机通常会使用大量外围设备和海量存储设备。例如,您的系统可能装有磁盘驱动
器、键盘和鼠标,以及某种磁性备份介质。其他常用的设备包括以下各项:
CD-ROM 驱动器
打印机和绘图仪
光笔
触控式屏幕
数字化仪
图形输入板和笔尖对
Solaris 软件并不直接与所有这些设备进行通信。每种类型的设备都要求不同的数据格式、
协议和传输率。
设备驱动程序是一种低级程序,可用于使操作系统与某个特定的硬件进行通信。驱动程序
可用作操作系统对该硬件的“解释程序”。
设备的自动配置
内核包含一个小的通用核心,其中带有一个平台特定的组件和一组模块。在此Solaris 发行
版中,内核是自动配置的。
内核模块是用于在系统上执行特定任务的一个硬件组件或软件组件。可装入内核模块的一
个示例是访问设备时装入的设备驱动程序。
与平台无关的内核为/kernel/genunix。平台特定的组件为/platform/‘uname
-m‘/kernel/unix。
内核模块在下表中介绍。
表5–2 Solaris 内核模块的说明
位置目录内容
/platform/‘uname -m‘/kernel 平台特定的内核组件
/kernel 引导系统所需的通用于所有平台的内核组件
设备的自动配置
第5 章• 管理设备(概述/任务) 75
表5–2 Solaris 内核模块的说明(续)
位置目录内容
/usr/kernel 特定指令集内通用于所有平台的内核组件
系统可确定在引导时与其连接的设备。然后,内核会对其自身进行动态配置,将所需的模
块装入内存中。此时,在访问磁盘和磁带等设备时就会装入设备驱动程序。此过程称为自
动配置,因为所有的内核模块在需要时都会自动装入。
通过修改/etc/system 文件,可以自定义装入内核模块的方式。有关修改此文件的说明,请
参见system(4)。
自动配置的功能和优点
自动配置的优点如下:
由于模块会在需要时装入,因此可更有效地使用主内存。
向系统中添加新设备时,无需重新配置内核。
可以装入并测试驱动程序,而不必重新生成内核和重新引导系统。
向系统中添加新设备(和驱动程序)时会使用自动配置功能。此时,如果设备不是可热插
拔的,则可能需要执行重新配置引导,以便系统可以识别新设备。有关热插拔设备的信
息,请参见第6 章。
不受支持的设备所需的内容
Solaris 发行版中包括支持大量标准设备所需的设备驱动程序。可以在/kernel/drv 和
/platform/‘uname -m‘/kernel/drv 目录中找到这些驱动程序。
但是,如果购买了不受支持的设备,制造商应该提供正确安装、维护和管理设备所需的软
件。
此软件至少应包括设备驱动程序及其关联的配置(.conf) 文件。.conf 文件驻留在drv 目录
中。此软件可能还包括自定义维护和管理实用程序,因为该设备可能与Solaris 实用程序不
兼容。
有关不受支持的设备所需内容的更多信息,请与设备制造商联系。
设备的自动配置
76 系统管理指南:设备和文件系统• 2006 年9 月
显示设备配置信息
有三个命令可用于显示系统和设备的配置信息。
命令说明手册页
prtconf 显示系统配置信息,包括系统设备分层结构描述的内存总量和
设备配置。通过此命令显示的输出取决于系统的类型。
prtconf(1M)
sysdef 显示设备配置信息,包括系统硬件、伪设备、可装入模块以及
选定的内核参数。
sysdef(1M)
dmesg 显示系统诊断消息以及从上次系统重新引导以来与系统连接的
设备的列表。
dmesg(1M)
有关用于标识系统上设备的设备名称的信息,请参见第194 页中的“设备命名约定”。
driver not attached 消息
prtconf 和sysdef 命令可能会显示以下与驱动程序有关的消息:
device, instance #number (driver not attached)
此消息并不总是表示驱动程序不可用于此设备。此消息表示当前没有向设备实例附加任何
驱动程序,因为此节点中不存在任何设备或者设备未在使用中。驱动程序是在访问设备时
自动装入的。如果设备未在使用中,则会取消挂载这些驱动程序。
如何显示系统配置信息
使用prtconf 和sysdef 命令的输出可确定与系统连接的磁盘、磁带和CD-ROM 设备。这些
命令的输出会在设备实例旁边显示driver not attached 消息。由于这些设备始终受某个系
统进程监视,因此driver not attached 消息通常明确表示该设备实例中不存在任何设备。
使用sysdef 命令可显示系统配置信息,其中包括伪设备、可装入模块以及选定的内核参
数。
显示系统和设备的配置信息。
显示与系统连接的所有设备。
例如,SunBlade 1000 上的以下prtconf -v 输出确定了与系统连接的磁盘设备。详细的磁
盘信息在ssd/fp 驱动程序部分中的Device Minor Nodes 一节介绍。
$ /usr/sbin/prtconf -v | more
.
◗
显示设备配置信息
第5 章• 管理设备(概述/任务) 77
.
.
Device Minor Nodes:
dev=(118,8)
dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100002037bde864,0:a
spectype=blk type=minor
dev_link=/dev/dsk/c0t1d0s0
dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100002037bde864,0:a,raw
spectype=chr type=minor
dev_link=/dev/rdsk/c0t1d0s0
dev=(118,9)
dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100002037bde864,0:b
spectype=blk type=minor
dev_link=/dev/dsk/c0t1d0s1
dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100002037bde864,0:b,raw
.
.
.
显示有关与系统连接的某个特定设备的信息。
例如,SunBlade 1000 上的以下prtconf 输出显示了/dev/dsk/c0t1d0s0 的ssd 实例编号。
显示设备配置信息
78 系统管理指南:设备和文件系统• 2006 年9 月
# prtconf -v /dev/dsk/c0t1d0s0
ssd, instance #1
仅显示与系统连接的设备。
# prtconf | grep -v not
显示设备使用信息。
例如,以下fuser 命令显示了正在访问/dev/console 设备的进程。
# fuser -d /dev/console
/dev/console: 346o 323o
#
显示系统配置信息
基于SPARC 的系统中会显示以下prtconf 输出。
# prtconf
System Configuration: Sun Microsystems sun4u
Memory size: 512 Megabytes
System Peripherals (Software Nodes):
SUNW,Sun-Blade-1000
scsi_vhci, instance #0
packages (driver not attached)
SUNW,builtin-drivers (driver not attached)
deblocker (driver not attached)
disk-label (driver not attached)
terminal-emulator (driver not attached)
obp-tftp (driver not attached)
dropins (driver not attached)
示例5–1
显示设备配置信息
第5 章• 管理设备(概述/任务) 79
kbd-translator (driver not attached)
ufs-file-system (driver not attached)
chosen (driver not attached)
openprom (driver not attached)
client-services (driver not attached)
options, instance #0
aliases (driver not attached)
memory (driver not attached)
virtual-memory (driver not attached)
SUNW,UltraSPARC-III, instance #0
memory-controller, instance #0
SUNW,UltraSPARC-III, instance #1
memory-controller, instance #1
pci, instance #0
ebus, instance #0
flashprom (driver not attached)
bbc (driver not attached)
ppm, instance #0
i2c, instance #0
dimm-fru, instance #0
dimm-fru, instance #1
dimm-fru, instance #2
dimm-fru, instance #3
nvram, instance #4
显示设备配置信息
80 系统管理指南:设备和文件系统• 2006 年9 月
idprom (driver not attached)
i2c, instance #1
cpu-fru, instance #5
temperature, instance #0
cpu-fru, instance #6
temperature, instance #1
fan-control, instance #0
motherboard-fru, instance #7
i2c-bridge (driver not attached)
beep, instance #0
rtc, instance #0
gpio (driver not attached)
pmc (driver not attached)
floppy (driver not attached)
parallel (driver not attached)
serial, instance #0
network, instance #0
firewire, instance #0
usb, instance #0
scsi (driver not attached)
disk (driver not attached)
tape (driver not attached)
scsi (driver not attached)
disk (driver not attached)
显示设备配置信息
第5 章• 管理设备(概述/任务) 81
tape (driver not attached)
pci, instance #1
SUNW,qlc, instance #0
fp (driver not attached)
disk (driver not attached)
fp, instance #1
ssd, instance #1
ssd, instance #0 (driver not attached)
ssd, instance #2 (driver not attached)
ssd, instance #3 (driver not attached)
ssd, instance #4 (driver not attached)
ssd, instance #5 (driver not attached)
ssd, instance #6 (driver not attached)
upa, instance #0
SUNW,ffb, instance #0 (driver not attached)
ppm, instance #0
pseudo, instance #0
基于x86 的系统中会显示以下sysdef 输出。
# sysdef
* Hostid
*
29f10b4d
*
* i86pc Configuration
显示设备配置信息
82 系统管理指南:设备和文件系统• 2006 年9 月
*
*
* Devices
*
+boot (driver not attached)
memory (driver not attached)
aliases (driver not attached)
chosen (driver not attached)
i86pc-memory (driver not attached)
i86pc-mmu (driver not attached)
openprom (driver not attached)
options, instance #0
packages (driver not attached)
delayed-writes (driver not attached)
itu-props (driver not attached)
isa, instance #0
motherboard (driver not attached)
pnpADP,1542, instance #0
asy, instance #0
asy, instance #1
lp, instance #0 (driver not attached)
fdc, instance #0
fd, instance #0
fd, instance #1(driver not attached)
显示设备配置信息
第5 章• 管理设备(概述/任务) 83
kd (driver not attached)
kdmouse (driver not attached)
.
.
.
向系统添加外围设备
添加不可热插拔的新外围设备通常涉及以下操作:
关闭系统
将设备连接至系统
重新引导系统
可以参阅第84 页中的“如何添加外围设备”向系统添加以下不可热插拔的设备:
CD-ROM
辅助磁盘驱动器
磁带机
SBUS 卡
在某些情况下,为支持新设备,可能必须添加第三方设备驱动程序。
有关热插拔设备的信息,请参见第6 章。
如何添加外围设备
成为超级用户。
(可选的)如果需要添加设备驱动程序以支持设备,请完成过程第85 页中的“如何添加
设备驱动程序”。
创建/reconfigure 文件。
# touch /reconfigure
/reconfigure 文件将导致Solaris 软件在下次打开或引导系统时检查所有新近安装的设备是
否存在。
关闭系统。
# shutdown -i0 -g30 -y
1
2
3
4
向系统添加外围设备
84 系统管理指南:设备和文件系统• 2006 年9 月
-i0 使系统进入0 初始状态,即适用于关闭系统电源以添加和删除设备的状态。
-g30 在30 秒内关闭系统。缺省值为60 秒。
-y 在没有用户介入的情况下,继续关闭系统。否则,系统会提示您继续执行关机过
程。
在系统关闭后,选择以下方法之一关闭系统电源:
对于SPARC 平台,如果显示ok 提示,则可以安全关闭电源。
对于x86 平台,如果显示type any key to continue 提示,则可以安全关闭电源。
关闭所有外围设备的电源。
有关所有外围设备的电源开关的位置,请参阅外围设备附带的硬件安装指南。
安装外围设备,确保要添加的设备与系统上的其他设备具有不同的目标号码。
通常,磁盘背面有一个小开关,用于选择目标号码。
有关安装和连接设备的信息,请参阅外围设备附带的硬件安装指南。
打开系统电源。
系统将引导至多用户模式,并会显示登录提示。
通过尝试访问外围设备,检验是否已添加了该设备。
有关访问该设备的信息,请参见第10 章。
如何添加设备驱动程序
此过程假定已将设备添加到系统中。否则,请参见第76 页中的“不受支持的设备所需的内
容”。
成为超级用户。
将磁带、软盘或CD-ROM 放入驱动器中。
安装驱动程序。
# pkgadd [-d] device package-name
-d device 用于标识包含软件包的设备路径名。
package-name 用于标识包含设备驱动程序的软件包名称。
5
6
7
8
9
1
2
3
向系统添加外围设备
第5 章• 管理设备(概述/任务) 85
检验软件包是否已正确添加。
# pkgchk package-name
#
如果正确安装了软件包,则系统提示不会返回任何响应。
添加设备驱动程序
以下示例说明如何安装和检验名为XYZdrv 的软件包。
# pkgadd XYZdrv
(licensing messages displayed)
.
.
.
Installing XYZ Company driver as
.
.
.
Installation of was successful.
# pkgchk XYZdrv
#
4
示例5–2
向系统添加外围设备
86 系统管理指南:设备和文件系统• 2006 年9 月
动态配置设备(任务)
本章提供有关在Solaris OS 中动态配置设备的说明。如果系统组件支持热插拔,则在系统仍
然处于运行状态时,可在Solaris OS 中添加、移除或更换设备。如果系统组件不支持热插
拔,则可以重新引导系统以重新配置设备。
有关与动态配置设备关联的过程信息,请参见以下内容:
第90 页中的“使用cfgadm 命令执行SCSI 热插拔(任务列表)”
第103 页中的“使用cfgadm 命令执行PCI 或PCIe 热插拔(任务列表)”
第112 页中的“应用程序开发者RCM 脚本(任务列表)”
第113 页中的“系统管理员RCM 脚本(任务列表)”
有关使用cfgadm 命令热插拔USB 设备的信息,请参见第167 页中的“使用cfgadm 命令热插
拔USB 设备”。
有关访问设备的信息,请参见第10 章。
动态重新配置和热插拔
热插拔是指在系统运行的同时以物理方式添加、移除或更换系统组件的能力。动态重新配
置是指热插拔系统组件的能力。此术语还指在系统中四处移动系统资源(硬件和软件),
或以某种方式禁用这些系统资源而不以物理方式将其从系统中移除的一般能力。
一般情况下,可以热插拔以下总线类型:
USB
光纤通道
1394
ATA
SCSI
此外,还可以使用cfgadm 命令热插拔以下设备:
SPARC 和x86 平台上的USB 设备
6第6 章
87
SPARC 和x86 平台上的SCSI 设备
SPARC 和x86 平台上的PCI 设备
x86 平台上的PCIe 设备
cfgadm 命令包括以下功能:
显示系统组件状态
测试系统组件
更改组件配置
显示配置帮助消息
使用cfgadm 命令重新配置系统组件的优点是可在系统运行的同时添加、移除或更换组件。
另一优点是cfgadm 命令可引导逐步完成添加、移除或更换系统组件所需执行的步骤。
有关热插拔组件的逐步说明,请参见以下内容:
第91 页中的“使用cfgadm 命令执行SCSI 热插拔”
第103 页中的“使用cfgadm 命令执行PCI 或PCIe 热插拔”
cfgadm(1M)
注– 并非所有SCSI 和PCI 控制器都支持使用cfgadm 命令进行热插拔。
作为Sun 的高可用性策略的一部分,动态重新配置预计会与其他分层产品(如替代路径设
置软件或故障转移软件)结合使用。这两种产品都可在出现设备故障的情况下提供容错功
能。
如果没有任何高可用性软件,则可通过手动停止相应的应用程序,卸载非关键的文件系
统,然后继续执行添加或删除操作来更换出现故障的设备。
注– 某些系统同时具有可热插拔和不可热插拔的插槽。有关在特定硬件配置(如在企业级系
统上)中热插拔设备的信息,请参阅硬件配置文档。
附加点
cfgadm 命令可以显示有关附加点的信息,附加点是指系统中可以执行动态重新配置操作的
位置。
附加点由以下几项组成:
插卡,表示可在系统中配置的硬件组件
插座,是指插入插卡的位置
附加点由逻辑附加点ID 和物理附加点ID (Ap_Id) 表示。物理Ap_Id 是附加点的物理路径
名。逻辑Ap_Id 是物理Ap_Id 的用户友好替代项。有关Ap_Id 的更多信息,请参阅
cfgadm(1M)。
SCSI 主机总线适配器(Host Bus Adapter, HBA) 或SCSI 控制器的逻辑Ap_Id 通常由控制器编号
表示,如c0。
动态重新配置和热插拔
88 系统管理指南:设备和文件系统• 2006 年9 月
如果未向SCSI HBA指定控制器编号,则将提供内部生成的唯一标识符。以下是SCSI 控制
器的唯一标识符的示例:
fas1:scsi
SCSI 设备的逻辑Ap_Id 通常具有以下格式:
HBA-logical-apid::device-identifier
在以下示例中,c0 是SCSI HBA的逻辑Ap_Id:
c0::dsk/c0t3d0
设备标识符通常由/dev 目录中的设备的逻辑设备名称派生而来。例如,逻辑设备名称为
/dev/rmt/1 的磁带设备具有以下逻辑Ap_Id:
c0::rmt/1
如果SCSI 设备的逻辑Ap_Id 无法从/dev 目录中的逻辑名称派生而来,则将提供内部生成的
唯一标识符。以下是/dev/rmt/1 磁带设备的标识符的示例:
c0::st4
有关SCSI Ap_Id 的更多信息,请参阅cfgadm_scsi(1M)。
cfgadm 命令按照一组通用状态(如已配置和未配置)和操作(如连接、配置、取消配置
等)来表示所有资源和动态重新配置操作。有关这些通用状态和操作的更多信息,请参见
cfgadm(1M)。
下表列出了SCSI HBA附加点的插座和插卡的状态。
插座状态说明插卡状态说明
empty N/A(对于SCSI HBA) configured 在总线上配置了一个或
多个设备
disconnected 总线处于静止状态unconfigured 未配置任何设备
connected 总线处于活动状态
下表列出了SCSI 设备附加点的插座和插卡的状态。
插座状态说明插卡状态说明
empty N/A(对于SCSI 设备) configured 设备已配置
disconnected 总线处于静止状态unconfigured 设备未配置