Solaris Volume Manager 管理指南

第 4 章 Solaris Volume Manager for Sun Cluster(概述)

本章概述了 Solaris Volume Manager for Sun Cluster。

本章包括以下信息:

Solaris Volume Manager for Sun Cluster 介绍

从 Solaris 9 9/04 发行版开始,Solaris Volume Manager 可以在 Sun Cluster 环境中使用多属主磁盘集来管理存储区。多属主磁盘集允许多个节点共享磁盘集的拥有权并同时写入共享磁盘。以前,磁盘集中的所有参与主机都可以看到共享磁盘集,但是一次只能有一个主机访问该磁盘集。多属主磁盘集适用于 Sun Cluster 以及诸如 Oracle Real Application Clusters 的应用程序。

多属主磁盘集和 Solaris Volume Manager 共享磁盘集可以同时存在于同一个节点上。但是,不支持在这两种配置之间移动磁盘集。


注 –

对于多属主磁盘集,不提供对 Solaris Volume Manager for Sun Cluster 设备 ID 的支持。因此,目前不支持将多属主磁盘集从一个系统导入另一个系统。


Solaris Volume Manager for Sun Cluster 创建的组件与使用 Solaris Volume Manager 创建的组件相同,包括条带、串联、镜像、软分区和热备件。Solaris Volume Manager for Sun Cluster 不支持 RAID-5 卷和事务卷。

下图显示了典型群集配置中的软件与共享存储区之间的关联。

图 4–1 群集配置样例

标题为“群集配置样例”的图显示了典型群集配置中的软件与共享存储区之间的关联。

每个节点都有本地存储区和至少一个指向共享存储区的路径。群集中的多属主磁盘集由作为 Solaris 操作系统 (Solaris Operating System,Solaris OS) 一部分的 Solaris Volume Manager for Sun Cluster 进行管理。

先决条件:多属主磁盘集功能所需的软件组件

要使用 Solaris Volume Manager for Sun Cluster,除了安装 Solaris OS 以外还必须安装以下软件:


注 –

有关设置 Sun Cluster 和 Oracle Real Application Clusters 软件的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS) 》和《用于 Oracle Real Application Clusters 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》


多属主磁盘集概念

由 Solaris Volume Manager for Sun Cluster 管理的存储区可以划分为多属主磁盘集。多属主磁盘集允许多个节点共享磁盘集的拥有权并同时写入共享磁盘。应用程序(例如 Oracle Real Application Clusters)的实例运行在群集中的每个节点上,因此,多属主磁盘集提供了可伸缩性。由于应用程序的每个实例都可以直接访问共享存储区,因此多属主磁盘集还可以提高应用程序的性能。


注 –

多属主磁盘集功能只能在 Sun Cluster 环境中启用。节点是作为 Sun Cluster 系统一部分的物理计算机。


每个多属主磁盘集都与节点列表相关联。这些节点共享磁盘集的拥有权。以下 metaset -s disk-set 命令显示了多属主磁盘集的输出。


# metaset -s blue



Multi-owner Set name = blue, Set number = 1, Master = nodeone



Host                Owner          Member

  nodeone           multi-owner   Yes 

  nodetwo           multi-owner   Yes 



Drive    Dbase



d9       Yes  



d13      Yes  

此输出显示了节点列表中共享磁盘集拥有权的 nodeonenodetwo。此外,nodeone 被指定为主节点

每个多属主磁盘集都有一个主节点。创建磁盘集后,向该磁盘集添加第一个磁盘的节点将成为该磁盘集的主节点。主节点可以创建、删除和更新磁盘集中的状态数据库副本。


注 –

有关状态数据库副本的更多信息,请参见第 6 章,状态数据库(概述)


Solaris Volume Manager for Sun Cluster 支持包含不同但重叠的节点列表的磁盘集。由于每个磁盘集都有一个主节点,因此同一个群集中可以同时存在多个主节点。

metaset 命令的以下输出说明,向磁盘集添加第一个磁盘时,nodeone 将成为主节点。


nodeone# metaset -s red

Multi-owner Set name = red, Set number = 1, Master = 



Host                Owner          Member

  nodeone                           Yes 

  nodetwo                           Yes 

nodeone# metaset -s red -a /dev/did/dsk/d9

nodeone# metaset -s red



Multi-owner Set name = red, Set number = 1, Master = nodeone 



Host                Owner          Member

  nodeone           multi-owner     Yes 

  nodetwo           multi-owner     Yes 



Drive     Dbase



d9        Yes  

Solaris Volume Manager for Sun Cluster 支持包含不同但重叠的节点列表的磁盘集。由于每个磁盘集都有一个主节点,因此同一个群集中可以同时存在多个主节点。

与多属主磁盘集关联的任务


注意 – 注意 –

配置多属主磁盘集之前,除了安装 Solaris OS 以外,还必须安装以下软件:

有关设置 Sun Cluster 和 Oracle Real Application Clusters 软件的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS) 》和《用于 Oracle Real Application Clusters 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》


一般情况下,Solaris Volume Manager for Sun Cluster 使用同一组 Solaris Volume Manager 命令来执行与磁盘集关联的任务。已向 metaset 命令中添加了特定于多属主磁盘集的某些命令选项。例如,用于创建多属主磁盘集的任务需要向 metaset 命令中添加 -M。以下输出说明了如何使用 metaset -s diskset-name -a -M -h hostname 命令来创建多属主磁盘集。


# metaset -s red -a -M -h nodeone

# metaset

Multi-owner Set name = red, Set number = 1, Master = 



Host                Owner          Member

  nodeone                          Yes 

此外,有些 metaset 命令选项(如用于获取和释放磁盘集的命令)不能与多属主磁盘集一同使用。有关更多信息,请参见 metaset(1M) 手册页。

在 Sun Cluster 环境中使用磁盘时还存在另一个不同的任务。Sun Cluster 会为每个磁盘指定唯一的设备 ID (device ID, DID) 号。如果不想使用 cntndn 格式来标识磁盘,则可以使用 Sun Cluster DID 路径名 /dev/did/dsk/dN。变量 N 是由 Sun Cluster 指定的设备编号。

以下输出说明了如何使用 metaset -s diskset-name -a disk-name 命令向多属主磁盘集添加磁盘,以及如何使用 Sun Cluster DID 路径名标识磁盘。


nodeone# metaset -s red

Multi-owner Set name = red

Multi-owner Set name = red, Set number = 1, Master = 



Host                Owner          Member

  nodeone                           Yes 

  nodetwo                           Yes 

nodeone# metaset -s red -a /dev/did/dsk/d13

nodeone# metaset -s red

Multi-owner Set name = red, Set number = 1, Master = nodeone



Host                Owner          Member

  nodeone            multi-owner   Yes



Drive Dbase



d13   Yes

有关为 Oracle Real Application Clusters 创建多属主磁盘集的信息,请参见《用于 Oracle Real Application Clusters 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》中的“在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集”

有关与磁盘集关联的任务,请参见第 19 章,磁盘集(任务)

Solaris Volume Manager for Sun Cluster 配置

Solaris Volume Manager for Sun Cluster 支持以下配置:

Sun Cluster Support for Oracle Real Application Clusters 的许多扩展属性指定了重新配置过程中各步骤的超时。有关设置超时的详细信息,请参阅《用于 Oracle Real Application Clusters 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》中的“调整 Sun Cluster Support for Oracle Real Application Clusters”

多属主磁盘集中的 RAID–1(镜像)卷

在多属主磁盘集中创建的 RAID–1 卷(即镜像卷)与 Solaris Volume Manager 共享磁盘集中的 RAID-1 卷功能相同。但是,多属主磁盘集中的 RAID-1 卷具有一些其他功能。

多属主磁盘集的镜像拥有权

镜像拥有权的概念特定于多属主磁盘集。与 Solaris Volume Manager 共享磁盘集中的 RAID-1 卷不同,多属主磁盘集中的 RAID-1 卷通常具有与之关联的属主。镜像卷的拥有权由卷管理器进行选择。卷的属主是在磁盘集的节点列表中指定的节点之一。只有 RAID-1 卷的属主才能写入卷。如果非属主节点要写入卷,则拥有权将切换到执行写操作的节点。metastat -s diskset-name 命令的以下输出说明 RAID-1 卷 d24 的属主是 nodeone


# metastat -s red

red/d24: Mirror

    Submirror 0: red/d20

      State: Okay

    Submirror 1: red/d21

      State: Okay

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Resync option: optimizedresync

    Owner: nodeone

    Size: 825930 blocks (403 MB)

数据管理和恢复过程

与 Solaris Volume Manager 中的 RAID-1 卷一样,Solaris Volume Manager for Sun Cluster 中的 RAID-1 卷也会执行操作,从而确保数据一致性。Solaris Volume Manager for Sun Cluster 为 RAID-1 卷提供了两个数据管理和恢复选项。

Solaris Volume Manager for Sun Cluster 的优化的重新同步

Solaris Volume Manager for Sun Cluster 中优化的重新同步与 Solaris Volume Manager 中优化的重新同步功能相同。但是,在多属主磁盘集中,将重新同步选项设置为优化的重新同步的 RAID-1 卷始终具有镜像属主。metastat -s diskset-name 命令的以下输出给出了设置为 optimizedresync(优化的重新同步)的重新同步选项。


# metastat -s red

red/d24: Mirror

    Submirror 0: red/d20

      State: Okay

    Submirror 1: red/d21

      State: Okay

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Resync option: optimizedresync

    Owner: nodeone

    Size: 825930 blocks (403 MB)

有关优化的重新同步的更多信息,请参见优化的重新同步

基于应用程序的恢复和定向镜像读取

要在 Solaris Volume Manager for Sun Cluster 中优化数据恢复,诸如 Oracle Real Application Clusters 的应用程序需要具备管理和控制数据恢复的能力。使用应用程序控制恢复,可以提高恢复的性能。ioctl DKIOGETVOLCAPDKIOSETVOLCAPDKIODMR 为群集环境中的应用程序数据管理恢复提供了支持。这些 ioctl 为应用程序提供了以下功能:

有关用于基于应用程序的数据管理恢复的 ioctl 的更多信息,请参见 dkio(7I) 手册页。

只有在基于应用程序的恢复过程中,将重新同步选项设置为基于应用程序的恢复的 RAID-1 卷才具有镜像属主。metastat -s diskset-name 命令的以下输出显示了常规状态下的 RAID-1 卷。将重新同步选项设置为基于应用程序的恢复。没有镜像属主。


# metastat -s red

red/d24: Mirror

    Submirror 0: red/d20

      State: Okay

    Submirror 1: red/d21

      State: Okay

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Resync option: application based

    Owner: None

    Size: 825930 blocks (403 MB)