5 管理库、介质和驱动器

本章介绍以下主题:

管理自动化介质库

本节介绍与库维护和管理关联的基本任务:

使库联机和脱机

使库脱机

如果仅需要在一个库上停止 Oracle HSM 运行或需要关闭库的电源,请先按如下所述使库脱机:

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 完成处于活动状态的归档和回写作业并阻止任何新作业启动。请参见使归档和回写进程闲置

  3. 停止驱动器和库活动。请参见停止归档和回写进程

  4. 使库脱机。使用命令 samcmd off library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

    将库置于 off 状态可以停止 I/O 操作,并使该库不再受 Oracle HSM 软件控制。任何尚未关闭电源的驱动器会保持 on 状态。在示例中,使库 800 脱机并使用 samcmd c 检查结果:

    root@solaris:~# samcmd off 800
    root@solaris:~# samcmd c
    Device configuration samcmd     5.4 14:34:04 Mar  7 2014
    samcmd on hsmfs1host
    Device configuration:
    ty   eq state   device_name                        fs   family_set
    sn  800 off     /dev/scsi/changer/c1t2d0           800  lib800
    li  801 on      /dev/rmt/0cbn                      800  lib800
    li  802 on      /dev/rmt/1cbn                      800  lib800
    li  803 on      /dev/rmt/2cbn                      800  lib800
    li  804 on      /dev/rmt/3cbn                      800  lib800
    hy  900 on      historian                          900  
    root@solaris:~# 
    
  5. 准备好后,使磁带库联机

使库联机

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 使库联机。使用命令 samcmd on library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

    库将联机。Oracle HSM 软件查询设备状态并根据需要更新目录。在示例中,使库 800 联机并使用 samcmd c 检查结果:

    root@solaris:~# samcmd on 800
    root@solaris:~# samcmd c
    Device configuration samcmd     5.4 15:04:14 Mar  7 2014
    samcmd on hsmfs1host
    Device configuration:
    ty   eq state   device_name                        fs   family_set
    sn  800 on      /dev/scsi/changer/c1t2d0           800  lib800
    li  801 on      /dev/rmt/0cbn                      800  lib800
    li  802 on      /dev/rmt/1cbn                      800  lib800
    li  803 on      /dev/rmt/2cbn                      800  lib800
    li  804 on      /dev/rmt/3cbn                      800  lib800
    hy  900 on      historian                          900  
    root@solaris:~# 
    
  3. 在此处停止。

导入和导出可移除介质

许多自动化库都包括一个装卸托架,以便可以在身体不进入库的情况下添加或移除介质磁带。该托架可能称为邮箱、邮槽、介质存取口 (media access port, MAP) 或磁带存取口 (cartridge access port, CAP),具体取决于供应商。对于该类型的库,可以使用 Oracle HSM 命令执行以下任务:

如果您的库包括邮箱,请查阅库供应商提供的文档以及您的本地站点策略,以获取有关添加和移除库介质的说明。当库在更改后重新初始化以及审计其内容时,Oracle HSM 软件将自动更新其库和历史记录目录。

导入可移除介质磁带

如果在 Oracle HSM 软件启动时库邮箱中包含介质磁带,该软件会自动将其装入库中。在软件运行后,您随时可以使用以下过程从邮箱导入介质:

  1. 根据库供应商的说明将介质磁带置于邮箱中。

  2. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  3. 将磁带导入自动化库中。使用命令 samimport library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中为库指定的设备序号。

    Oracle HSM 软件会将介质分配给存储插槽并记录其位置。在示例中,将介质导入库 800 中。

    root@solaris:~# samimport 800
    
  4. 在此处停止。

导出可移除介质磁带

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 如果需要,在导出磁带之前,向磁带的目录记录中添加一条信息性备注。使用命令 chmed -I "note" identifier,其中 note 是最多包含 128 个字符的字符串,identifier 是以下项之一:

    • mediatype.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的六字符字母数字字符串。

    • library-equipment-number:slot,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号,slot 是磁带在磁带库内所处的插槽地址。

    在导出卷后,备注将保留在历史记录目录中。在示例中,向 LTO (li) 磁带 VOL054 的目录条目添加了一条备注:

    root@solaris:~# chmed -I "To vault 20150411" li.VOL054
    
  3. 要将磁带从指定的存储插槽移至邮箱,请使用命令 samexport library-equipment-number:slot,其中 library-equipment-number 是为 /etc/opt/SUNWsamfs/mcf 文件中的自动化磁带库指定的设备序号,slot 是磁带在磁带库中所处的插槽地址。

    在示例中,导出了位于磁带库 800 的插槽 11 中的磁带:

    root@solaris:~# samexport 800:11
    
  4. 要将指定的磁带移动到邮箱,请使用命令 samexport mediatype.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

    Oracle HSM 软件会将磁带添加到由 Oracle HSM historian(历史记录)维护的目录中。在示例中,导出了 LTO (li) 磁带 VOL109

    root@solaris:~# samexport li.VOL109
    
  5. 根据库供应商的说明从邮箱中移除介质磁带。

  6. 在此处停止。

维护库目录

Oracle Hierarchical Storage Manager 库目录是自动化库及其内容在软件中的内部表示形式。如果自动化库采用直接连接方式,则 Oracle HSM 软件对库及其内容具有完全控制权限。相应地,库目录的条目是物理库中插槽的一对一表示。如果自动化库是网络连接的,则 Oracle HSM 仅访问库软件以虚拟库或库分区形式提供的那部分库。因此,Oracle HSM 库目录的条目仅反映部分库的内容。

本节介绍以下任务:

查看库目录

  1. 要查看最常用的库目录信息,请使用命令 samcmd v library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

    在示例中,显示库 800 的目录

    root@solaris:~# samcmd v 800
    Robot catalog samcmd     5.4    16:45:25 Mar 14 2014
    samcmd on samqfshost                         count 32
    Robot VSN catalog by slot       : eq 800
    slot          access time count use  flags         ty vsn
       0     2014/03/14 11:23  875   0%  -il-o-b-----  li VOL001 
       1     2014/03/13 17:54  866   0%  -il-o-b-----  li VOL002 
       2     2014/03/14 11:26    3   0%  -il-o-b-----  li VOL003 
       3     2014/03/14 10:33    3   0%  -il-o-b-----  li VOL004 
       4     2014/03/14 11:34    5   0%  -il-o-b-----  li VOL005 
       5     2014/03/14 11:32    2   0%  -ilEo-b----f  li VOL006 MEDIA ERROR
       6     2014/03/13 18:07    2   0%  -il-o-b-----  li VOL007 
       7     2014/03/13 18:07    1   0%  -il-o-b-----  li VOL008 
       8     2014/03/13 18:07    1   0%  -il-o-b-----  li VOL009 
    ...
      18     2014/03/13 18:16    1   0%  -il-o-b-----  li VOL019 
      19     none               50   0%  -il-oCb-----  li CLN020 
    
  2. 要使用 samcmd v 显示结果来确定卷的状态,请检查 flags 列中的条目并参考以下列表:

    • A 表示插槽需要审计。

    • C 表示插槽中有清洗磁带。

    • E 表示卷损坏或清洗介质已过期。

    • L 表示卷是 Linear Tape File System (LTFS) 卷。

    • N 表示卷是外部介质(而非 Oracle HSM 格式)。

    • R 表示卷只读(软件标志)。

    • U 表示卷不可用。

    • W 表示卷处于物理写保护状态。

    • X 表示插槽是导出插槽。

    • b 表示卷有条形码。

    • c 表示卷可回收。

    • f 表示归档程序发现卷已满或已损坏。

    • d 表示卷有重复的卷序列号 (volume serial number, VSN)。

    • l 表示卷有标签。

    • o 表示插槽已占用。

    • p 表示卷是高优先级卷。

    • - 表示对应的标志未设置。

  3. 要使用 samcmd v 显示结果来识别用于卷的介质类型,请参考 ty 列并查找附录 Amcf 手册页中所示的代码。

  4. 要列出目录中的所有信息,请使用命令 dump_cat catalog-path-name,其中 catalog-path-name 是目录文件的路径和文件名,如 /etc/opt/SUNWsamfs/mcf 文件中所指定。

    在示例中,转储目录文件 catalog/800_cat

    root@solaris:~# dump_cat catalog/800_cat
    # audit_time Wed Dec 31 17:00:00 1969
    # version 530  count 32 mediatype 
    #Index VSN    Barcode  Type PTOC  Access Capacity ...  LVTime LVPos
    #
     0     S00001 S00001L4 li   0x747    875   512000 ...       0   0x3
     1     S00002 S00002L4 li   0x5db    866   512000 ...       0   0x3
    13     S00014 S00014L4 li       0      4   512000 ...       0   0
    17     S00018 S00018L4 li       0      1   512000 ...       0   0
    18     S00003 S00003L4 li       0      3   512000 ...       0   0
    
  5. 在此处停止。

审计库插槽的内容

要使用所报告的可移除介质卷上剩余的空间更新库目录,请审计库插槽。使用命令 auditslot

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 要审计指定的磁带卷,请跳到 EOD(end of data,数据末尾),并使用命令 auditslot -e library-equipment-number:slot 更新可用空间,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给磁带库的设备序号,slot 是磁带在磁带库内的位置。

    auditslot 命令用于装入包含卷的磁带、读取标签并更新插槽的库目录条目。请注意,一旦开始跳到 EOD 就无法中断此操作,并且在某些情况下可能要花费数小时才能完成。在示例中,审计磁带库 800 中的插槽 11

    root@solaris:~# auditslot -e 800:11
    root@solaris:~# 
    
  3. 要审计指定的光盘卷,请使用命令 auditslot library-equipment-number:slot[:side],其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号,slot 是磁带在库内的位置,side(可选)是双面光盘的指定面。

    在示例中,审计光盘库 700 的插槽 21 中卷的第 1 面:

    root@solaris:~# auditslot 800:21:1
    root@solaris:~# 
    
  4. 在此处停止。

审计整个直接连接的自动化库

执行全面审计时,会将每一个磁带装入驱动器、读取标签并更新库目录。在以下情况下审计库:

  • 在未使用 Oracle HSM 命令的情况下移动了自动化库中的磁带后

  • 库目录可能不可靠时(例如在电源断电后)

  • 在没有配备邮箱的自动化库中添加、移除或移动了磁带时。

要执行完全审计,请使用命令 samcmd audit library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

请注意,完整的审计将花费较长时间,具体取决于包含介质的插槽的数量。

在示例中,审计了磁带库 800

root@solaris:~# audit 800
root@solaris:~# 

从目录中清除介质错误

如果 Oracle HSM 在使用可移除介质磁带时遇到问题,它会在对应的目录条目中设置一个错误标志。介质可能已磨损、损坏或过期(对于清洗介质)。在这些情况下,不应重用介质。但是在访问介质时发生的问题还可能是由驱动器故障引起的,在这种情况下,可以毫无困难地重新使用介质。在后一种情况下,您需要清除磁带的错误标志。

在清除错误标志之前,确保您知道问题的性质。错误标志对于 Oracle HSM 运行和数据安全至关重要。如果磁带确实有故障,则不需要清除此标志。

如果您有把握,则可以清除错误并尝试使用磁带。执行如下操作:

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 检查可移除介质卷的状态。使用命令 samcmd r

    在示例中,samcmd r 命令显示驱动器 801 在 LTO (li) 卷 VOL004 上设置了错误标志。

    root@solaris:~# samcmd r
    Removable media status: all          samcmd 5.4        17:40:11 Mar 13 2014
    ty   eq  status      act  use  state   vsn
    li  801 -E-------r     0   0%  notrdy  VOL004  MEDIA ERROR
            MEDIA ERROR
    li  802  ---------p    0   0%  notrdy
            empty
    li  803  ---------p    0   0%  notrdy
            empty
    li  804  ---------p    0   0%  notrdy
            empty 
    root@solaris:~# 
    
  3. 如果对设置错误标志的驱动器存有疑问,请卸载磁带并清除错误标志。使用命令 samcmd unload drive-number,其中 drive-number 是为 /etc/opt/SUNWsamfs/mcf 文件中的驱动器指定的设备序号。

    在示例中,卸载驱动器 801

    root@solaris:~# samcmd unload 801
    
  4. 要清除指定卷序列号和介质类型的介质错误标志,请使用命令 chmed -E media-type.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的字母数字字符串。

    在示例中,清除了 LTO (li) 卷 VOL004 上的错误标志:

    root@solaris:~# chmed -E li.VOL004
       3:0 li VOL004     Ail---b-----    2.3T    2.3T    0          0 800 4  0 //
    root@solaris:~# 
    
  5. 要为指定的磁带库插槽中的磁带清除介质错误标志,请使用命令 chmed -E library-equipment-number:slot[:disk-side],其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号,slot 是目标卷在磁带库内所处的插槽地址,可选的 disk-side 值(12)指定双面磁光盘的其中一面。

    在示例中,清除了库 800 插槽 31 中的磁带上的错误标志:

    root@solaris:~# chmed -E 800:31
    
  6. 更新库目录以反映更改。使用命令 auditslot -e library-equipment-number:slot[:disk-side]

    在示例中,通过审计库 800 的插槽 31 来更新目录:

    root@solaris:~# auditslot -e 800:31
    root@solaris:~# 
    
  7. 将磁带装入另一个驱动器中,并查看是否还发生错误。使用命令 samcmd load media-type.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的字母数字字符串。

    root@solaris:~# samcmd load li.VOL004
    root@solaris:~# 
    
  8. 重新检查可移除介质卷的状态。使用命令 samcmd r

    root@solaris:~# samcmd r
    Removable media status: all          samcmd 5.4         17:42:10 Mar 13 2014
    ty   eq  status      act  use  state  vsn
    li  801  ---------p    0   0%  notrdy  
            empty
    li  802  --l------r    0   0%  ready   VOL004
            idle
    li  803  ---------p    0   0%  notrdy
            empty
    li  804  ---------p    0   0%  notrdy
            empty 
    root@solaris:~# 
    
  9. 如果在新驱动器上没有再发生错误,则表明磁带没有问题。

  10. 如果错误再次发生,则考虑停用可移除介质卷。

  11. 在此处停止。

管理历史记录目录

Oracle Hierarchical Storage Manager 历史记录是一个伪库,它有一个目录但没有设备。历史记录将不再受 Oracle HSM 直接控制的卷编入目录中。因此,它维护着已从库中导出并发送到异地进行存储的卷的记录,以及手动装入到独立驱动器中的卷的记录。当您从库中导出卷时,Oracle HSM 会自动更新历史记录目录。但是,您还可以使用历史记录通过添加和/或删除记录并附加备注来手动维护记录。通常,与历史记录的交互就像与物理介质库交互一样:

本节概述以下任务:

查看历史记录目录

您可以用与物理库一样的方式查看历史记录目录。使用命令 samcmd v historian-equipment-number,其中 historian-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给历史记录的设备序号。

在示例中,显示设备序号为 900 的历史记录的目录:

root@solaris:~# samcmd v 900
Robot catalog samcmd     5.4    16:45:25 Mar 14 2014
samcmd on samqfshost                         count 32
Robot VSN catalog by slot       : eq 900
slot          access time count use  flags         ty vsn
   0     2014/03/14 11:23  875   0%  -il-o-b-----  li EXT001 
   1     2014/03/13 17:54  866   0%  -il-o-b-----  li EXT002 
在历史记录目录中添加条目

要将条目添加到历史记录目录中,请执行如下操作:

  1. 要在历史记录目录中为指定的卷序列号添加条目,请使用命令 samimport -v volume-serial-number -m mediatype historian-equipment-number,其中:

    • volume-serial-number 是在目录中唯一地标识卷的字母数字字符串。

    • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

    • historian-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给历史记录的设备序号。

    在示例中,在历史记录 900 的目录中为 LTO (li) 卷 EXT003 添加一条记录:

    root@solaris:~# samimport -v EXT003 -m li 900
    ]
    
  2. 要在历史记录目录中为指定条码添加条目,请使用命令 samimport -b barcode -m mediatype historian-equipment-number,其中 barcode 是粘贴在对应的物理磁带上的条码。

    在示例中,在历史记录 900 的目录中为条码为 EXT003L4 的 LTO (li) 卷添加一条记录:

    root@solaris:~# samimport -b EXT003L4 -m li 900
    
  3. 在此处停止。

从历史记录目录中删除条目

要从历史记录目录中删除条目,请使用命令 samexport historian-equipment-number:slot,其中 historian-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给历史记录的设备序号,slot 是记录对应的历史记录插槽地址。

在示例中,从历史库 900 的目录中删除插槽 1 中的卷 EXT002 的记录:

root@solaris:~# samcmd v 900
Robot catalog samcmd     5.4    16:45:25 Mar 14 2014
samcmd on samqfshost                         count 32
Robot VSN catalog by slot       : eq 900
slot          access time count use  flags         ty vsn
   0     2014/03/14 11:23  875   0%  -il-o-b-----  li EXT001 
   1     2014/03/13 17:54  866   0%  -il-o-b-----  li EXT002 
   2     2014/03/13 17:57  866   0%  -il-o-b-----  li EXT003 
root@solaris:~# samexport 900:1
更新历史记录信息

您可以更新历史记录目录条目中的信息字段以指明导出卷的处置或状态发生更改。使用命令 chmed -I "note" identifier,其中 note 是最多包含 128 个字符的字符串,identifier 是以下项之一:

  • mediatype.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的字母数字字符串。或使用命令

  • library-equipment-number:slot,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号,slot 是磁带在磁带库内所处的插槽地址。

在示例中,指明 LTO (li) 磁带 VOL06E 已从保管库调回、成功验证并返回了保管库:

root@solaris:~# chmed -I "validated and revaulted 20150310" li.VOL06A

确定驱动器在库中的安装顺序

如果自动化库包含多个驱动器,则这些驱动器在 mcf 文件中的顺序必须与库控制器看到它们的顺序相同。此顺序可以不同于在主机上看到这些设备的顺序和在主机的 /var/adm/messages 文件中报告这些设备的顺序。因此,只要配置了 Oracle Hierarchical Storage Manager 元数据服务器和数据移动器主机,更改了库或更改了库配置时,就应当执行下面列出的任务来检查驱动器顺序:

为库和 Solaris 主机收集驱动器信息

  1. 查阅库文档。记下如何识别驱动器和目标。如果有本地操作面板,请了解可以如何使用它来确定驱动器顺序。

  2. 如果库上装有一个本地操作面板,请使用它来确定驱动器连接到控制器的顺序。确定每个驱动器的 SCSI 目标标识符或全局名称。

  3. root 用户身份登录到 Solaris 主机。

    root@solaris:~# 
    
  4. 列出 /dev/rmt/ 中的 Solaris 逻辑设备名称,将输出重定向到一个文本文件。

    在示例中,将 /dev/rmt/ 中的列表重定向到 root 用户的主目录中的 device-mappings.txt 文件:

    root@solaris:~# ls -l /dev/rmt/ > /root/device-mappings.txt 
    
  5. 现在,使用特定于您设备的过程将驱动器映射到 Solaris 设备名称:直接连接的磁带库ACSLS 连接的库

将直接连接的库中的驱动器映射到 Solaris 设备名称

针对 /dev/rmt/ 中列出的每个 Solaris 逻辑设备名称和库分配给 Oracle HSM 服务器主机的每个驱动器,执行以下过程:

  1. 如果您尚未登录到 Oracle HSM Solaris 主机,请以 root 用户身份登录。

    root@solaris:~# 
    
  2. 停止所有正在运行的归档过程,以便驱动器未在使用中。请参见使归档和回写进程闲置停止归档和回写进程

  3. 在文本编辑器中,打开在为库和 Solaris 主机收集驱动器信息 过程中创建的设备映射文件。将文件组织成简单的表并保存更改。

    在后续步骤中,您需要参考此信息。在示例中,使用 vi 编辑器从 /dev/rmt/ 列表中删除权限、所有权和日期属性,同时为库设备信息添加标题并预留空间:

    root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
            /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
            /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
            /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
            /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    :w
    
  4. 在库中,确保所有驱动器都是空的。

  5. 将一个磁带装入到磁带库中您尚未映射到 Solaris 逻辑设备名称的第一个驱动器中。

    为了下面示例的需要,将一个 LTO4 磁带装入到 HP Ultrium LTO4 磁带机中。

  6. 如果要映射磁带库中的驱动器,请确定与装入了磁带的驱动器对应的 Solaris /dev/rmt/ 条目。在确定驱动器之前,请运行命令 mt -f /dev/rmt/number status,其中 number 标识 /dev/rmt/ 中的驱动器。

    在示例中,位于 /dev/rmt/0 的驱动器为空,但位于 /dev/rmt/1 的驱动器装有磁带。因此,磁带库标识为驱动器 1 的驱动器对应于 Solaris /dev/rmt/1

    root@solaris:~# mt -f /dev/rmt/0 status
    /dev/rmt/0: no tape loaded or drive offline
    root@solaris:~# mt -f /dev/rmt/1 status
    HP Ultrium LTO 4 tape drive:
       sense key(0x0)= No Additional Sense   residual= 0   retries= 0
       file no= 0   block no= 3
    
  7. 在您在前面的过程中创建的设备映射文件中,找到与装有磁带的 Solaris 设备对应的条目,并在所提供的空间中输入磁带库的设备标识符。然后保存文件。

    在示例中,在 /dev/rmt/1 对应的行的 LIBRARY DEVICE NUMBER 字段中输入 1

    root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
            /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
            /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
            /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    :w
    
  8. 卸载磁带。

  9. 重复该过程,直到设备映射文件中包含了将所有设备映射到 Solaris 逻辑设备名称的条目。然后保存文件并关闭编辑器。

    root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS          SOLARIS 
    DEVICE  LOGICAL          PHYSICAL
    NUMBER  DEVICE           DEVICE
    ------- -------------    -----------------------------------------------------
       2    /dev/rmt/0cbn -> ../../devices/pci@8.../st@w500104f00093c438,0:cbn
       1    /dev/rmt/1cbn -> ../../devices/pci@8.../st@w500104f0008120fe,0:cbn
       3    /dev/rmt/2cbn -> ../../devices/pci@8.../st@w500104f000c086e1,0:cbn
       4    /dev/rmt/3cbn -> ../../devices/pci@8.../st@w500104f000b6d98d,0:cbn
    :wq
    root@solaris:~# 
    
  10. 在此处停止。保留映射文件供以后使用。

将 ACSLS 连接的库中的驱动器映射到 Solaris 设备名称

  1. 如果您尚未登录到 Oracle HSM Solaris 主机,请以 root 用户身份登录。

    root@solaris:~# 
    
  2. 停止所有正在运行的归档过程,以便驱动器未在使用中。请参见使归档和回写进程闲置停止归档和回写进程

  3. 在文本编辑器中,打开在为库和 Solaris 主机收集驱动器信息 过程中创建的设备映射文件。将文件组织成简单的表。

    在后续步骤中,您需要参考此信息。在示例中,使用 vi 编辑器从 /dev/rmt/ 列表中删除权限、所有权和日期属性,同时为库设备信息添加标题并预留空间:

    root@solaris:~# vi /root/device-mappings.txt 
    SOLARIS LOGICAL DEVICE  DEVICE SERIAL NUMBER  ACSLS DEVICE ADDRESS
    ----------------------  --------------------  --------------------------------
    /dev/rmt/0  
    /dev/rmt/1  
    /dev/rmt/2  
    /dev/rmt/3  
    
  4. 针对 /dev/rmt/ 中列出的每个逻辑设备名称,使用命令 luxadm display /dev/rmt/number 显示序列号,其中 number 标识 /dev/rmt/ 中的驱动器。

    在示例中,获取了设备 /dev/rmt/0 的序列号 HU92K00200

    root@solaris:~# luxadm display /dev/rmt/0
    DEVICE PROPERTIES for tape: /dev/rmt/0
    Vendor: HP
    Product ID: Ultrium 4-SCSI
    Revision: G25W
    Serial Num: HU92K00200
    ...
    Path status: Ready
    root@solaris:~# 
    
  5. 然后,使用文本编辑器在 device-mappings.txt 文件的相应行中输入每个设备的序列号。

    在示例中,使用 vi 编辑器在 device-mappings.txt 文件中记录设备 /dev/rmt/0 的序列号:

    root@solaris:~# vi /root/device-mappings.txt 
    SOLARIS LOGICAL DEVICE  DEVICE SERIAL NUMBER  ACSLS DEVICE ADDRESS
    ----------------------  --------------------  --------------------------------
    /dev/rmt/0              HU92K00200
    /dev/rmt/1  
    /dev/rmt/2  
    /dev/rmt/3  
    
  6. 对于映射到 /dev/rmt/ 的每个设备序列号,获取对应的 ACSLS 驱动器地址。使用 ACSLS 命令 display drive * -f serial_num

    在示例中,获取了设备 HU92K00200 (/dev/rmt/0)、HU92K00208 (/dev/rmt/1)、HU92K00339 (/dev/rmt/2)、HU92K00289 (/dev/rmt/3) 的 ACSLS 地址:

     ACSSA> display drive * -f serial_num
     2014-03-29 10:49:12 Display Drive
     Acs Lsm Panel Drive Serial_num
     0   2   10    16    331002031352
     0   2   10    17    HU92K00200
     0   2   10    18    HU92K00208
     0   3   10    10    HU92K00339
     0   3   10    11    HU92K00189
     0   3   10    12    HU92K00289
    root@solaris:~# 
    
  7. 使用文本编辑器在 device-mappings.txt 文件的相应行中输入每个序列号的 ACSLS 地址。保存文件并关闭编辑器。

    在示例中,使用 vi 编辑器在 device-mappings.txt 文件中记录信息:

    root@solaris:~# vi /root/device-mappings.txt 
    SOLARIS LOGICAL DEVICE DEVICE SERIAL NUMBER ACSLS DEVICE ADDRESS
    ---------------------- -------------------- ---------------------------------
    /dev/rmt/0             HU92K00200           (acs=0, lsm=2, panel=10, drive=17)
    /dev/rmt/1             HU92K00208           (acs=0, lsm=2, panel=10, drive=18)
    /dev/rmt/2             HU92K00339           (acs=0, lsm=2, panel=10, drive=10)
    /dev/rmt/3             HU92K00289           (acs=0, lsm=2, panel=10, drive=12)
    :wq
    root@solaris:~# 
    
  8. 在此处停止。保留映射文件供以后使用。

管理驱动器

您可以从 Oracle HSM 界面执行各种驱动器管理任务,包括以下任务:

装入和卸载驱动器

当可移除介质存储在自动化库中时,文件系统归档和回写进程会根据需要自动将磁带装入驱动器中。但是,您还可以在管理可移除介质文件、备份 Oracle HSM 配置或恢复文件系统时按需装入磁带。本节介绍以下主题:

装入和卸载安装在自动化库中的驱动器

从指定的库位置装入驱动器

使用命令 samcmd load library-equipment-number:slot[:disk-side],其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号,slot 是目标卷在磁带库内所处的插槽地址,可选的 disk-side 值(12)指定双面磁光盘的其中一面。

磁带将装入到库中下一个可用的驱动器中。在示例中,将盒式磁带装入到磁带库 800 的插槽 11 中:

root@solaris:~# samcmd load 800:11
使用指定的介质类型和卷序列号装入驱动器

使用命令 samcmd load mediatype.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的字母数字字符串。

磁带将装入到库中下一个可用的驱动器中。在示例中,装入 LTO (li) 磁带 VOL109

root@solaris:~# samcmd load li.VOL109
卸载库中的指定驱动器

使用命令 samcmd unload drive-equipment-number,其中 drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

磁带将被卸载,即使驱动器处于 unavail 状态。在示例中,卸载驱动器 801

root@solaris:~# samcmd unload 801]

手动装入和卸载独立驱动器

Oracle HSM 软件将独立的可移除介质驱动器视为具有自己的目录的小型单插槽库。

向独立驱动器中装入磁带

要装入独立驱动器,请按生产商提供的说明将磁带放到驱动器中。Oracle HSM 系统将识别装入的磁带,读取标签并为驱动器更新目录。

从独立驱动器中卸载磁带

要卸载独立驱动器,请执行如下操作:

  1. 使驱动器闲置。使用命令 samcmd idle drive-equipment-number,其中 drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    使驱动器闲置时,Oracle HSM 软件将完成在使用驱动器的任何当前归档进程且不启动任何新进程。

    root@solaris:~# samcmd idle 801
    
  2. 等待 Oracle HSM 完成并将驱动器转换为 off 状态。

    可以使用命令 samcmd r 检查驱动器的状态。

  3. 根据供应商提供的说明移除磁带。

  4. 在此处停止。

必须手动装入卷时通知操作员

如果您在使用独立驱动器,或者将必需的磁带存储在保管库中或存储在库外的某个其他位置,则当 Oracle HSM 软件需要操作员装入非驻留磁带时,它可以向指定的地址发送电子邮件。要启用此功能,请遵循以下过程:

启用装入通知
  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 将文件 load_notify.sh 从目录 /opt/SUNWsamfs/examples/ 复制到目录 /etc/opt/SUNWsamfs/scripts/

    请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义:

    root@solaris:~# cp /opt/SUNWsamfs/examples/load_notify.sh \
    /etc/opt/SUNWsamfs/scripts/
    root@solaris:~# 
    
  3. 在文本编辑器中打开文件 /etc/opt/SUNWsamfs/defaults.conf。搜索指令 exported_media。根据需要,取消注释该行或添加该行,并将其值设置为 exported_media=available

    在示例中,使用 vi 编辑器:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...  
    exported_media=available
    
  4. 在文件 /etc/opt/SUNWsamfs/defaults.conf 中,搜索指令 attended。如有必要,取消注释该行或添加该行。将其值设置为 attended=yes。保存文件并关闭编辑器。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. ...  
    # These are the defaults. ...  
    exported_media=available
    attended=yes
    :wq
    root@solaris:~# 
    
  5. 在文本编辑器中打开文件 /etc/opt/SUNWsamfs/scripts/load_notify.sh。找到通知电子邮件的默认收件人 root

    root@solaris:~# vi /etc/opt/SUNWsamfs/scripts/load_notify.sh
    #       Notify operator to load volume.
    ...
    # Change the email address on the following line to send email to
    # the appropriate recipient.
    /bin/ppriv -s I=basic -e /usr/bin/mailx -s "SAM-FS needs VSN $5" root <<EOF
    ...
    
  6. 在文件 /etc/opt/SUNWsamfs/scripts/load_notify.sh 中,将通知电子邮件的收件人从默认收件人 root 更改为负责非驻留卷的操作员的电子邮件地址。保存文件并关闭编辑器。

    在示例中,将收件人更改为 tapetech

    #       Notify operator to load volume.
    ...
    /bin/ppriv -s I=basic -e /usr/bin/mailx -s "SAM-FS needs VSN $5" tapetech <<EOF
    ...
    :wq
    root@solaris:~# 
    
  7. 重新初始化 Oracle HSM 软件。使用 sam-fsd 命令。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    root@solaris:~# sam-fsd
    
  8. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置文件系统和硬件。使用命令 samd config

    root@solaris:~# samd config
    
  9. 在此处停止。

清洗磁带机

现代的 Oracle StorageTek T10000D 和线性磁带开放格式 (Linear Tape Open, LTO) 磁带机可以自我监视并根据需要请求清洗。Oracle Hierarchical Storage Manager 软件接受这些请求并在需要时自动装入清洗磁带。因此,在大多数情况下,您只需确保磁带库中包含足够的、Oracle HSM 能够找到的清洗磁带。

当驱动器请求的清洗不可行时,可以手动启动清洗。但是,请注意:大多数生产商强烈反对在驱动器未发出请求的情况下进行例行清洗。清洗磁带有磨损。过度使用可能会损坏驱动器和介质。因此,请谨慎行事并遵循生产商的建议。

本节的其余部分提供以下任务的说明:

提供足够的清洗磁带

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 如果您打算配置自动清洗(建议配置)并且您的磁带库具有两个以上驱动器,请确保为列出了磁带库中磁带的每个文件系统目录至少提供两个清洗磁带。

    如果当驱动器需要清洗时没有清洗磁带可用,则 Oracle HSM 软件会将驱动器状态设置为 down,直到清洗完成。

  3. 将清洗磁带置于库中转槽(也称为磁带存取口)中。

  4. 将清洗磁带导入自动化磁带库中。使用命令 samimport library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

    在本示例中,我们将清洗磁带置于库 800 的中转槽中并将其导入库:

    root@solaris:~# samimport 800
    
  5. 如果清洗磁带标签为 CLEAN 或者以字母 CLN 开头,请在此处停止。

    Oracle HSM 软件将识别清洗磁带并将其从邮箱移动到存储插槽中。Oracle HSM 将更新磁带库目录,设置清洗介质标志,并将访问计数设置为介质类型建议的最大清洗次数(每使用磁带清洗一次驱动器,此计数便减少一次)。

  6. 如果磁带没有标签,请将其标记为清洗介质。使用命令 chmed +C library-equipment-number:slot,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号,slot 是清洗磁带在库内的位置。

    在示例中,在磁带库 800 的插槽 31 中的磁带上设置 C(清洗介质)标志。

    root@solaris:~# chmed +C 800:31
    
  7. 将访问计数设置为介质类型建议的最大清洗次数。使用命令 chmed -count cleanings library-equipment-number:slot,其中:

    • cleanings 是制造商建议的每个磁带的最大清洗次数。

    • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

    • slot 是清洗磁带在磁带库内的位置。

    每使用磁带清洗一次驱动器,清洗计数便减少一次。在示例中,将计数设置为最大清洗次数 50,这是针对磁带库 800 中使用的 LTO(li 类型)清洗磁带建议的最大次数:

    root@solaris:~# chmed -count 50 800:31
    
  8. 接着,启用自动化磁带机清洗(建议配置)或在此处停止。

启用自动化磁带机清洗(建议配置)

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 如果磁带库中包含您希望使用的自动清洗功能,请根据磁带库制造商的建议配置该功能。在此处停止。

    现在,当驱动器请求清洗时,磁带库将自动提供所需的清洗介质。

  3. 如果磁带库中包含您希望使用的自动清洗功能,请根据制造商的建议禁用该功能。

  4. 在文本编辑器中打开文件 /etc/opt/SUNWsamfs/defaults.conf,然后启用 Oracle HSM 自动清洗。添加行 tapeclean = all autoclean on logsense on。然后保存文件并关闭编辑器。

    在示例中,使用 vi 编辑器:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. ...  
    #sef = all on once
    ...
    tapeclean = all autoclean on logsense on
    :wq
    root@solaris:~# 
    
  5. 重新初始化 Oracle HSM 软件。使用 sam-fsd 命令。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    root@solaris:~# sam-fsd
    
  6. 指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置文件系统和硬件。使用命令 samd config

    root@solaris:~# samd config
    
  7. 在此处停止。

手动清洗磁带机

  1. 在继续操作之前,请查看驱动器生产商提供的手动清洗指南。

    请谨慎行事。过于频繁的清洗是驱动器损坏的常见原因。许多制造商现在强烈反对进行例行或调度的清洗。因此,请确保您了解驱动器何时需要清洗。

  2. 监视设备日志以查找表明驱动器需要清洗的征兆。在 /var/opt/SUNWsamfs/devlog/ 目录中针对每个 drive-equipment-number 都有一个日志,其中 drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给磁带库的设备序号。

  3. 监视系统日志文件 /var/adm/messages 以了解设备错误。

  4. 清洗磁带机。使用命令 cleandrive drive-equipment-number

    在示例中,清洗驱动器 802

    root@solaris:~# cleandrive 802
    
  5. 在此处停止。

使用具备加密功能的驱动器

如果要将文件归档到具有加密功能的驱动器,请在规划归档操作时考虑以下几点:

  • 请勿在库中混用具备加密功能的驱动器和不具备加密功能的驱动器。

  • 驱动器启用了加密之后,便无法禁用加密。

  • 请勿在磁带卷上混用加密和非加密文件。

  • 具备加密功能的驱动器无法将加密的文件附加到包含非加密数据的磁带卷。

  • 具有加密功能的驱动器可以读取非加密数据。

有关详细信息,请查阅驱动器和加密密钥管理系统的相关文档。

处理驱动器问题

通常,您需要根据供应商的建议来处理驱动器问题。但可能需要首先执行以下一个或两个任务,然后才可以开始驱动器维护、故障排除或修复:

使驱动器脱机以进行维护或修复

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 停止归档和回写进程,如使归档和回写进程闲置中所述。

  3. 停止归档和回写进程,然后使驱动器脱机。使用停止归档和回写进程 过程。

  4. 执行供应商指定的维护、诊断或修复过程。

    例如,在尝试移除卡住的磁带时,请务必查看供应商的建议。采用不当的方法移除卡住的磁带可能会损坏磁带和驱动器。

  5. 驱动器重新运行后,使磁带库和驱动器联机,然后重新启动归档和回写进程。使用重新启动归档和回写进程 过程。

  6. 在此处停止。

在解决驱动器问题后将介质返回到库中

如果驱动器因为装入到其中的介质而发生问题,则在修复过程中您可能需要手动移除介质。这可能会导致目录不一致。因此,请遵循以下相应过程:

将介质返回尚未执行自动审计的磁带库

在进行修复后重新将磁带库和驱动器联机时,要将介质返回未执行自动审计的磁带库,请执行如下操作:

  1. 手动将磁带返回其存储插槽。

    在这种情况下,目录尚未更新,将继续列出磁带库内容中的磁带。因此您通过将磁带重新放入其以前占用的同一插槽来更正差异。

  2. 更新 Oracle HSM 目录以显示该插槽已被重新占用。使用命令 chmed library-equipment-number:slot,其中 slot 是插槽在库内的地址。

    在示例中,更新库 800 的插槽 42 的状态:

    root@solaris:~# chmed +o 800:42
    root@solaris:~# 
    
  3. 在此处停止。

自动审计后将介质返回磁带库

如果当在修复操作后重新将库和驱动器联机时库执行自动审计,请执行如下操作:

  1. 将磁带放置在库中转槽中。

  2. 将磁带导入库中。使用命令 samimport library-equipment-number

    在这种情况下,审计已对目录进行了协调,因此目录不再将该磁带列在库中。因此,导入磁带会同时将其添加到库和 Oracle HSM 目录中。在示例中,将磁带置于库 800 的邮槽中并将其导入库中。

    root@solaris:~# samimport 800
    
  3. 在此处停止。

管理可移除介质

本节介绍以下主题:

为可移除介质设置标签

注意:

为磁带设置标签或重新设置标签会导致磁带中的数据永久不可访问。只有当您确定不再需要磁带中存储的数据时,才应为磁带重新设置标签。

设置标签进程会在记录介质上写入标识信息,并进行初始化以供使用(有关完整信息,请参见 ANSI X3.27-1987 File Structure and Labeling of Magnetic Tapes for Information Interchange(用于信息交换的磁带的文件结构和标签设置))。

需要为介质设置标签时,请选择以下相应过程:

基于条码生成标签

要使用磁带上的条形码所派生的卷序列号 (volume serial number, VSN) 自动为已启用写入的无标签磁带设置标签,请执行如下操作。

  1. 确保所有条形码均可读。

  2. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  3. 在文本编辑器中打开 /etc/opt/SUNWsamfs/defaults.conf 文件。

    在示例中,使用 vi 编辑器查看该文件:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...
    
  4. 如果需要通过相应条形码中的前六个字符生成卷序列号 (volume serial number, VSN),请首先查看是否已将 Oracle HSM 设置为默认值 barcodes。在 defaults.conf 文件中,找到 labels 指令行(如果存在)。如果 labels 指令设置为 barcodes、已注释掉或在文件中不存在,则将 Oracle HSM 设置为默认值 barcodes

    在本示例中,defaults.conf 文件包含行 #labels = barcodes

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...
    #labels = barcodes
    root@solaris:~# 
    
  5. 如果需要通过相应条形码中的前六个字符生成卷序列号 (volume serial number, VSN) 并且已将 Oracle HSM 设置为默认值,则关闭 defaults.conf 文件,而不进行任何更改。在此处停止。

    labels 指令设置为 barcodes 时,软件会通过相应条形码中的前六个字符自动生成所需的卷序列号 (volume serial number, VSN)。在本示例中,Oracle HSM 使用默认设置。因此我们关闭 vi 编辑器,而不保存文件:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...
    #labels = barcodes
    :q
    root@solaris:~# 
    
  6. 否则,如果需要通过相应条形码中的前六个字符生成卷序列号 (volume serial number, VSN),则输入 labels = barcodes,注释掉非默认指令,或删除非默认指令即可。然后保存文件并关闭编辑器。

    在本示例中,已将指令设置为非默认值 barcodes_low。因此我们注释掉非默认行。我们插入行 labels = barcodes。保存修改后的文件并关闭编辑器:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...
    #labels = barcodes_low
    labels = barcodes
    :q
    root@solaris:~# 
    
  7. 如果需要通过磁带条形码的后六个字符生成卷序列号 (volume serial number, VSN),请将 labels 参数的值设置为 barcodes_low。保存文件并关闭编辑器。

    在本示例中,我们插入行 labels = barcodes_low,保存文件,然后关闭编辑器:

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults. 
    ...
    labels = barcodes_low
    :wq
    root@solaris:~# 
    
  8. 如果您编辑了 defaults.conf 文件,请运行 sam-fsd 命令。

    sam-fsd 是一个读取 Oracle HSM 配置文件的初始化命令。该命令会在遇到以下错误时停止:

    root@solaris:~# sam-fsd
    
  9. 如果您编辑了 defaults.conf 文件,请指示 Oracle HSM 软件重新读取 mcf 文件并相应地重新配置自身。使用命令 samd config

    [metadata-server]root@solaris:~# samd config
    
  10. 在此处停止。

为新磁带设置标签或者为现有磁带重新设置标签

注意:

为磁带设置标签或重新设置标签会导致磁带中的数据永久不可访问。只有当您确定不再需要磁带中存储的数据时,才应为磁带重新设置标签。
  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 要为已装入到驱动器中的新磁带设置标签,请使用命令 tplabel -new volume-serial-number drive-equipment-number,其中:

    • volume-serial-number 是所需的卷序列号。

    • drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    在示例中,将卷序列号 VOL600 分配给驱动器 803 中的新磁带:

    root@solaris:~# tplabel -new -vsn VOL600 803
    root@solaris:~# 
    
  3. 要为位于自动化介质库中的新磁带设置标签,请使用命令 tplabel -new volume-serial-number library-equipment-number:slot,其中:

    • volume-serial-number 是所需的卷序列号。

    • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    • slot 是磁带在磁带库内的位置。

    在示例中,将卷序列号 VOL601 分配给磁带库 800 的插槽 19 中的新磁带:

    root@solaris:~# tplabel -new -vsn VOL601 800:19
    root@solaris:~# 
    
  4. 要为装入到驱动器中的磁带重新设置标签,请使用命令 tplabel -old old-volume-serial-number -new new-volume-serial-number drive-equipment-number,其中:

    • volume-serial-number 是所需的卷序列号。

    • drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    在本示例中,我们重新初始化驱动器 804 中的盒式磁带,将旧卷序列号 AZ0001 替换为新卷序列号 VOL120

    root@solaris:~# tplabel -old AZ0001 -vsn VOL120 804
    root@solaris:~# 
    
  5. 要为位于磁带库中的磁带重新设置标签,请使用命令 tplabel -old old-volume-serial-number -new new-volume-serial-number library-equipment-number:slot,其中:

    • volume-serial-number 是所需的卷序列号。

    • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    • slot 是磁带在磁带库内的位置。

    如果需要,您可以重用现有的卷序列号。在本示例中,我们重新初始化库 800 的插槽 23 中的盒式磁带(通过将其重新标记为其现有卷序列号 VOL121):

    root@solaris:~# tplabel -old VOL601 -vsn VOL601 800:23
    root@solaris:~# 
    
  6. 在此处停止。

为新光盘设置标签或为现有光盘重新设置标签

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 要为装入到驱动器中的新光学磁带设置标签,请使用命令 odlabel -new volume-serial-number drive-equipment-number[:side],其中:

    • volume-serial-number 是所需的卷序列号。

    • drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    • side(可选)是双面磁盘的指定面。

    在示例中,将卷序列号 OD1700 分配给驱动器 701 中的新单面光学磁带:

    root@solaris:~# odlabel -new -vsn OD1700 701
    root@solaris:~# 
    
  3. 要为位于自动化介质库中的新光学磁带设置标签,请使用命令 odlabel -new volume-serial-number library-equipment-number:slot[:side],其中:

    • volume-serial-number 是所需的卷序列号。

    • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    • slot 是磁带在磁带库内的位置,side(可选)是双面磁盘的指定面。

    在示例中,将卷序列号 OD1701 分配给库 700 的插槽 42 中的新双面光学磁带的第 2 面。

    root@solaris:~# odlabel -new -vsn OD1701 700:42:2
    root@solaris:~# 
    
  4. 要为装入到驱动器中的光学磁带重新设置标签,请使用命令 odlabel -old old-volume-serial-number -new new-volume-serial-number drive-equipment-number[:side],其中:

    • volume-serial-number 是所需的卷序列号。

    • drive-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

    • side(可选)是双面磁盘的指定面。

    在本示例中,我们重新初始化驱动器 702 中的光学磁带,将旧卷序列号 OD1120 替换为新卷序列号 OD1120

    root@solaris:~# odlabel -old OD0001 -vsn OD1120 702
    root@solaris:~# 
    
  5. 要为位于自动化介质库中的现有光学磁带重新设置标签,请使用命令 odlabel -old volume-serial-number library-equipment-number:slot[:side],其中:

    • volume-serial-number 是所需的卷序列号。

    • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给库的设备序号。

    • side(可选)是双面磁盘的指定面。

    如果需要,您可以重用现有的卷序列号。在本示例中,我们重新初始化库 700 的插槽 23 中的光学磁带(通过将其重新标记为其现有卷序列号 OD1121):

    root@solaris:~# odlabel -old OD1121 -vsn OD1121 800:23
    root@solaris:~# 
    
  6. 在此处停止。

维护数据完整性

为了维护可移除的磁带介质上所存储数据文件的完整性,Oracle Hierarchical Storage Manager 软件既提供了按需工具又提供了自动化工具。本节介绍以下主题:

显示数据完整性验证 (Data Integrity Validation, DIV) 设置和状态

本节介绍以下任务:

显示 DIV 设置

要显示数据完整性验证 (Data Integrity Validation, DIV) 设置,请使用命令 samcmd L 并将输出通过管道发送到 Solaris grep 命令和正则表达式 div

在示例中,DIV 处于 OFF 状态:

root@solaris:~# samcmd L | grep div
div             OFF
root@solaris:~# 
监视归档文件的“写入后验证”状态

要监视归档文件在归档期间的验证状态,请使用 samu 接口。使用命令 samu -d a

root@solaris:~# samu -d a 
Archiver status                         samu 5.4         22:22:31 Mar 4 2014
sam-archiverd: Archiving files
sam-arfind:  hsmfs1 mounted at /hsm/hsmfs1
Files waiting to start     12,576  schedule     26,695  archiving     13,120 
...
sam-arcopy: qfs.arset1.2.344 ti.TKC960
Verifying archive file at position 1175
监视设备的“写入后验证”状态

要监视设备在归档期间的验证状态,请使用 samu 接口。使用命令 samu -d s

root@solaris:~# samu -d s
Device status                        samu 5.4           22:27:53 Mar 4 2014
ty     eq state  device_name                     fs  status
sn    800 on     /dev/scsi/changer/c1t2d0        800 n--------r
ti    801 on     /dev/rmt/0cbn                   800 ---------p
...
hy    805 on     historian                       805 ----------
ti     91 on     /dev/rmt/4cbn                    90 -l----oVr
Verify averaging 240.9 MB/s

检查给定磁带卷的完整性

当需要按需验证特定磁带卷的数据完整性时,请使用 Oracle HSM tpverify 命令。tpverify 命令支持 Oracle T10000C/D、LTO 和其他常用的介质。T10000C/D 介质使用 Oracle 数据完整性验证功能进行验证。其他格式使用广泛支持的 SCSI verify(6) 命令进行检查。

下面各节概述了 tpverify 的一些使用方式。有关语法和选项的完整详细信息,请参见 tpverify 手册页:

验证通过磁带库位置指定的磁带上的数据

使用命令 tpverify library-equipment-number:slot,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号,slot 是目标卷在磁带库内所处的插槽地址。

tpverify 命令通过检查磁带库介质目录来定位之前验证的最后磁带位置。然后,它将磁带装入第一个可用的驱动器并从它最后停止的点开始验证,并使用默认方法检查:对于 T10000C/D 介质,使用 tpverify 标准方法;对于其他介质,使用 SCSI verify(6)。标准方法在速度方面进行了优化,并对 Oracle HSM 介质的边缘、开头、末尾和前 1,000 个块进行验证。

在示例中,使用标准方法验证存储在磁带库 800 的插槽 9 中的 T10000D 磁带:

root@solaris:~# tpverify 800:9
验证通过介质类型和卷序列号指定的磁带上的数据

使用命令 tpverify mediatype.volume-serial-number,其中 mediatype附录 A中列出的两字符介质类型代码之一,volume-serial-number 是在磁带库中唯一地标识卷的字母数字字符串。

tpverify 命令通过检查磁带库介质目录来定位之前验证的最后磁带位置。然后,它将磁带装入第一个可用的驱动器并从它最后停止的点开始验证,并使用默认方法检查:对于 T10000C/D 介质,使用 tpverify 标准方法;对于其他介质,使用 SCSI verify(6)

在示例中,使用 SCSI verify(6) 命令验证 LTO (li) 卷 VOL006

root@solaris:~# tpverify li.VOL006
验证使用指定驱动器的磁带上的数据

使用命令 tpverify library-equipment-number:slot device-equipment-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • device-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给驱动器的设备序号。

在示例中,验证存储在磁带库 800 的插槽 17 中使用驱动器 803 的 T10000D 磁带:

root@solaris:~# tpverify 800:17 803
从磁带开头处重新开始数据验证

使用命令 tpverify -a library-equipment-number:slottpverify -a mediatypevolume-serial-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

-a 选项覆盖默认行为并忽略介质目录中记录的位置,从介质开头处开始验证。

在示例中,从磁带开头处验证 LTO (li) 卷 VOL016

root@solaris:~# tpverify -a li.VOL016
验证 T10000C/D 磁带上所有块的 ECC

使用命令 tpverify -C library-equipment-number:slottpverify -C mediatype.volume-serial-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

tpverify 命令通过检查磁带库介质目录来定位之前验证的最后磁带位置。然后,使用由 -C 选项指定的“完整”(Complete) 方法从最后停止的点开始验证。“完整”方法比标准方法更为全面,但同时也明显更慢。该方法将检查介质上所有块的错误校正代码 (Error Correction Code, ECC)。

在示例中,使用“完整”方法验证 T10000D (ti) 卷 VOL516

root@solaris:~# tpverify -C ti.VOL516
验证 T10000C/D 磁带上所有块的 ECC 和 DIV 校验和

使用命令 tpverify -P library-equipment-number:slottpverify -P mediatype.volume-serial-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

tpverify 命令通过检查磁带库介质目录来定位之前验证的最后磁带位置。然后,使用由 -P 选项指定的“完整加强版”(Complete Plus) 方法从最后停止的点开始验证。“完整加强版”方法十分全面,但也比其他方法更慢。该方法将检查介质上所有块的错误校正代码 (Error Correction Code, ECC) 和数据完整性验证校验和。

在示例中,使用“完整加强版”方法验证 T10000D (ti) 卷 VOL521

root@solaris:~# tpverify -P ti.VOL521
重新构建 T10000C/D 磁带的介质信息区域 (Media Information Region, MIR)

使用命令 tpverify -M library-equipment-number:slottpverify -M mediatype.volume-serial-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

tpverify 命令在 Oracle StorageTek 盒式磁带上重新构建缺少的或已损坏的介质信息区域 (media information region, MIR),即使该磁带在介质目录中标记为错误时也是如此。检测到 MIR 损坏时将自动指定重新构建操作。

在示例中,使用“MIR 重新构建”方法验证 T10000D (ti) 卷 VOL523

root@solaris:~# tpverify -M ti.VOL523
取消指定磁带的数据验证

使用命令 tpverify -c library-equipment-number:slottpverify -c mediatype.volume-serial-number,其中:

  • library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

  • slot 是目标卷在磁带库内所处的插槽地址。

  • mediatype附录 A中列出的由两个字符表示的介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

tpverify -c 命令取消当前验证操作并将磁带上最后验证的位置记录在介质目录中。因此,您可以停止某个验证作业以释放驱动器或卷来进行归档或回写,稍后再从同一个点继续验证。

在示例中,取消 T10000D (ti) 卷 VOL533 的验证:

root@solaris:~# tpverify -c ti.VOL523
显示磁带的 DIV 状态和验证进度

使用命令 itemize -2 library-equipment-number,其中 library-equipment-number/etc/opt/SUNWsamfs/mcf 文件中分配给自动化磁带库的设备序号。

itemize -2 命令将指定磁带库中的介质编入目录并列出每个卷的 DIV 状态和验证进度。

在示例中,显示设备序号为 800 的库中的卷的验证状态。lvtime(最后验证时间)字段显示 tpverify 最后完成磁带的完整验证的时间。status 字段值为 div 表示磁带支持 DIV,值为 none 表示磁带不支持 DIV。lvpos(最后验证位置)字段显示 tpverify 最后在何处取消以及再次运行时将从何处开始。

root@solaris:~# itemize -2 800
Robot VSN catalog: eq: 800       count: 60
slot    access_time  count  use  ty vsn
        lvtime      status          lvpos
   0    Apr  2 16:34     6   0%  ti VOL519
        Apr  2 09:23   div          0
   1    Apr  2 16:17    28  29%  ti VOL510
        Apr  2 16:17   div          0x9bb9
   2    none             0   0%  ti VOL511
        none          none          0
  ...
root@solaris:~# 

监视自动化完整性验证

定期介质验证是 tpverify 命令的自动化形式。本节提供有关可能偶尔需要执行的维护任务的说明。这些任务包括:

有关配置定期介质验证的说明,请参见客户文档库 (http://docs.oracle.com/en/storage/#sw) 中的《Oracle Hierarchical Storage Manager and StorageTek QFS Software 安装和配置指南》。

查看和验证 verifyd.cmd 配置文件

要随时查看 verifyd.cmd 文件或者在编辑后验证该文件,请使用命令 tpverify -x

tpverify -x 命令检查 /etc/opt/SUNWsamfs/verifyd.cmd 文件并指出错误或显示文件的内容。

root@solaris:~# tpverify -x
Reading '/etc/opt/SUNWsamfs/verifyd.cmd'.
PMV: off
     Run-time:
     Start Time: 2200
End Time: 0500
PMV Scan: all
PMV Method: Standard
STA Scan: off
Action: none
PMV VSNs: all
PMV Policy:
     Last Verified Age: 6m
root@solaris:~# 
重新加载 verifyd.cmd 配置文件

要在不停止验证过程的情况下重新加载 verifyd.cmd 文件,请使用命令 tpverify -r

root@solaris:~# tpverify -r
root@solaris:~# 
显示所有定期介质验证磁带缺陷数据库中列出的缺陷

要列出定期介质验证已查明并存储在磁带缺陷数据库中的所有缺陷,请使用命令 tpverify -l

在示例中,数据库中没有缺陷:

root@solaris:~# tpverify -l
No defects found.
root@solaris:~# 
显示针对特定卷列出的缺陷

要列出已在特定卷上确定的所有缺陷,请使用命令 tpverify -l mediatype.volume-serial-number,其中:

  • mediatype(可选)是附录 A中列出的两字符介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

在示例中,数据库中没有针对 LTO (ti) 卷 VOL514 列出的缺陷:

root@solaris:~# tpverify -l ti.VOL514
No defects found.
root@solaris:~# 
清除定期介质验证磁带缺陷数据库中列出的缺陷

要从磁带缺陷数据库中删除定期介质验证已查明的所有缺陷,请使用命令 tpverify -d

要删除针对特定卷列出的所有缺陷,请使用命令 tpverify -d mediatype.volume-serial-number,其中:

  • mediatype(可选)是附录 A中列出的两字符介质类型代码之一。

  • volume-serial-number 是在库中唯一地标识卷的字母数字字符串。

root@solaris:~# tpverify -d
root@solaris:~# tpverify -d ti.VOL514
root@solaris:~#