跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Cluster 软件安装指南 Oracle Solaris Cluster 4.1 (简体中文) |
本节介绍如何为群集配置创建磁盘集。在 Oracle Solaris Cluster 环境中创建 Solaris Volume Manager 磁盘集时,该磁盘集会自动向 Oracle Solaris Cluster 软件注册为 svm 类型的设备组。要创建或删除 svm 设备组,必须使用 Solaris Volume Manager 的命令和实用程序创建或删除设备组的底层磁盘集。
下表列出了您将执行以创建磁盘集的任务。按照以下顺序完成操作。
表 4-2 任务列表:配置 Solaris Volume Manager 磁盘集
|
开始之前
您要创建的磁盘集必须满足以下要求之一:
如果正好为磁盘集配置了两个磁盘串,则磁盘集必须正好连接至两个节点并使用两个或三个中介主机。这些中介主机必须包括两个主机,这两个主机需要连接到包含磁盘集的磁盘盒。有关如何配置双串中介的详细信息,请参见配置双串中介。
如果为磁盘集配置了两个以上的磁盘串,则应确保任意两个磁盘串 S1 和 S2 上的驱动器数目之和都会超过第三个磁盘串 S3 上的驱动器数目。用一个公式来表示,该需求为 count(S1) + count(S2) > count(S3)。
您可以同时在群集的所有节点上运行此命令。
phys-schost# cldevice populate
有关更多信息,请参见 cldevice(1CL) 手册页。
即使仅从一个节点运行,该命令也会以远程方式在所有的节点上执行。要确定该命令是否已完成处理过程,请在群集中的每个节点上运行以下命令:
phys-schost# ps -ef | grep scgdevs
有关说明,请参见如何创建状态数据库副本。
以下命令可创建磁盘集并将其注册为 Oracle Solaris Cluster 设备组。
phys-schost# metaset -s setname -a -h node1 node2
指定磁盘集名称。
添加(创建)磁盘集。
指定将控制磁盘集的主节点的名称。
指定将控制磁组集的辅助节点的名称
注 - 运行 metaset 命令以在群集上配置 Solaris Volume Manager 设备组时,该命令会默认指定一个辅助节点。创建设备组之后,可以使用 clsetup 实用程序更改设备组中所需的辅助节点数目。有关如何更改 《Oracle Solaris Cluster 系统管理指南》中的"管理设备组"Oracle Solaris Cluster System Administration Guide。
phys-schost# cldevicegroup sync device-group-name
有关数据复制的更多信息,请参见《Oracle Solaris Cluster 系统管理指南》中的第 4 章 "数据复制方法"。
phys-schost# metaset -s setname
phys-schost# cldevicegroup set -p name=value device-group
指定一个设备组属性。
指定属性的名称。
指定属性的值或设置。
指定设备组的名称。设备组名称与磁盘集名称相同。
有关设备组属性的信息,请参见 cldevicegroup(1CL)。
示例 4-2 创建磁盘集
以下命令将创建 dg-schost-1 和 dg-schost-2 这两个磁盘集,同时将节点 phys-schost-1 和 phys-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
接下来的步骤
将驱动器添加至磁盘集。请转至将驱动器添加到磁盘集。
将驱动器添加到磁盘集时,卷管理软件将对驱动器进行重新分区,以便将磁盘集的状态数据库放入驱动器。
每个驱动器都有一小部分被保留供 Solaris Volume Manager 软件使用。在带有 可扩展固件接口 (EFI) 标签的设备中,使用分片 6。每个驱动器上的剩余空间将放到分片 0 中。
将驱动器添加到磁盘集中时,只有在目标分片配置不正确的情况下才会对驱动器进行重新分区。
重新分区时,驱动器中的所有现有数据都将丢失。
如果目标分片是从 0 柱面开始的,而驱动器分区的大小又足以包含一个状态数据库副本,则驱动器不会进行重新分区。
开始之前
确保已创建磁盘集。有关说明,请参见如何创建磁盘集。
phys-schost# cldevice show | grep Device
选择由将要控制或可能要控制磁盘集的群集节点共享的驱动器。
向磁盘集添加驱动器时,请使用格式为 /dev/did/rdsk/d N 的完整 DID 设备名称。
在下面的示例中,DID 设备 /dev/did/rdsk/d3 的条目表明 phys-schost-1 和 phys-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 …
phys-schost# cldevicegroup switch -n node devicegroup
指定拥有设备组所有权的节点。
指定设备组名称,该名称与磁盘集名称相同。
使用完整的 DID 路径名称。
phys-schost# metaset -s setname -a /dev/did/rdsk/dN
指定磁盘集的名称,该名称与设备组名称相同。
给磁盘集添加驱动器。
注 - 在向磁盘集添加驱动器时,请不要使用低级别的设备名称 ( cNtX dY)。因为低级别设备名称是本地名称,并且在群集中不是唯一的,使用该名称可能使元集无法切换。
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 卷时使用这些分片。
当由您来对驱动器重新分区时,请执行相关步骤以防止 metaset 命令对驱动器进行重新分区。
不要让目标分片覆盖驱动器上的任何其他分片。
请参见 Solaris Volume Manager 管理指南来确定您的卷管理器软件版本的状态数据库副本的大小。
不要将此字段设置为只读的。
有关详细信息,请参见 format(1M) 手册页。
接下来的步骤
使用 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#。
请使用 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 …
有关样例 示例 4-4 文件,请参见Example 4–4。
注 - 如果将用于子镜像的驱动器上已经有数据,在设置卷之前必须先备份这些数据。然后将数据恢复到镜像上。
为避免群集环境内不同节点上的本地卷之间产生混淆,请使用一种可以使每个本地卷名称在整个群集中都唯一的命名方案。例如,对于节点 1,选择 d100 到 d199 之间的名称。对于节点 2,请使用 d200 到 d299 之间的名称。
有关如何创建 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 文件的结构如下所示。
第一行将设备 d0 定义为卷 d10 和 d20 的镜像。-m 表示该设备为镜像设备。
dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20
第二行将卷 d10(d0 的第一个子镜像)定义为单向存储条。
dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
第三行将卷 d20(d0 的第二个子镜像)定义为单向存储条。
dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0
接下来的步骤
激活在 md.tab 文件中定义的卷。请转至如何激活卷。
执行此过程可激活在 md.tab 文件中定义的 Solaris Volume Manager 卷。
phys-schost# cldevicegroup switch -n node device-group
指定拥有所有权的节点。
指定磁盘集名称。
phys-schost# metainit -s setname -a
指定磁盘集名称。
激活 md.tab 文件中的所有卷。
如有必要,请从另一个连接到驱动器的节点运行 metainit(1M) 命令。该步骤对于群集对拓扑是必需的,因为在此类拓扑中,并非所有节点都能访问驱动器。
phys-schost# metastat -s setname
有关更多信息,请参见 metastat(1M) 手册页。
对群集配置的归档备份有助于您更方便地恢复群集配置。有关更多信息,请参见《Oracle Solaris Cluster 系统管理指南》中的"如何备份群集配置"。
示例 4-5 激活 md.tab 文件中的卷
在以下示例中,在 md.tab 文件中为磁盘集 dg-schost-1 定义的所有卷均被激活。
phys-schost# metainit -s dg-schost-1 -a
接下来的步骤
如果群集包含正好配置了两个磁盘附件的磁盘集并且包含两个节点,请添加双串中介。请转至配置双串中介。
否则,请转至如何创建群集文件系统以了解如何创建群集文件系统。