系统管理指南:设备和文件系统

format.dat 文件

Solaris OS 附带的 format.dat 文件支持许多标准磁盘。如果 format.dat 文件中未列出您的磁盘驱动器,则可以执行以下操作:

如果将在整个站点中使用磁盘驱动器,则向 format.dat 文件添加项可以节省时间。要使用其他系统上的 format.dat 文件,请将该文件复制到每个将使用特定磁盘驱动器(已添加到 format.dat 文件中)的系统。

如果具有以下设备之一,则可能需要修改系统的 /etc/format.dat 文件:


注 –

请勿修改 /etc/format.dat 文件中的缺省项。如果要修改缺省项,请复制该项,并为该项指定不同的名称,再进行相应更改以避免混淆。


/etc/format.dat 不适用于带有 EFI 标号的磁盘。

format.dat 文件的内容

format.dat 包含 format 实用程序使用的磁盘驱动器信息。format.dat 文件中定义了以下三项:

format.dat 文件的语法

以下语法规则适用于 /etc/format.dat 文件:

format.dat 文件中的关键字

format.dat 文件包含启动 format 实用程序时该程序读取的磁盘定义。每个定义都以以下关键字之一开头:disk_typepartition。下表描述了这些关键字。

表 16–6 format.dat 文件的关键字说明

关键字 

说明 

disk_type

定义控制器和磁盘型号。每个 disk_type 定义都包含有关磁盘物理几何参数的信息。缺省数据文件包含 Solaris OS 支持的控制器和磁盘的定义。

仅当使用不支持的磁盘时,才需要添加新的 disk_type 定义。可以向数据文件中添加任意数目的 disk_type 定义。

partition

为特定磁盘类型定义分区表。分区表包含分区信息以及可在 format 实用程序中引用的名称。缺省的 format.dat 文件包含多种磁盘驱动器的缺省分区定义。如果在系统中的任何磁盘上重新创建了分区,请添加分区定义。可以向数据文件中添加任意数目的分区定义。

磁盘类型 (format.dat)

format.dat 文件中的 disk_type 关键字定义了控制器和磁盘型号。每个 disk_type 定义都包含有关磁盘物理几何参数的信息。缺省的 format.dat 文件包含 Solaris OS 支持的控制器和磁盘的定义。仅当使用不支持的磁盘时,才需要添加新的 disk_type。可以向数据文件中添加任意数目的 disk_type 定义。

可将磁盘类型名称指定给关键字本身。该名称出现在磁盘的标号中,并且在运行 format 实用程序时用于标识磁盘类型。 使用双引号将该名称引起来可保留名称中的所有空格。下表描述了在所有的 disk_type 定义中还必须被赋值的标识符。

表 16–7 所需的 disk_type 标识符 (format.dat)

标识符 

说明 

ctlr

标识磁盘类型的控制器类型。当前,支持的值为 SCSI 和 ATA。  

ncyl

指定磁盘类型中的数据柱面的数目。这将确定允许系统访问的逻辑磁盘柱面数目。  

acyl

指定磁盘类型中的备用柱面的数目。这些柱面供 format 实用程序用于存储信息(如驱动器的缺陷列表)。应始终保留至少两个柱面进行备用。

pcyl

指定磁盘类型中的物理柱面的数目。此数字用于计算磁盘介质的范围。此数字通常等于 ncyl 加上 acyl

nhead

指定磁盘类型中的磁头的数目。此数字用于计算磁盘介质的范围。  

nsect

指定磁盘类型中每个磁道的数据扇区的数目。此数字用于计算磁盘介质的范围。请注意,此数字仅包括数据扇区。任何备件都不会反映在每个磁道的数据区段数目中。  

rpm

指定磁盘类型的每分钟旋转次数。此信息将置于标签中,随后由文件系统用于计算文件数据的最佳保存位置。  

其他标识符可能是必需的,具体取决于控制器。下表描述了 SCSI 控制器所需的标识符。

表 16–8 SCSI 控制器 format.dat 所需的 disk_type 标识符

标识符 

说明 

fmt_time

指定一个数字,用于指明格式化给定驱动器所需的时间。有关更多信息,请参见控制器手册。  

cache

指定一个数字,用于控制 format 实用程序运行时执行的板载高速缓存操作。有关更多信息,请参见控制器手册。

trks_zone

指定一个数字,用于标识每个缺陷区域中存在的要在备用扇区映射中使用的磁道数。有关更多信息,请参见控制器手册。  

asect

指定一个数字,用于标识给定缺陷区域中可用于备用映射的扇区。有关更多信息,请参见控制器手册。  


示例 16–1 SCSI 控制器 (format.dat) 所需的 disk_type 标识符

以下是 disk_type 定义的示例:


disk_type = "SUN1.3G" \

        : ctlr = SCSI : fmt_time = 4 \

        : trks_zone = 17 : asect = 6 : atrks = 17 \

        : ncyl = 1965 : acyl = 2 : pcyl = 3500 : nhead = 17 : nsect = 80 \

        : rpm = 5400 : bpt = 44823



disk_type = "SUN2.1G" \

        : ctlr = SCSI : fmt_time = 4 \

        : ncyl = 2733 : acyl = 2 : pcyl = 3500 : nhead = 19 : nsect = 80 \

        : rpm = 5400 : bpt = 44823



disk_type = "SUN2.9G" \

        : ctlr = SCSI : fmt_time = 4 \

        : ncyl = 2734 : acyl = 2 : pcyl = 3500 : nhead = 21 : nsect = 99 \

        : rpm = 5400

分区表 (format.dat)

format.dat 文件中的分区表为特定磁盘类型定义了片表。

将分区表的名称指定给 format.dat 文件中的 partition 关键字。使用双引号将该名称引起来可保留名称中的所有空格。下表描述了所有分区表中必须赋值的标识符。

表 16–9 分区表 (format.dat) 所需的标识符

标识符 

说明 

disk

为此分区表定义的 disk_type 的名称。此名称必须与 disk_type 定义中显示的完全相同。

ctlr

可与此分区表连接的磁盘控制器的类型。当前,对于 ATA 控制器,支持的值为 ATA;对于 SCSI 控制器,支持的值为 SCSI。另外,还必须为在 disk_type 定义中指定的 disk_type 定义此处指定的控制器类型。

片定义中的其他标识符描述了实际的分区信息。标识符是 0 到7 之间的数字。这些标识符是可选的。未显式指定的任何分区长度都设置为 0。其中每个标识符的值都是以逗号分隔的一对数字。第一个数字是分区的起始柱面。第二个数字是片中的扇区数目。


示例 16–2 分区表 (format.dat ) 所需的标识符

以下是一些片信息示例:


partition = "SUN1.3G" \

        : disk = "SUN1.3G" : ctlr = SCSI \

        : 0 = 0, 34000 : 1 = 25, 133280 : 2 = 0, 2672400 : 6 = 123, 2505120



partition = "SUN2.1G" \

        : disk = "SUN2.1G" : ctlr = SCSI \

        : 0 = 0, 62320 : 1 = 41, 197600 : 2 = 0, 4154160 : 6 = 171, 3894240



partition = "SUN2.9G" \

        : disk = "SUN2.9G" : ctlr = SCSI \

        : 0 = 0, 195426 : 1 = 94, 390852 : 2 = 0, 5683986 : 6 = 282, 5097708

format 实用程序指定备用数据文件

format 实用程序按一定顺序通过以下方法确定备用文件的位置:

  1. 如果使用 format -x 选项给定文件名称,则始终将该文件用作数据文件。

  2. 如果未指定 -x 选项,则 format 实用程序将搜索当前目录中名为 format.dat 的文件。如果该文件存在,则将其用作数据文件。

  3. 如果上述任一方法都无法产生数据文件,则 format 实用程序将使用 /etc/format.dat 文件作为数据文件。此文件是 Solaris OS 附带的,并且会始终提供此文件。