本章提供有关如何访问系统上的设备的信息。
以下是本章中概述信息的列表。
有关配置设备的概述信息,请参见第 5 章,管理设备(概述/任务)。
使用命令管理磁带、文件系统和其他设备时,需要了解如何指定设备名称。在大多数情况下,可以使用逻辑设备名称来表示与系统连接的设备。逻辑设备名称和物理设备名称在系统中分别由逻辑设备文件和物理设备文件表示。
首次引导系统时,将会创建设备分层结构,用于表示与系统连接的所有设备。内核使用设备分层结构信息将驱动程序与其相应的设备关联起来。内核还提供了一组指向执行特定操作的驱动程序的指针。有关设备分层结构的更多信息,请参见《OpenBoot 3.x Command Reference Manual》。
devfsadm 命令用于管理 /dev 和 /devices 目录中的特殊设备文件。缺省情况下,devfsadm 命令会尝试在系统中装入每个驱动程序,并连接至所有可能的设备实例。然后,devfsadm 将在 /devices 目录中创建设备文件并在 /dev 目录中创建逻辑链接。除了管理 /dev 和 /devices 目录以外,devfsadm 命令还可维护 path_to_inst 实例数据库。有关更多信息,请参见 path_to_inst(4)。
为响应动态重新配置事件而执行的重新配置引导处理以及对 /dev 和 /devices 目录的更新,都将通过 devfsadmd(即 devfsadm 命令的守护进程版本)进行处理。引导系统时将从 /etc/rc* 脚本启动此守护进程。
由于 devfsadmd 守护进程会自动检测任何重新配置事件产生的设备配置变化,因此无需交互运行此命令。
有关更多信息,请参见 devfsadm(1M)。
在 Solaris OS 中以三种方式对设备进行引用。
物理设备名称-表示设备信息分层结构中的设备全路径名。物理设备名称是首次将设备添加到系统时创建的。 物理设备名称位于 /devices 目录中。
实例名称-表示系统上每个可能设备的内核的缩写名称。例如,sd0 和 sd1 表示两个磁盘设备的实例名称。实例名称会在 /etc/path_to_inst 文件中进行映射。
逻辑设备名称-逻辑设备名称是首次将设备添加到系统时创建的。在大多数文件系统命令中,可以使用逻辑设备名称引用相应的设备。有关使用逻辑设备名称的文件命令列表,请参见表 10–1。/dev 目录中的逻辑设备文件以符号形式链接至 /devices 目录中的物理设备文件。
前面的设备名称信息是使用以下命令显示的:
dmesg
format
sysdef
prtconf
向系统中添加新磁盘。
在系统间移动磁盘。
访问或挂载驻留在本地磁盘上的文件系统。
备份本地文件系统。
许多管理命令都会使用引用磁盘片或文件系统的参数。
通过指定以符号形式与磁盘设备链接的子目录(/dev/dsk 或 /dev/rdsk),后跟标识特定控制器、磁盘和片的字符串来引用磁盘设备。
磁盘和文件管理命令需要使用原始(或字符)设备接口,或块设备接口。该区别是由从设备读取数据的方式导致的。
原始设备接口一次仅传输少量数据。块设备接口包括一次从中读取大数据块的缓冲区。
不同的命令需要不同的接口:
如果命令需要原始设备接口,请指定 /dev/rdsk 子目录。(rdsk 中的 "r" 代表 "raw"[原始]。)
如果命令需要块设备接口,请指定 /dev/dsk 子目录。
如果不确定命令需要使用 /dev/dsk 还是 /dev/rdsk,请检查该命令的手册页。
命令参考 |
接口类型 |
用法示例 |
---|---|---|
块 |
df /dev/dsk/c0t3d0s6 |
|
原始 |
fsck -p /dev/rdsk/c0t0d0s0 |
|
块 |
mount /dev/dsk/c1t0d0s7 /export/home |
|
原始 |
newfs /dev/rdsk/c0t0d1s1 |
|
原始 |
prtvtoc /dev/rdsk/c0t0d0s2 |
根据磁盘设备连接至直接控制器还是面向总线的控制器,可能要采用不同方式访问磁盘分区或磁盘片。通常,直接控制器在逻辑设备名称中不包括目标标识符。
有关这两种类型控制器的约定将在以下小节中加以说明。
控制器编号是在系统初始化过程中自动指定的。这些编号为严格的逻辑编号,表示不会直接映射到物理控制器。
要在基于 x86 的系统中带有 IDE 控制器的磁盘上指定片,请遵循下图中显示的命名约定。
要指示整个 Solaris fdisk 分区,请指定片 2 (s2)。
如果系统中仅有一个控制器,则 w 通常为 0。
要在带有面向总线的控制器(例如 SCSI)的磁盘上指定片,请遵循下图中显示的命名约定。
在带有直接连接磁盘(如 UltraSPARC® 系统上的 IDE 磁盘)的基于 SPARC 的系统上,命名约定与带有面向总线的控制器的系统的命名约定相同。
如果系统中仅有一个控制器,则 w 通常为 0。
对于 SCSI 控制器,x 是通过装置背面的开关设置的目标地址,y 是连接至目标的驱动器的逻辑单元号 (logical unit number, LUN)。如果磁盘具有嵌入式控制器,则 y 通常为 0。有关基于 SPARC 的系统上的 SCSI 地址的更多信息,请参见 SunSolveSM 信息文档 48041 和 scsi_address(9S)。
要指示整个磁盘,请指定片 2 (s2)。
逻辑磁带设备文件位于 /dev/rmt/* 目录中,作为 /devices 目录的符号链接。
连接至系统的第一个磁带设备为 0 (/dev/rmt/0)。磁带密度值(l、m、h、c 和 u)在第 30 章,管理磁带机(任务)中介绍。
由于可移除介质由卷管理 (vold) 来进行管理,因此除非要手动挂载介质,否则通常不会使用逻辑设备名称。
表示系统上的可移除介质设备的逻辑设备名称在第 3 章,访问可移除介质(任务)中加以介绍。