2 配置主机系统

先配置 Oracle Hierarchical Storage Manager and StorageTek QFS Software 的主机操作系统,然后再继续安装和配置。本章概述了以下主题:

针对 Oracle HSM 配置 Oracle Solaris

要配置 Solaris 主机以便与 Oracle HSM 软件和 QFS 文件系统配合使用,请执行以下任务:

安装最新的操作系统更新

如果可以,请始终为 Solaris 操作系统安装最新的修补程序和更新。如果您需要使用 Oracle Hierarchical Storage Manager and StorageTek QFS Software 发行版 6.1 中提供的最新功能,则必须在所有 Solaris 主机上安装 Oracle Solaris 11 操作系统软件。有关与软件配合使用的建议最低操作系统发行版的完整信息,请参见发行说明和 support.oracle.com

有关选择的 Solaris 版本的安装和更新说明,请参见相应的客户文档库中的安装和管理文档、Oracle 技术网 (Oracle Technical Network, OTN) 和 support.oracle.com 上的知识。如果您刚接触映像包管理系统 (Image Packaging System, IPS),则以下 OTN 文章对您非常有帮助:

针对预测的文件系统 I/O 调整 Solaris 系统和驱动程序参数

系统端到端输入/输出 (input/output, I/O) 性能在操作系统、驱动程序、文件系统和应用程序以无需进行不必要分段和重新缓存的单元传输数据时最高。因此,请针对应用程序和文件系统可以实现的最大数据传输设置 Solaris。执行如下操作:

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

    root@solaris:~# 
    
  2. 制作 /etc/system 文件的备份副本,然后在文本编辑器中打开 /etc/system

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

    root@solaris:~# cp /etc/system /etc/system.backup
    root@solaris:~# vi /etc/system
    *ident  "%Z%%M% %I%     %E% SMI" /* SVR4 1.5 */
    * SYSTEM SPECIFICATION FILE
    ...
    
  3. /etc/system 文件中,设置 maxphys,即任何驱动程序能够作为单个单元处理的最大物理 I/O 请求大小,它等于应用程序和文件系统能够实现的最大数据传输。以 set maxphys = 0xvalue 的形式输入一行,其中 value 是代表字节数的十六进制数字。然后保存文件并关闭编辑器。

    驱动程序将超过 maxphys 的请求拆分成 maxphys 大小的片段。默认值根据操作系统发行版而不同,但是通常大约为 128 千字节。在示例中,我们将 maxphys 设置为 0x800000(8,388,608 字节或 8 兆字节):

    root@solaris:~# vi /etc/system
    *ident  "%Z%%M% %I%     %E% SMI" /* SVR4 1.5 */
    * SYSTEM SPECIFICATION FILE
    ...
    set maxphys = 0x800000
    :wq
    root@solaris:~# 
    
  4. 在文本编辑器中打开 /kernel/drv/sd.conf 文件。

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

    root@solaris:~# vi /kernel/drv/sd.conf
    # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
    name="sd" class="scsi" target=0 lun=0;
    name="sd" class="scsi" target=1 lun=0;
    ...
    # Associate the driver with devid resolution.
    ddi-devid-registrant=1;
    
  5. /kernel/drv/sd.conf 文件中,将 sd_max_xfer_size(即 SCSI 磁盘 (sd) 驱动程序可以处理的最大数据传输大小)设置为您为 maxphys 设置的值。以 sd_max_xfer_size=0xvalue; 的形式输入一行,其中 value 为代表字节数的十六进制数字。保存文件并关闭编辑器。

    默认值为 0x100000(1048576 字节或一兆字节)。在示例中,我们添加注释并将 sd_max_xfer_size 设置为 0x800000(8,388,608 字节或 8 兆字节)。

    ...
    # Associate the driver with devid resolution.
    ddi-devid-registrant=1;
    # Set SCSI disk maximum transfer size
    sd_max_xfer_size=0x800000;
    :wq
    root@solaris:~# 
    
  6. 在文本编辑器中打开 /kernel/drv/ssd.conf 文件。

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

    root@solaris:~# vi /kernel/drv/ssd.conf
    # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
    # Use is subject to license terms.
    name="ssd" parent="sf" target=0;
    name="ssd" parent="fp" target=0;
    ...
    name="ssd" parent="ifp" target=127;
    
  7. /kernel/drv/ssd.conf 文件中,将 ssd_max_xfer_size(即光纤通道磁盘 (ssd) 驱动程序可以处理的最大数据传输大小)设置为您为 maxphys 设置的值。以 ssd_max_xfer_size=0xvalue; 的形式输入一行,其中 value 是代表字节数的十六进制数字。然后保存文件并关闭编辑器。

    默认值为 0x100000(1048576 字节或一兆字节)。在示例中,我们添加注释并将 ssd_max_xfer_size 设置为 0x800000(8,388,608 字节或 8 兆字节):

    ...
    name="ssd" parent="ifp" target=127;
    # Set Fibre Channel disk maximum transfer size
    ssd_max_xfer_size=0x800000;
    :wq
    root@solaris:~# 
    
  8. 重新启动系统。使用命令 init 6

    root@solaris:~# init 6
    
  9. 如果您准备的解决方案包含其他 Solaris 主机,则重复执行针对 Oracle HSM 配置 Oracle Solaris 中指定的任务,直到已配置所有 Solaris 主机。

  10. 如果您准备的解决方案包含一个或多个 Linux 客户机,则转至针对 Oracle HSM 客户机配置 Linux

  11. 否则,请转至配置存储主机和设备

针对 Oracle HSM 客户机配置 Linux

在您安装 Oracle HSM 客户机软件之前,必须按如下方式准备 Linux 操作系统:

禁用不兼容的操作系统功能

  1. root 用户身份登录 Oracle HSM 客户机主机。

    [root@linux ~]# 
    
  2. 如果安装了 SELinux(安全 Linux),则禁用它。在文本编辑器中打开文件 /etc/selinux/config,将 SELINUX 标志设置为 disabled,保存文件,关闭编辑器,然后重新引导。

    Oracle HSM 不支持 SELinux,默认情况下,该功能在 Oracle Linux 和 Red Hat Enterprise Linux 上处于启用状态。在示例中,用 vi 编辑器打开文件。

    [root@linux ~]# vi /etc/selinux/config
    # This file controls the state of SELinux on the system.
    ...
    #SELINUX=enforcing
    #SELINUX=permissive
    SELINUX=disabled
    SELINUXTYPE=targeted
    :wq
    [root@linux ~]# reboot
    
  3. 如果安装了 AppArmor,则使用适用于您的 Linux 分发包的文档中建议的过程禁用它。

    AppArmor 有时用作 SELinux 的替代功能。Oracle HSM 不支持 AppArmor。

  4. 接下来,安装必需的内核开发和实用程序软件包

安装必需的内核开发和实用程序软件包

在安装 Oracle HSM 客户机软件之前,必须先安装 Linux 内核开发软件包以及一些指定的实用程序软件包。要确定并安装必需的软件包,请使用下面的过程:

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

    在示例中,客户机在 Oracle Linux 上托管:

    [root@linux ~]# 
    
  2. 确定客户机上安装的内核版本。使用命令 uname -r

    在示例中,内核版本为 2.6.9-89.0.0.0.1.EL

    [root@linux ~]# uname -r
    2.6.9-89.0.0.0.1.EL
    [root@linux ~]# 
    
  3. 安装内核开发工具包 kernel-devel-kernel-version,其中 kernel-version 是您在前面步骤中确定的版本字符串。

    Oracle HSM 客户机安装要求此软件包中包含 Module.symvers。在示例中,使用带有参数 -y install-y 用于确保针对所有提示自动回答“是”)的 Oracle Linux 命令 yum

    [root@linux ~]# yum -y install \ kernel-devel-2.6.9-89.0.0.0.1.EL.i686.rpm
    [root@linux ~]# 
    
  4. 查看 Korn shell ksh 是否已安装。如果未安装,则安装它。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 ksh。该命令返回的输出为 no,这表示 ksh 未安装。因此我们使用命令 yum install ksh 安装它:

    [root@linux ~]# rpm -qa | grep ksh
    [root@linux ~]# 
    [root@linux ~]# yum install ksh
    ...
    --> Running transaction check
    ---> Package ksh-20100621-19.e16.x86_64 set to be installed
     
    ===============================================================================
    Package            Arch          Version                  Repository      Size
    ===============================================================================
    Installing:
     ksh               i686          2.6.9-89.0.0.0.1.EL       updates        506 k
    ...
    Installed:
      ksh-2.6.9-89.0.0.0.1.EL.i686
    Complete!
    [root@linux ~]# 
    
  5. 查看 cpio 实用程序是否已安装。如果未安装,则安装它。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 cpio。该命令返回版本信息,因此 cpio 实用程序已安装:

    [root@linux ~]#  rpm -qa | grep cpio
    cpio-2.10-10.e16.x86_64
    [root@linux ~]# 
    
  6. 查看 find 实用程序是否已安装。如果未安装,则安装它们。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 findutils。该命令返回版本信息,说明 findutils 软件包已安装:

    [root@linux ~]#  rpm -qa | grep findutils
    findutils-4.4.2-6.e16.x86_64
    [root@linux ~]# 
    
  7. 查看 gcc 编译器是否已安装。如果未安装,则安装它。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 gcc。该命令返回版本信息,说明 gcc 编译器已安装:

    [root@linux ~]#  rpm -qa | grep gcc
    gcc-4.4.7-3.e16.x86_64
    libgcc-4.4.7-3.e16.x86_64
    [root@linux ~]# 
    
  8. 查看 make 实用程序是否已安装。如果未安装,则安装它。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 make。该命令返回版本信息,说明 make 实用程序已安装:

    [root@linux ~]#  rpm -qa | grep make
    make-4.4.7-3.e16.x86_64
    libmake-3.81.20.e16.x86_64
    [root@linux ~]# 
    
  9. 查看 binutils 软件包是否已安装。如果未安装,则安装它。

    如果 Oracle HSM 安装软件需要构建 Linux 内核,则它需要 nm 实用程序,该实用程序包含在此软件包中。在本示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 nm。该命令返回版本信息,说明 nm 实用程序已安装:

    [root@linux ~]#  rpm -qa | grep nm
    binutils-2.20.51.0.2-5.34.e16.x86_64
    [root@linux ~]# 
    
  10. 查看 rpmbuild 软件包是否已安装。如果未安装,则安装它。

    在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 rpmbuild。该命令返回版本信息,说明 rpmbuild 软件包已安装:

    [root@linux ~]#  rpm -qa | grep rpmbuild
    rpm-build-4.8.0-37.el6.x86_64
    [root@linux ~]# 
    
  11. 查看 rpm 软件包是否已安装。如果未安装,则安装它。

    如果 Oracle HSM 安装软件需要构建 Linux 内核,则它需要 rpm2cpio 实用程序,该实用程序包含在此软件包中。在示例中,我们将 Oracle Linux 命令 rpm -qa 的输出通过管道传输至 grep 命令并搜索字符串 rpm。该命令返回版本信息,说明该实用程序已安装:

    [root@linux ~]#  rpm -qa | grep rpm
    rpm-4.8.0-27.e16.x86_64
    rpm-libs-4.8.0-27.e16.x86_64
    rpm-python-4.8.0-27.e16.x86_64
    [root@linux ~]# 
    
  12. 如果您准备的解决方案包含其他 Linux 客户机,则重复执行针对 Oracle HSM 客户机配置 Linux 中指定的任务,直到已配置所有 Linux 客户机。

  13. 接下来,转至配置存储主机和设备