3 配置存储主机和设备

在执行 Oracle HSM 安装和配置之前,请先执行本章概述的存储配置任务。本章概述了以下主题:

配置主要存储

在 Oracle HSM 文件系统中,主要磁盘或固态磁盘设备用于存储目前使用和修改的文件。请按照以下准则为高速缓存配置磁盘或固态磁盘设备。

为主要高速缓存配置设备

  1. 要估算主高速缓存的起始容量,请确定每个文件系统在填满时会存储多少数据。

  2. 将该起始容量增加 10% 以便为文件系统元数据留出空间。

  3. 如果您正在为高性能 ma 类型文件系统做准备,请为 mm 元数据设备配置硬件。理想情况是为每个 mm 元数据设备配置一个硬件控制的四磁盘 RAID 10 (1+0) 卷组。为实现最高性能,请考虑使用固态磁盘设备。

    条带镜像 RAID 10 阵列的特征适合存储 Oracle HSM 元数据。RAID 10 存储硬件高度冗余,因此关键元数据将得到保护。与大多数其他 RAID 配置相比,吞吐量更高且延迟更低。

    与由使用共享的通用处理器运行的软件所控制的阵列相比,由专用控制器硬件所控制的阵列通常可提供更高性能。

    固态设备特别适合存储本质上会频繁更新并被频繁读取的元数据。

  4. 如果您使用外部磁盘阵列进行主要高速缓存存储,请为文件系统配置中的每台 mdmr 设备配置 3+1 或 4+1 RAID 5 卷组。在每个卷组上配置一个逻辑卷 (LUN)。

    对于给定数量的磁盘,较小的 3+1 和 4+1 RAID 5 卷组比较大的卷组提供的并行性很好,因此可提供更高的输入/输出 (input/output, I/O) 性能。RAID 5 卷组中的各个磁盘设备不会独立操作-从 I/O 角度看,每个卷组就像一台设备一样操作。因此,与等效的较大配置相比,将给定数量的磁盘划分为 3+1 和 4+1 卷组可产生更独立的设备、更好的并行性和更少的 I/O 争用。

    由于奇偶校验与存储的比率较高,较小的 RAID 组的容量也较低。但是,对于大多数用户而言,性能的提高足以抵消这点。在归档文件系统中,磁盘高速缓存容量的小幅降低通常会被归档中相对而言无限的可用容量所完全抵消。

    在一个卷组上配置多个逻辑卷 (LUN) 会使逻辑上分离的卷的 I/O 争用一次只能为一个 I/O 服务的一组资源。这会增加 I/O 相关系统开销并降低吞吐量。

  5. 接下来,开始配置归档存储

配置归档存储

执行以下任务:

对 SAN 连接的设备进行区域划分

确保对存储区域网络 (storage area network, SAN) 进行区域划分,以便可以在驱动器与 Oracle HSM 主机上的主机总线适配器之间进行通信。要检查区域划分,请执行如下操作:

对 Oracle HSM 配置中的所有设备正确进行区域划分

  1. 确保主机可以发现 SAN 上的设备。输入 Solaris 配置管理命令 cfgadm 以及 -al挂接点列表)和 -o show_SCSI_LUN 选项。检查驱动器端口的全局名称 (World Wide Name, WWN) 的输出。

    输出的第一列显示挂接点 ID (Ap_id),其中包括主机总线适配器的控制器编号和 WWN(以冒号分隔)。如果节点是通过 ADI 接口控制介质转换器的桥接驱动器,-o show_SCSI_LUN 选项会显示节点上的所有 LUN。

    root@solaris:~# cfgadm -al -o show_SCSI_LUN
    Ap_Id     Type Receptacle Occupant   Condition
    c2::500104f000937528   tape connected  configured   unknown
    c3::50060160082006e2,0 tape connected  unconfigured unknown
    
  2. 如果驱动器的 WWN 未列在 cfgadm -al -o show_SCSI_LUN 的输出中,则表明驱动器不可见。SAN 配置出现错误。因此,请再次检查 SAN 连接和区域划分配置。然后重复上述步骤。

  3. 如果 cfgadm -al 命令的输出表明某驱动器未配置,请再次运行该命令,但这次使用 -c配置)开关。

    该命令会在 /dev/rmt 中生成必要的设备文件:

    root@solaris:~# cfgadm -al
    Ap_Id     Type Receptacle Occupant   Condition
    c2::500104f000937528   tape connected  configured   unknown
    c3::50060160082006e2,0 tape connected  unconfigured unknown
    root@solaris:~# cfgadm -c configure 50060160082006e2,0 
    
  4. 验证设备名称与全局名称之间的关联。使用命令 ls -al /dev/rmt | grep WWN,其中 WWN 是全局名称。

    root@solaris:~# ls -al /dev/rmt | grep 50060160082006e2,0
    lrwxrwxrwx 1 root root 94 May 20 05:05 3un -> \
    ../../devices/pci@1f,700000/SUNW,qlc@2/fp@0,0/st@w50060160082006e2,0:
    
  5. 如果您具有建议的最低 Solaris 修补程序级别,请现在配置磁盘存储

  6. 否则,请获取您设备的目标 ID。

  7. 编辑 /kernel/drv/st.conf。在 tape-config-list 中添加供应商指定的条目,以指定上面所确定的目标 ID。

  8. 强制重新装入 st 模块。使用命令 update_drv -f st

    root@solaris:~# update_drv -f st
    root@solaris:~# 
    
  9. 接下来,配置磁盘存储

配置归档磁盘存储

Oracle HSM 归档文件系统可以将文件归档到磁盘以及磁带介质。磁盘文件系统配置为磁盘归档时,软件使用该文件系统有些类似于使用盒式磁带。它按卷序列号 (volume serial number, VSN) 处理文件系统并将文件副本存储在磁带归档 (tar) 文件中。

基于磁盘的归档存储可以提高归档解决方案的灵活性和冗余。随机访问磁盘设备不会引发与顺序磁盘设备关联的挂载和定位开销。所以,当归档和检索大量小文件的解决方案在磁盘上存储每个文件的第一个副本时,可以更快速且可靠地执行此操作。必须在异地介质上维护副本的归档解决方案可以经常执行此操作,只需要将副本写入远程主机上已挂载 NFS 的磁盘驻留文件系统。

通过将远程主机的有限本地磁盘空间用作基本上无限量的、基于云的存储的前端高速缓存,Oracle Storage Cloud Software Appliance (OSCSA) 可以进一步扩展此类已挂载 NFS 的归档存储的实用性。该设备包含随网络文件系统版本 4 (Network File System version 4, NFSv4) 配置的 Oracle Linux 7(或更高版本)主机、开源 Docker Engine 1.6(或更高版本)容器管理软件以及 Oracle Storage Cloud Software Appliance Docker 映像。

如果您计划使用归档磁盘存储,请首先确定所需的总容量、归档卷数以及文件系统数。然后,如果您计划在 Oracle 存储云中配置归档磁盘存储,请置备所需的 Oracle Storage Cloud Software Appliances

确定容量、卷和文件系统要求

计划足够的硬件资源来处理预期的工作负荷。如果并发的 Oracle HSM 归档和回写操作必须互相竞争或者与相同物理设备集的其他应用程序竞争,则会降低性能。因此,请遵循下面列出的准则。

  1. 每个 Oracle HSM 操作以及每 10 到 20 TB 的归档数据允许使用一个磁盘卷(磁盘或 RAID 组)。

    如果磁盘卷是磁盘设备池的动态分配的存储,则设置配额。确保未超额订阅底层物理存储。

  2. 每个磁盘卷允许一个文件系统。

    请勿在位于相同物理驱动器或 RAID 组上的 LUN 上配置两个或更多个文件系统。

  3. 计划将每个文件系统用作单个磁盘归档。

    请勿将子目录用作单独的归档卷。

  4. 计划将每个文件系统直接用于归档。

    请勿将通用文件系统用作磁盘归档。

  5. 接下来,创建将用作已挂载 NFS 的磁盘归档的任何远程文件系统。

创建远程文件系统以用作已挂载 NFS 的磁盘归档

  1. 创建要用作磁盘归档的任何远程文件系统。

    创建新的专用文件系统。请勿使用必须与其他应用程序共享的现有通用文件系统。

    请注意,稍后您配置 Oracle HSM 服务器时,将创建在本地挂载的磁盘归档文件系统。

  2. 如果您计划将 Oracle Storage Cloud 用作磁盘归档解决方案的一部分,则现在配置 Oracle Storage Cloud Software Appliance 主机

  3. 否则,配置归档磁带存储

配置 Oracle Storage Cloud Software Appliance 主机

  1. Oracle Cloud > Public > Infrastructure > Storage > Storage Cloud Software Appliance (http://docs.oracle.com/cloud/latest/storagecs_common/CSSGU/) 下载最新的 OSCSA 文档。

    为方便起见,此过程汇总了配置过程和系统要求。但是,请始终参考 OSCSA 产品文档和 README 文件以了解完整的最新信息。

  2. 请联系您的 Oracle 销售团队。购买 Oracle Storage Cloud Service 订阅并请求 Oracle Storage Cloud Software Appliance 映像。

  3. 对于每个设备主机,提供通用 x86 服务器,该服务器至少具有两个双核中央处理器 (central processor, CPU) 和 4 GB 随机存取存储器 (random access memory, RAM)。

  4. 在每个 OSCSA 主机上安装 Oracle Linux 7(内核版本 3.10 或更高版本)。

    可以从 Oracle Software Delivery Cloud (https://edelivery.oracle.com/) 获取 Oracle Linux。

  5. 在每个 OSCSA 主机上安装 Docker 1.6.1 或更高版本。

    Docker 是软件容器的开源分布平台。可以从 Docker (https://www.docker.com) 获取 Docker。

  6. 在每个 OSCSA 主机上安装网络文件系统版本 4 (Network File System version 4, NFSv4) 服务。

    Oracle HSM 主机使用 NFSv4 来远程挂载构成 OSCSA 前端高速缓存的 Linux 文件系统。

  7. 根据 OSCSA 文档 Using Oracle Storage Cloud Software Appliance (http://docs.oracle.com/cloud/latest/storagecs_common/CSSGU/)(使用 Oracle Storage Cloud Software Appliance)中的说明安装和配置 Oracle Storage Cloud Software Appliance。

  8. 按照 OSCSA 文档中所述创建 OSCSA 高速缓存文件系统。

  9. 接下来,配置磁带存储。

配置归档磁带存储

执行以下任务:

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

如果自动化库包含多个驱动器,则这些驱动器在 Oracle HSM 主配置文件 (mcf) 中的顺序必须与库控制器看到它们的顺序相同。此顺序可以不同于在主机上看到这些设备的顺序和在主机 /var/adm/messages 文件中报告这些设备的顺序。

对于每台 Oracle HSM 元数据服务器和数据移动器主机,请执行下列任务以决定驱动器顺序:

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

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

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

    root@solaris:~# 
    
  4. 列出 /dev/scsi/changer/ 中的 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. 在文本编辑器中,打开在为库和 Solaris 主机收集驱动器信息 过程中创建的设备映射文件。将信息组织成简单的表。

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

    root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS      SOLARIS 
    DEVICE  LOGICAL      PHYSICAL
    NUMBER  DEVICE       DEVICE
    ------- ----------   -------------------------------------------
            /dev/rmt/0 -> ../../devices/pci@1f,4000/scsi@2,1/st@2,0:
            /dev/rmt/1 -> ../../devices/pci@1f,4000/scsi@4,1/st@5,0:
            /dev/rmt/2 -> ../../devices/pci@1f,4000/scsi@4,1/st@6,0:
            /dev/rmt/3 -> ../../devices/pci@1f,4000/scsi@4/st@1,0: 
    lrwxrwxrwx 1 root root 40 Mar 18 2014 /dev/rmt/4 -> ../../devices/pci@1f,4000/scsi@4/st@2,0:
    
  3. 在库中,确保所有驱动器都是空的。

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

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

  5. 确定与挂载磁带的驱动器对应的 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
    
  6. 在设备映射文件中,找到与装有磁带的 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/0 -> ../../devices/pci@1f,4000/scsi@2,1/st@2,0:
       1    /dev/rmt/1 -> ../../devices/pci@1f,4000/scsi@4,1/st@5,0:
            /dev/rmt/2 -> ../../devices/pci@1f,4000/scsi@4,1/st@6,0:
            /dev/rmt/3 -> ../../devices/pci@1f,4000/scsi@4/st@1,0: 
    :w
    
  7. 卸载磁带。

  8. 重复该过程,直到设备映射文件中包含了库为 Oracle HSM 主机分配的所有设备的 Solaris 逻辑设备名称。然后保存文件并关闭编辑器。

    root@solaris:~# vi /root/device-mappings.txt 
    LIBRARY SOLARIS      SOLARIS 
    DEVICE  LOGICAL      PHYSICAL
    NUMBER  DEVICE       DEVICE
    ------- ----------   -------------------------------------------
       2    /dev/rmt/0 -> ../../devices/pci@1f,4000/scsi@2,1/st@2,0:
       1    /dev/rmt/1 -> ../../devices/pci@1f,4000/scsi@4,1/st@5,0:
       3    /dev/rmt/2 -> ../../devices/pci@1f,4000/scsi@4,1/st@6,0:
       4    /dev/rmt/3 -> ../../devices/pci@1f,4000/scsi@4/st@1,0: 
    :wq
    root@solaris:~# 
    
  9. 保留映射文件。

    配置文件系统时将需要该信息,并且备份最终 Oracle HSM 配置时您可能希望包括该信息。

  10. 接下来,转至配置直接连接的库

将 ACSLS 连接的库中的驱动器映射到 Solaris 设备名称
  1. 如果您尚未登录到 Oracle HSM Solaris 主机,请以 root 用户身份登录。

    root@solaris:~# 
    
  2. 在文本编辑器中,打开您在为库和 Solaris 主机收集驱动器信息过程中创建的设备映射文件,将其整理为一个简单表。

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

    root@solaris:~# vi /root/device-mappings.txt 
    LOGICAL DEVICE  DEVICE SERIAL NUMBER  ACSLS DEVICE ADDRESS
    --------------  --------------------  ----------------------------------
    /dev/rmt/0  
    /dev/rmt/1  
    /dev/rmt/2  
    /dev/rmt/3  
    
  3. 对于 /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:~#  
    
  4. device-mappings.txt 文件的相应行中输入序列号。

    在示例中,在逻辑设备 /dev/rmt/0 的对应行中输入设备 /dev/rmt/0 的序列号 HU92K00200

    root@solaris:~# vi /root/device-mappings.txt 
    LOGICAL DEVICE  DEVICE SERIAL NUMBER  ACSLS DEVICE ADDRESS
    --------------  --------------------  ----------------------------------
    /dev/rmt/0      HU92K00200
    /dev/rmt/1  
    /dev/rmt/2  
    /dev/rmt/3  
    :wq
    root@solaris:~# 
    
  5. 重复前面两个步骤,直到您为 /dev/rmt/ 中所列的所有逻辑设备标识设备序列号,并将结果记录在 device-mappings.txt 文件中。

    在示例中,有四个逻辑设备:

    root@solaris:~# vi /root/device-mappings.txt 
    LOGICAL DEVICE  DEVICE SERIAL NUMBER  ACSLS DEVICE ADDRESS
    --------------  --------------------  ----------------------------------
    /dev/rmt/0      HU92K00200
    /dev/rmt/1      HU92K00208
    /dev/rmt/2      HU92K00339
    /dev/rmt/3      HU92K00289
    :w
    root@solaris:~# 
    
  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    12    331000049255
     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
    
  7. device-mappings.txt 文件的相应行中记录每个 ACSLS 驱动器地址。保存文件并关闭文本编辑器。

    root@solaris:~# vi /root/device-mappings.txt 
    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
    
  8. 保留映射文件。

    配置文件系统时将需要该信息,并且备份最终 Oracle HSM 配置时您可能希望包括该信息。

  9. 您在配置归档文件系统时需要配置 Oracle StorageTek ACSLS 网络连接库。因此,如果您要规划高可用性文件系统,请转至为高可用性系统配置存储。否则,请转至安装 Oracle HSM and QFS Software

配置直接连接的库

要配置直接连接的磁带库,您必须物理连接硬件并(在某些情况下)配置 SCSI 驱动程序(Oracle HSM 通过通用 sgen 驱动程序(而不是发行版 5.4 之前的 SAM-QFS 使用的 samst 驱动程序)控制库机械装置)。执行如下操作:

  1. 以物理方式将库和驱动器连接到 Oracle HSM 服务器主机。

  2. 如果您是第一次安装 Oracle HSM 或是在 Solaris 11 上升级 Oracle HSM 或 SAM-QFS 5.4 配置,请在以物理方式连接硬件后就停止。

    在 Solaris 11 下,sgen 是默认的 SCSI 驱动程序,因此 Oracle HSM 安装软件可以自动更新驱动程序别名和配置文件。

  3. 如果您要在 Solaris 10 系统上安装 Oracle HSM,则查看是否为 sgen 驱动程序分配了以下列表中的驱动程序别名之一。使用命令 grep scs.*,08 /etc/driver_aliases

    可以为 sgen 驱动程序分配以下任何别名:

    • scsa,08.bfcp" 和/或 scsa,08.bvhci

    • scsiclass,08

    在示例中,Solaris 将 scsiclass,08 别名用于 sgen 驱动程序:

    root@solaris:~# grep scs.*,08 /etc/driver_aliases
    sgen "scsiclass,08"
    root@solaris:~# 
    
  4. 如果 grep 命令返回 sgen "alias"(其中 alias 是上面的列表中的别名),则安装 sgen 驱动程序并将其正确地分配给该别名。因此执行如下操作:

  5. 如果 grep 命令返回 some-driver "alias",其中 some-driversgen 之外的某个驱动程序,alias 是上述列表中的一个别名,则该别名已分配给其他驱动程序。所以,sgen 驱动程序创建面向路径的别名

  6. 如果命令 grep scs.*,08 /etc/driver_aliases 未返回任何输出,则表明 sgen 驱动程序并未安装。因此,请安装该驱动程序。使用命令 add_drv -i scsiclass,08 sgen

    在示例中,grep 命令未返回任何输出。因此,我们安装 sgen 驱动程序:

    root@solaris:~# grep scs.*,08 /etc/driver_aliases
    root@solaris:~# add_drv -i scsiclass,08 sgen
    
  7. 如果命令 add_drv -i scsiclass,08 sgen 返回消息 Driver (sgen) is already installed,则表明该驱动程序已安装但未连接。因此,请立即连接该驱动程序。使用命令 update_drv -a -i scsiclass,08 sgen

    在示例中,add_drv 命令表明该驱动程序已安装。因此,我们附加驱动程序:

    root@solaris:~# add_drv -i scsiclass,08 sgen
    Driver (sgen) is already installed.
    root@solaris:~# update_drv -a -i scsiclass,08 sgen
    
  8. 如果命令 grep scs.*,08 /etc/driver_aliases 显示已将别名 scsiclass,08 分配给 sgen 驱动程序,则表明已正确配置该驱动程序。

    root@solaris:~# grep scs.*,08 /etc/driver_aliases
    sgen "scsiclass,08"
    root@solaris:~# 
    
  9. 如果您要配置高可用性文件系统,请参见为高可用性系统配置存储

  10. 否则,请转至安装 Oracle HSM and QFS Software

sgen 驱动程序创建面向路径的别名

如果所需的 sgen 别名已分配给其他驱动程序,您需要创建面向路径的别名来使用 sgen 连接指定的库,而不会干扰现有的驱动程序分配。执行如下操作:

  1. root 用户身份登录到 Oracle HSM 服务器主机。

    root@solaris:~# 
    
  2. 显示系统配置。使用命令 cfgadm -vl

    请注意,cfgadm 输出会使用双行标题(每条记录两行)的格式:

    root@solaris:~# cfgadm -vl
    Ap_Id                Receptacle  Occupant     Condition Information  When
    Type        Busy  Phys_Id
    c3                   connected   configured   unknown   unavailable  
    scsi-sas    n     /devices/pci@0/pci@0/pci@2/scsi@0:scsi
    c5::500104f0008e6d78 connected   configured   unknown   unavailable  
    med-changer y     /devices/pci@0/.../SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78
    ...
    root@solaris:~# 
    
  3. cfgadm -vl 的输出中,找到库的记录。在每个记录第二行的 Type 列中查找 med-changer

    在示例中,我们在第二条记录中找到了该库:

    root@solaris:~# cfgadm -vl
    Ap_Id                Receptacle  Occupant     Condition Information  When
    Type        Busy  Phys_Id
    c3                   connected   configured   unknown   unavailable  
    scsi-sas    n     /devices/pci@0/pci@0/pci@2/scsi@0:scsi
    c5::500104f0008e6d78 connected   configured   unknown   unavailable  
    med-changer y     /devices/pci@0/.../SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78
    ...
    root@solaris:~# 
    
  4. 获取将作为新的面向路径的别名的物理路径。在 cfgadm -vl 的输出中,从 Phys_Id 列的条目中,删除子字符串 /devices

    在示例中,介质转换器记录的 Phys_Id 列包含路径 /devices/pci@0/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78,因此,我们选择 /devices/ 后面的部分字符串作为别名(请注意,为适合下面的可用空间,该物理路径已缩写):

    root@solaris:~# grep scsiclass,08 /etc/driver_aliases
    sdrv "scsiclass,08"
    root@solaris:~# cfgadm -vl
    Ap_Id                Receptacle  Occupant     Condition Information  When
    Type        Busy  Phys_Id
    c3                   connected   configured   unknown   unavailable  
    scsi-sas    n     /devices/pci@0/pci@0/pci@2/scsi@0:scsi
    c5::500104f0008e6d78 connected   configured   unknown   unavailable  
    med-changer y     /devices/pci@0/.../SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78
    ...
    root@solaris:~# 
    
  5. 创建面向路径的别名,并将其分配给 sgen 驱动程序。使用命令 update_drv -d -i '"/path-to-library"' sgen,其中 path-to-library 是您在上一步中标识的路径。

    在示例中,使用库路径创建面向路径的别名 '"/pci@0/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78"'(请注意单引号和双引号)。该命令在一行中,但为了适合页面布局,已处理为两行格式:

    root@solaris:~# update_drv -d -i \ '"/pci@0/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:fc::500104f0008e6d78"' sgen
    root@solaris:~# 
    

    现在,库已使用 sgen 驱动程序进行配置。

  6. 如果您要配置高可用性文件系统,请转至为高可用性系统配置存储

  7. 否则,请转至安装 Oracle HSM and QFS Software

为高可用性系统配置存储

高可用性文件系统需要冗余硬件和多个独立 I/O 路径,从而使文件系统不会因单点硬件故障而变为无法访问。执行以下任务:

针对多路径 I/O 配置 Solaris Cluster 节点

要配置高可用性共享文件系统,必须小心地遵循您的 Solaris Cluster 软件版本硬件管理手册中的建议。提供冗余主存储设备和冗余 I/O 路径。

在硬件 RAID 设备上或 Solaris Volume Manager (SVM) 软件 RAID 卷上存储文件系统数据和元数据。将 Oracle HSM 元数据和配置文件放置在 RAID-10 卷组上,或放置在镜像的 SVM 卷上。将文件系统数据放置在硬件控制的 RAID-10 或 RAID-5 卷组上,或放置在镜像的 SVM 卷上。请注意,当前 Solaris 发行版不再包括 SVM。您必须下载并安装 Solaris 10 9/10 发行版随附的软件版本。

确保存储区域网络连接不会遇到单点故障。在每个群集节点上安装多个主机总线适配器 (host bus adapter, HBA)。使用多个互连和冗余交换机配置存储区域网络 (Storage Area Network, SAN)。使用 Oracle Solaris I/O 多路径软件管理路径故障转移(有关其他详细信息,请参见 Oracle Solaris 客户文档库中的 Oracle Solaris SAN 配置和多路径指南stmsboot 手册页)。

针对多路径 I/O 配置 Linux 客户机

在 Linux 客户机上,使用设备映射器多路径 (Device Mapper Multipath, DMM) 软件包配置路径故障转移的冗余存储设备。DMM 软件管理所有主机总线适配器、电缆、交换机和控制器,它们将主机和存储设备链接作为单个虚拟 I/O 设备,即多路径

链接主机和存储设备等作为单个虚拟设备的所有 I/O 路径。单独的电缆、交换机和控制器。多路径聚合 I/O 路径,创建由聚合路径构成的新设备。要启用多路径,请执行以下操作:

安装设备映射器多路径软件包

遵循下面的说明来配置运行 Oracle Linux 6.x 的客户机(对于其他 Linux 版本,请参考供应商的文档)。

  1. root 用户身份登录 Linux 主机。

    [root@linux ~]# 
    
  2. 转至 /etc/yum.repos.d 子目录并列出目录内容。

    [root@linux ~]# cd /etc/yum.repos.d
    [root@linux ~]# ls -l
    total 4
    -rw-r--r--. 1 root root 1707 Jun 25  2012 public-yum-ol6.repo
    [root@linux ~]# 
    
  3. 如果 /etc/yum.repos.d 子目录不包含 public-yum-ol6.repo 文件,请使用 wget 命令从 Oracle YUM 系统信息库下载一个该文件。

    [root@linux ~]# wget http://public-yum.oracle.com/public-yum-ol6.repo
    -- 2013-02-25 12:50:32 --   http://public-yum.oracle.com/public-yum-ol6.repo
    Resolving public-yum.oracle.com... 14 1.146.44.34
    Connecting to public-yum.oracle.com|141.146.44.34|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2411 (2.4K) [text/plain]
    Saving to: ”public-yum-ol6.repo”
    100%[======================================>] 2,411   -- . - K/s   in 0.001s
    2013-02-25 12:50:32 (3.80 MB/s) - ”public-yum-ol6.repo” saved
    [2411/2411]
    [root@linux ~]# 
    
  4. 使用文本编辑器,打开 public-yum-ol6.repo 文件。确保第一个条目 [ol6_latest] 包含行 enabled=1

    在示例中,使用 vi 编辑器。所需的行已存在,所以我们关闭该文件:

    [root@linux ~]# vi public-yum-ol6.repo 
    [ol6_latest]
    name=Oracle Linux $releasever Latest ($basearch)
    baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
    gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    gpgcheck=1
    enabled=1
    ...
    :q
    [root@linux ~]# 
    
  5. 查找设备映射器多路径软件包。使用命令 yum search multipath

    [root@linux ~]# yum search multipath
    Loaded plugins: refresh-packagekit, security
    ========================== N/S Matched: multipath ==========================
    device-mapper-multipath.x86_64 : Tools to manage multipath devices using
                                   : device-mapper
    device-mapper-multipath-libs.x86_64 : The device-mapper-multipath modules and
                                        : shared library
      Name and summary matches only, use "search all" for everything.
    [root@linux ~]# 
    
  6. 安装设备映射器多路径软件。使用命令 yum install device-mapper-multipath。当系统提示时,输入 y(是)接受列出的软件包及其相关项。

    [root@linux ~]# yum install device-mapper-multipath
    Loaded plugins: refresh-packagekit, security
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package device-mapper-multipath.x86_64 0:0.4.9-56.el6_3.1 will be
    installed
    --> Processing Dependency: device-mapper-multipath-libs = 0.4.9-56.el6_3.1
    for package: device-mapper-multipath-0.4.9-56.el6_3.1.x86_64
    --> Processing Dependency: libmultipath.so()(64bit) 
    for package: device-mapper-multipath-0.4.9-56.el6_3.1.x86_64
    --> Running transaction check
    ---> Package device-mapper-multipath-libs.x86_64 0:0.4.9-56.el6_3.1 will be
    installed
    --> Finished Dependency Resolution
    Dependencies Resolved
    ============================================================================
     Package                      Arch   Version           Repository   Size
    ============================================================================
    Installing:
     device-mapper-multipath      x86_64 0.4.9-56.el6_3.1  ol6_latest    96 k
    Installing for dependencies:
     device-mapper-multipath-libs x86_64 0.4.9-56.el6_3.1  ol6_latest   158 k
    Transaction Summary
    ============================================================================
    Install       2 Package(s)
    Total download size: 254 k
    Installed size: 576 k
    Is this ok [y/N]: y
    Downloading Packages:
    (1/2): device-mapper-multipath-0.4.9-56.el6_3.1.x86_64.r |  96 kB     00:00
    (2/2): device-map
    per-multipath-libs-0.4.9-56.el6_3.1.x86 | 158 kB     00:00
    ----------------------------------------------------------------------------
    Total                                           104 kB/s | 254 kB     00:02
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : device-mapper-multipath-libs-0.4.9-56.el6_3.1.x86_64     1/2
      Installing : device-mapper-multipath-0.4.9-56.el6_3.1.x86_64          2/2
      Verifying  : device-mapper-multipath-0.4.9-56.el6_3.1.x86_64          1/2
      Verifying  : device-mapper-multipath-libs-0.4.9-56.el6_3.1.x86_64     2/2
    Installed:
      device-mapper-multipath.x86_64 0:0.4.9-56.el6_3.1
    Dependency Installed:
      device-mapper-multipath-libs.x86_64 0:0.4.9-56.el6_3.1
    Complete!
    [root@linux ~]# 
    
  7. 启动多路径守护进程。使用命令 chkconfig multipathd on

    [root@linux ~]# chkconfig multipathd on
    [root@linux ~]# 
    
  8. 接下来,配置设备映射器多路径软件

配置设备映射器多路径软件

通过编辑 /etc/multipath.conf 文件来配置设备映射器多路径软件。该文件包含一系列部分,每部分包含一组相关属性、值和子部分:

  • default 部分配置多路径软件自身。它指定记录的详细级别、定义故障转移行为以及指定所需的操作系统命令和目录的位置。

  • blacklist 部分标识您需要从多路径配置中排除的设备,例如本地系统磁盘。可以通过以下方式标识设备:通过全局名称/全局标识符 (World Wide Name/World Wide Identifier, WWN/WID),或者通过指定设备节点名称或供应商和产品设备字符串的正则表达式。

  • blacklist_exceptions 部分允许您在多路径配置中特别包括某些设备,否则 blacklist 部分中的常规规则会排除这些设备。

  • multipaths 部分允许您定义一个或多个 multipath 子部分,每个子部分对您通过全局名称指定的多路径应用特殊配置。

  • devices 部分允许您定义一个或多个 device 子部分,每个子部分对设备应用特殊多路径配置。

有关各个默认值的详细说明,请参见带注释的样例文件 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated

blacklist_exceptions 列出应该使用的所有设备(即使黑名单标识了这些设备)。defaults:设备映射器多路径 (DM-Multipath) 的常规默认设置。multipaths:单个多路径设备的特征设置。这些值将覆盖配置文件的 defaults 和 devices 部分中指定的内容。devices:单个存储控制器的设置。这些值将覆盖配置文件的 defaults 节中指定的内容。如果您使用的是默认情况下不支持的存储阵列,则可能需要为阵列创建 devices 子部分。系统确定多路径设备的属性时,它首先检查多路径设置,然后检查每个设备的设置,再然后检查多路径系统默认值。