[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引


第 6 章
使用磁盘和磁带驱动器

本章描述在 OpenVMS 系统中处理磁盘和磁带驱动器的一般概念。任何连接到 OpenVMS 系统的外围设备称为设备,包括磁盘和磁带驱动器。注册时,您自动准予存取默认设备和目录。您也可以存取公用设备和目录。在大多数情况下,系统管理员设置和维护用户组共享的设备。

如果有一个供您个人使用的驱动器,您需要知道如何分配、初始化和装上它。本章为那些将实现自己的磁盘和磁带驱动器存取的用户,论述以下概念:

  • 物理设备名
  • 显示设备信息
  • 逻辑设备名
  • 类属设备名
  • OpenVMS 簇设备名
  • 卷和卷集
  • 设备管理

欲知详情,请参阅:

  • OpenVMS DCL Dictionary联机求助,论述本章命令详情
  • OpenVMS System Manager's Manual, Volume 1: Essentials,关于使用设备的详情
  • OpenVMS System Management Utilities Reference Manual,关于 MOUNT 命令的详情
  • OpenVMS Cluster Systems,关于 OpenVMS 簇环境中设备的详情

6.1 物理设备名

系统所知的每个物理设备通过物理设备名唯一地标识。物理设备名标识设备类型;例如,一个磁盘驱动器或终端。

多数物理设备名包括:

  • 设备代码,表示硬件类型
  • 控制器指示符,标识连接设备的硬件控制器
  • 单元号,标识在特定控制器上的一个设备。

VTA12、FX09 和 DAD44 是设备名的例子。

有关特定设备命名格式的详情,请参阅 OpenVMS System Manager's Manual

6.2 显示设备信息

要显示系统设备的信息,输入 SHOW DEVICES 命令。要获得特定设备的附加信息或信息,按以下方法之一输入 SHOW DEVICES 命令:

  • 要检查已装上卷的密度、卷标、UIC 和相对卷号,输入 SHOW DEVICES/FULL 命令。
  • 要显示系统配置的特定类型的所有驱动器的信息,指定类属设备代码 (例如,SHOW DEVICES DK)。
  • 要显示装在特定驱动器上的某个卷信息,指定物理设备名 (例如,SHOW DEVICES DKA1)。

在以下例子中,SHOW DEVICES 命令显示有关 DAD40 的信息:


$ SHOW DEVICES DAD40
设备           设备             错误     卷          未用    事项   装上
名称           状况             计数     标号        块      计数   计数
DAD40:         装上 写锁定        0     CHICAGO     540088     1      1

6.3 逻辑设备名

系统管理员可以设置逻辑设备名表示系统上的设备。逻辑设备名是用一个简短、有意义名称表示含义有点模糊的的设备名。您可以使用这些逻辑设备名,代替物理设备名来引用设备。

第 11 章详细地描述如何使用逻辑名。

6.4 类属设备名

类属设备名包括设备代码但省略特定的控制器或单元号。在 MOUNT 或 ALLOCATE 命令中使用类属设备名时,系统找出第一个其物理名满足指定类属设备名部分的可用控制器或设备单元。

如果为任何其他命令指定类属设备名,则应用以下默认:

  • 如果省略控制器指示符,假定它是 A。
  • 如果省略单元号,假定它是 0。

6.5 OpenVMS 簇设备名

OpenVMS 设备名包括连接该设备的节点名和物理设备名,用美元符 ($) 分开。例如,ROXXY$DUA1 引用节点 ROXXY 的磁盘 DUA1。

作为一般规则,总是使用节点分配级设备名标识双路径的 OpenVMS 磁盘。它是所有 OpenVMS 节点总是能识别的唯一名称。

有关在 OpenVMS 簇环境中使用设备名格式的详情,请参阅 OpenVMS Cluster Systems

如果设备是双路径的 (连接到两个节点),那么按以下格式指定 OpenVMS 设备名:


$node-allocation-class$ddcu

各元素是:

node-allocation-class 一个分配给连接双路径设备的节点的值。例如,$1$DJA16 标识一个在两个节点之间的双路径磁盘,两个节点都有一个其值为 1的节点分配级。
dd 表示硬件设备类型的设备代码 (例如,设备代码 DK 表示 RZ23 磁盘)。
c 标识连接设备的硬件控制器。控制器指示符与单元号一起,标识系统硬件配置中设备的位置。控制器用字母 A 至 Z 指定。
u 唯一地标识特定控制器上设备的单元号。单元号是从 0 至 65535 的十进制数。

6.6 卷和卷集

OpenVMS 操作系统把磁盘和磁带识别为卷,而与它们占用的实际硬件驱动器分开。卷是数据有组织的集合。系统也识别卷集。一个卷集包括两个或更多相关的卷。把卷添加到同一个卷集而不是定义多个新卷,把卷捆绑到一个卷集允许您扩展可用于文件的空间。建立卷集的过程 (与单卷不同) 在 OpenVMS System Manager's Manual中描述。

6.7 设备管理

如果您有一个专用的磁盘驱动器,您应该熟悉它的设置步骤,如下所示:

步骤 任务
1 使用 DCL 命令 ALLOCATE 把磁盘驱动器分配给进程。
2 使用 DCL 命令 INITIALIZE 格式化磁盘卷,如有需要在卷上写入标号。
3 使用 DCL 命令 MOUNT 使进程可存取卷和它包含的文件或数据。

6.7.1 分配设备

分配设备时,进程将独占使用这个设备。设备保持分配给您的进程,直到您明确地释放它 (使用 DCL 命令 DEALLOCATE) 或者直到您注销。

要把磁盘或磁带驱动器分配 (本地分配) 给进程,使用 DCL 命令 ALLOCATE。ALLOCATE 命令的格式如下所示:


ALLOCATE device-name[:][,...] [logical-name[:]]

各元素如下所示 :

device-name 指定装入卷的驱动器。其名称可以是物理名、类属名或逻辑名。
logical-name 指定与该设备关联的可选逻辑名。

6.7.2 初始化卷

初始化磁盘或磁带卷就是使之格式化。在每次使用卷前,您不需要做这一步。在第一次使用之前和您要完全擦除它的时候才初始化卷。要初始化卷,使用 DCL 命令 INITIALIZE 执行以下操作:

  • 在卷上建立新的文件结构。在初始化进程中,将删除存储在磁盘上的任何数据。
  • 在卷上写入一个标号来标识它。
  • 为该卷定义拥有者 UIC 和保护 。

注意

INITIALIZE 命令不会阻止您初始化另一个用户的卷;在确信要初始化的卷是您自己的卷之后,在您初始化该卷之前分配该设备。

如果您把一个卷交给另一个用户初始化 (例如,如果您缺乏足够的特权做这件事),您应该提供这个卷的卷标、拥有者 UIC 和保护码

INITIALIZE 命令的格式如下所示:


INITIALIZE device-name[:] volume-label

各字段如下所示:

device-name 指定物理地装上卷的设备名。
volume-label 标识卷。可以为磁盘卷指定多达 12 个字母数字字符或为磁带卷指定多达 6 个字母数字字符。

初始化磁盘卷

按照默认,初始化命令在新卷上建立一个 Files--11 结构。OpenVMS 操作系统初始化磁盘卷的默认格式称为 Files--11 On-Disk Structure Level 2。初始化命令也可以初始化磁盘卷为 Files--11 On-Disk Structure Level 1。

对于空白磁盘卷 (即该卷从来没有被写入内容) 或您当前 UIC 或 UIC [0,0] 拥有的磁盘卷,您不需要用特殊特权取代其逻辑保护。在所有其他情况下,必须有用户特权 VOLPRO 才能初始化磁盘卷。

以下例子初始化 DKA300 上的卷,并把该卷标号为 ACCOUNTS:


$ INITIALIZE DKA300: ACCOUNTS

6.7.3 装上卷

在分配了磁盘卷后,需要装上它才能使用它的文件。DCL 命令 MOUNT 使您的进程可存取卷和它包含的文件

输入 MOUNT 命令时,系统验证以下条件:

  • 该设备没有被另一个用户分配。
  • 该设备保护允许您分配设备。
  • 卷已物理上装入在指定设备上。
  • 卷标号匹配指定的标号。

您可以装上单个卷或一个卷集。建立和装上卷集 (与单个卷不同) 的过程在 OpenVMS System Manager's Manual中描述。

MOUNT 命令格式如下所示:


MOUNT device-name[:][,...] [volume-label[,...]] [logical-name[:]]

各元素如下所示:

device-name 指定要装上卷的设备的物理设备名或逻辑名。
volume-label 指定初始化卷的标号。如果使用 MOUNT 限定词以下之一: /FOREIGN、/NOLABEL 或 /OVERRIDE=IDENTIFICATION,则不需要指定卷标。
logical-name 定义与设备关联的名称。如果省略逻辑名,那么 MOUNT 命令分别把默认逻辑名 DISK$volume-label 和 TAPE$volume-label 分配给磁盘和磁带驱动器。

6.7.4 请求操作员协助

操作员可以执行物理装上 (和卸下) 系统和专用卷。如果要使用的卷已经放置在驱动器上,则不需要操作员的协助。

MOUNT 消息发送给所有允许接收 TAPE 和 DISK 消息的操作员。例如,如果装上磁盘设备需要操作员协助,那么一条消息将发送给磁盘管理员。如果没有操作员 (不允许操作员) 接收和响应 MOUNT 请求, 则显示一条消息通知您出现什么情况。您也可以指定 /NOASSIST 限定词避免操作员的协助。

这里展示的 MOUNT 命令通知操作员您的装上请求,并在您的终端上显示一条消息:


$ MOUNT DKA300: DISK VOL1
%MOUNT-I-OPRQST,PLEASE MOUNT DEVICE _MARS$DKA300:

在成功装上设备后,通知您以下消息:


%MOUNT-I-MOUNTED,DISK 已装在 _DKA300:

以下例子展示如何分配、初始化和装上一个磁盘卷:


$ ALLOCATE DKA300:  TEMP
%DCL-I-ALLOC,_MARS$DKA300: 已分配
$ INITIALIZE  TEMP:  BACKUP_FILE
$ MOUNT  TEMP:  BACKUP_FILE
%MOUNT-I-MOUNTED,BACKUP_FILE 已装在 _DKA300:
$ CREATE/DIRECTORY  TEMP:[ARCHIE]

您必须建立一个目录,才可以把任何文件放置在卷上,如 CREATE/DIRECTORY 命令所示。

装上外部磁盘卷

要装上一个外部磁盘卷 (即其文件结构不同于 Files--11),使用 /FOREIGN 限定词。例如:


$ MOUNT/FOREIGN DISK
%MOUNT-I-MOUNTED,BACKUP_FILE      已装在 DISK$DMA2:

MOUNT/FOREIGN 命令使系统可使用您的卷的内容,但没有假定它的文件结构。在前面的例子中,MOUNT 报告一个卷标,指出磁盘具有 Files--11 结构, 尽管它被装上为一个外部设备。如果没有识别出磁盘的文件结构,MOUNT 不显示标号。

注意,您需要有用户特权 VOLPRO 才能使用 /FOREIGN 限定词装上一个 Files--11 结构的磁盘,除非它的拥有者 UIC 匹配于您自己的 UIC。

6.8 存取专用设备上的文件

要存取专用设备的文件,您必须指定这个设备名,或者使用 SET DEFAULT 命令把默认设置到这个设备和目录名。

可以使用物理的、逻辑的或类属名引用设备。另外,如果您的系统是 OpenVMS 簇系统的一部分,某些设备对 OpenVMS 簇系统的所有成员是可存取的。要存取磁带卷集上的文件,指定任何已分配给它的设备。

虽然您可以打印自己专用卷上的文件,但是包含打印文件的卷必须保持装上,直到打印文件完成。

有些命令接受输出文件说明。可以使用面向记录的设备名 (如打印机或终端) 替换输出文件说明。例如:


$ COPY DFILE.DAT TTB4:

该 COPY 命令把文件 DFILE.DAT 发送给命名为 TTB4 的终端。终端每次一条记录地接受和显示文件。把设备名用作一个文件说明时,在设备名后面跟随一个冒号 (:)。

6.8.1 卸下卷

使用完磁盘或磁带卷上的文件时,可用 DISMOUNT 命令卸下这个卷。在卷卸下之前,DISMOUNT 命令检查阻止卸下的条件。例如,如果这个卷包含安装的交换和页文件 、安装的映象或打开的用户文件,那么 DISMOUNT 显示一条出错消息指出不能卸下这个卷。

按照默认,DISMOUNT 命令自动从驱动器卸除卷。如果计划在卸下一个卷后再次装上或将它初始化,那么使用 /NOUNLOAD 限定词可以节省时间并剔除对这个卷的不必要处理。例如:


$  DISMOUNT/NOUNLOAD MTA1:

在这个例子中,磁带卷逻辑卸下并且磁带回卷,但是磁带保持物理装在驱动器 MTA1 上。

在物理地卸除卷之前,您总是应该使用 DISMOUNT 命令明确地卸下卷。在除去卷之前,等待驱动器卸除它。(输入 DCL 命令 SHOW DEVICES,您可以验证已完成卸下。)

如果您注销装上卷的作业,这个卷将被自动卸下并卸除。然而,如果系统失败,这个卷就不会自动卸下。如果卸下 的设备是使用 ALLOCATE 命令分配的,那么在使用 DISMOUNT 命令卸下它后,它仍然保持被分配的状态。如果设备被 MOUNT 命令隐式地分配,那么 DISMOUNT 命令将释放它。


前页 后页 目录 索引