JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Cluster 软件安装指南     Oracle Solaris Cluster 4.1 (简体中文)
search filter icon
search icon

文档信息

前言

1.  规划 Oracle Solaris Cluster 配置

2.  在全局群集节点上安装软件

3.  建立全局群集

4.  配置 Solaris Volume Manager 软件

配置 Solaris Volume Manager 软件

如何安装 Solaris Volume Manager

如何创建状态数据库副本

在群集中创建磁盘集

如何创建磁盘集

将驱动器添加到磁盘集

如何将驱动器添加到磁盘集

如何对磁盘集中的驱动器进行重新分区

如何创建 md.tab 文件

如何激活卷

配置双串中介

双串中介要求

如何添加中介主机

如何检查和修复错误的中介数据

5.  创建群集文件系统

6.  创建区域群集

7.  从群集中卸载软件

索引

在群集中创建磁盘集

本节介绍如何为群集配置创建磁盘集。在 Oracle Solaris Cluster 环境中创建 Solaris Volume Manager 磁盘集时,该磁盘集会自动向 Oracle Solaris Cluster 软件注册为 svm 类型的设备组。要创建或删除 svm 设备组,必须使用 Solaris Volume Manager 的命令和实用程序创建或删除设备组的底层磁盘集。

下表列出了您将执行以创建磁盘集的任务。按照以下顺序完成操作。

表 4-2 任务列表:配置 Solaris Volume Manager 磁盘集

任务
指导
使用 metaset 命令创建磁盘集。
将驱动器添加到磁盘集。
可选)对磁盘集中的驱动器重新分区,以便为不同的分片分配空间。
列出 DID 伪驱动程序映射,并在 /etc/lvm/md.tab 文件中定义卷。
初始化 md.tab 文件。

如何创建磁盘集

开始之前

您要创建的磁盘集必须满足以下要求之一:

  1. 在群集中的每个节点上运行 devfsadm 命令。

    您可以同时在群集的所有节点上运行此命令。

  2. 从群集的一个节点更新全局设备名称空间。
    phys-schost# cldevice populate

    有关更多信息,请参见 cldevice(1CL) 手册页。

  3. 尝试创建任何磁盘集之前,请先在每个节点上检验该命令是否已完成处理。

    即使仅从一个节点运行,该命令也会以远程方式在所有的节点上执行。要确定该命令是否已完成处理过程,请在群集中的每个节点上运行以下命令:

    phys-schost# ps -ef | grep scgdevs
  4. 确保有本地状态数据库的副本。

    有关说明,请参见如何创建状态数据库副本

  5. 在将控制磁盘集的群集节点上承担 root 角色。
  6. 创建磁盘集。

    以下命令可创建磁盘集并将其注册为 Oracle Solaris Cluster 设备组。

    phys-schost# metaset -s setname -a -h node1 node2
    -s setname

    指定磁盘集名称。

    -a

    添加(创建)磁盘集。

    -h node1

    指定将控制磁盘集的主节点的名称。

    node2

    指定将控制磁组集的辅助节点的名称


    注 - 运行 metaset 命令以在群集上配置 Solaris Volume Manager 设备组时,该命令会默认指定一个辅助节点。创建设备组之后,可以使用 clsetup 实用程序更改设备组中所需的辅助节点数目。有关如何更改 《Oracle Solaris Cluster 系统管理指南》中的"管理设备组"Oracle Solaris Cluster System Administration Guide


  7. 如果要配置复制的 Solaris Volume Manager 设备组,请为该设备组设置复制属性。
    phys-schost# cldevicegroup sync device-group-name

    有关数据复制的更多信息,请参见《Oracle Solaris Cluster 系统管理指南》中的第 4  章 "数据复制方法"

  8. 检验新磁盘集的状态。
    phys-schost# metaset -s setname
  9. 根据需要设置设备组的属性。
    phys-schost# cldevicegroup set -p name=value device-group
    -p

    指定一个设备组属性。

    name

    指定属性的名称。

    value

    指定属性的值或设置。

    device-group

    指定设备组的名称。设备组名称与磁盘集名称相同。

    有关设备组属性的信息,请参见 cldevicegroup(1CL)

示例 4-2 创建磁盘集

以下命令将创建 dg-schost-1dg-schost-2 这两个磁盘集,同时将节点 phys-schost-1phys-schost-2 指定为潜在的主节点。

phys-schost# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2
phys-schost# metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2

接下来的步骤

将驱动器添加至磁盘集。请转至将驱动器添加到磁盘集

将驱动器添加到磁盘集

将驱动器添加到磁盘集时,卷管理软件将对驱动器进行重新分区,以便将磁盘集的状态数据库放入驱动器。

如何将驱动器添加到磁盘集

开始之前

确保已创建磁盘集。有关说明,请参见如何创建磁盘集

  1. 承担 root 角色。
  2. 列出 DID 映射。
    phys-schost# cldevice show | grep Device
    • 选择由将要控制或可能要控制磁盘集的群集节点共享的驱动器。

    • 向磁盘集添加驱动器时,请使用格式为 /dev/did/rdsk/d N 的完整 DID 设备名称。

    在下面的示例中,DID 设备 /dev/did/rdsk/d3 的条目表明 phys-schost-1phys-schost-2 正在共享该驱动器。

    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  3. 成为磁盘集的拥有者。
    phys-schost# cldevicegroup switch -n node devicegroup
    -n node

    指定拥有设备组所有权的节点。

    devicegroup

    指定设备组名称,该名称与磁盘集名称相同。

  4. 将驱动器添加到磁盘集。

    使用完整的 DID 路径名称。

    phys-schost# metaset -s setname -a /dev/did/rdsk/dN
    -s setname

    指定磁盘集的名称,该名称与设备组名称相同。

    -a

    给磁盘集添加驱动器。


    注 - 在向磁盘集添加驱动器时,请不要使用低级别的设备名称 ( cNtX dY)。因为低级别设备名称是本地名称,并且在群集中不是唯一的,使用该名称可能使元集无法切换。


  5. 检验磁盘集和驱动器的状态。
    phys-schost# metaset -s setname

示例 4-3 将驱动器添加到磁盘集

metaset 命令将驱动器 /dev/did/rdsk/d1/dev/did/rdsk/d2 添加到磁盘集 dg-schost-1 中。

phys-schost# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2

接下来的步骤

如果要将驱动器重新分区以便在卷中使用,请转至如何对磁盘集中的驱动器进行重新分区

否则,请转至如何创建 md.tab 文件以了解如何使用 md.tab 文件定义元设备或卷。

如何对磁盘集中的驱动器进行重新分区

metaset(1M) 命令将磁盘集中的驱动器重新分区,以便保留每个驱动器的一小部分供 Solaris Volume Manager 软件使用。在带有 可扩展固件接口 (EFI) 标签的设备中,使用分片 6。每个驱动器上的剩余空间将放到分片 0 中。为了更有效地使用驱动器,请使用以下过程修改磁盘布局。如果将空间分配给 EFI 分片 1 至 5,则可在设置 Solaris Volume Manager 卷时使用这些分片。

  1. 承担 root 角色。
  2. 使用 format 命令更改磁盘集中每个驱动器的磁盘分区情况。

    当由您来对驱动器重新分区时,请执行相关步骤以防止 metaset 命令对驱动器进行重新分区。

    1. 对于 EFI,创建分片 6,该分片应从柱面 0 开始,大小应足以容纳一个状态数据库副本。

      不要让目标分片覆盖驱动器上的任何其他分片。

      请参见 Solaris Volume Manager 管理指南来确定您的卷管理器软件版本的状态数据库副本的大小。

    2. 将目标分片中的 Flag 字段设置为 wu(可读写,无法卸载)。

      不要将此字段设置为只读的。

    有关详细信息,请参见 format(1M) 手册页。

接下来的步骤

使用 md.tab 文件定义卷。请转至如何创建 md.tab 文件

如何创建 md.tab 文件

在群集中的每个节点上创建一个 /etc/lvm/md.tab 文件。使用 md.tab 文件为您创建的磁盘集定义 Solaris Volume Manager 卷。


注 - 如果您使用本地卷,请确保本地卷名称与用于构成磁盘集的设备 ID 不同。例如,如果在磁盘集中使用了设备 ID /dev/did/dsk/d3,请勿将名称 /dev/md/dsk/d3 用于本地卷。此要求不适用于共享卷,共享卷使用命名约定 /dev/md/setname/{r}dsk/d#


  1. 承担 root 角色。
  2. 列出可供在创建 md.tab 文件时参考的 DID 映射。

    请使用 md.tab 文件中的完整 DID 设备名称代替低级别设备名称 (cN tXdY)。DID 设备名称采用的格式为 /dev/did/rdsk/dN

    phys-schost# cldevice show | grep Device
    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  3. 创建 /etc/lvm/md.tab 文件,用以包含您创建的磁盘集的卷定义。

    有关样例 示例 4-4 文件,请参见Example 4–4


    注 - 如果将用于子镜像的驱动器上已经有数据,在设置卷之前必须先备份这些数据。然后将数据恢复到镜像上。


    为避免群集环境内不同节点上的本地卷之间产生混淆,请使用一种可以使每个本地卷名称在整个群集中都唯一的命名方案。例如,对于节点 1,选择 d100d199 之间的名称。对于节点 2,请使用 d200d299 之间的名称。

    有关如何创建 md.tab 文件的详细信息,请参见 Solaris Volume Manager 文档和 md.tab(4) 手册页。

示例 4-4 样例 md.tab 文件

下面的样例 md.tab 文件定义了名为 dg-schost-1 的磁盘集。md.tab 文件中各行的顺序并不重要。

dg-schost-1/d0 -m dg-schost-1/d10 dg-schost-1/d20
    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

样例 md.tab 文件的结构如下所示。

  1. 第一行将设备 d0 定义为卷 d10d20 的镜像。-m 表示该设备为镜像设备。

    dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20
  2. 第二行将卷 d10d0 的第一个子镜像)定义为单向存储条。

    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
  3. 第三行将卷 d20d0 的第二个子镜像)定义为单向存储条。

    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

接下来的步骤

激活在 md.tab 文件中定义的卷。请转至如何激活卷

如何激活卷

执行此过程可激活在 md.tab 文件中定义的 Solaris Volume Manager 卷。

  1. 承担 root 角色。
  2. 确保 md.tab 文件位于 /etc/lvm 目录中。
  3. 确保您对将要在其中执行命令的节点上的磁盘集具有拥有权。
  4. 获取磁盘集的拥有权。
    phys-schost# cldevicegroup switch -n node device-group
    -n node

    指定拥有所有权的节点。

    device-group

    指定磁盘集名称。

  5. 激活在 md.tab 文件中定义的磁盘集所属卷。
    phys-schost# metainit -s setname -a
    -s setname

    指定磁盘集名称。

    -a

    激活 md.tab 文件中的所有卷。

  6. 对该群集中的每个磁盘集,重复执行步骤 3步骤 5

    如有必要,请从另一个连接到驱动器的节点运行 metainit(1M) 命令。该步骤对于群集对拓扑是必需的,因为在此类拓扑中,并非所有节点都能访问驱动器。

  7. 检查卷的状态。
    phys-schost# metastat -s setname

    有关更多信息,请参见 metastat(1M) 手册页。

  8. 可选创建群集配置的备份。

    对群集配置的归档备份有助于您更方便地恢复群集配置。有关更多信息,请参见《Oracle Solaris Cluster 系统管理指南》中的"如何备份群集配置"

示例 4-5 激活 md.tab 文件中的卷

在以下示例中,在 md.tab 文件中为磁盘集 dg-schost-1 定义的所有卷均被激活。

phys-schost# metainit -s dg-schost-1 -a

接下来的步骤

如果群集包含正好配置了两个磁盘附件的磁盘集并且包含两个节点,请添加双串中介。请转至配置双串中介

否则,请转至如何创建群集文件系统以了解如何创建群集文件系统。