本章提供了管理全局设备、磁盘路径监视和群集文件系统的过程。
以下是本章中包含的过程的列表。
有关本章中相关过程的高级说明,请参阅表 4–2。
有关全局设备、全局名称空间、磁盘设备组、磁盘路径监视和群集文件系统的概念信息,请参阅《Sun Cluster 概念指南(适用于 Solaris OS)》。
对 Sun Cluster 磁盘设备组的管理取决于群集上所安装的卷管理器。 Solstice DiskSuite/Solaris Volume Manager“支持群集”,因此可以使用 Solstice DiskSuite/Solaris Volume Manager metaset(1M) 命令添加、注册以及删除磁盘设备组。 如果使用的是 VERITAS Volume Manager (VxVM),您可以使用 VxVM 命令创建磁盘组。 然后,通过 scsetup(1M) 实用程序将磁盘组注册为 Sun Cluster 磁盘设备组。 删除 VxVM 磁盘设备组时,请使用 scsetup 命令和 VxVM 命令。
Sun Cluster 软件自动为群集中的每个磁盘设备和磁带设备各创建一个原始磁盘设备组。 但是,群集设备组仍处于脱机状态,直到您将这些组作为全局设备访问。 管理磁盘设备组或卷管理器磁盘组时,您需要在作为组的主节点的群集节点上操作。
通常不需要管理全局设备名称空间。 安装过程中会自动设置全局名称空间,并在 Solaris 操作环境重新引导时自动更新。 不过,如果全局名称空间需要更新,可以从任意群集节点运行 scgdevs (1M) 命令。 该命令会导致在所有其它群集节点成员上以及将来可能加入群集的节点上更新全局名称空间。
对全局设备许可所作的更改不会自动传播到 Solstice DiskSuite/Solaris Volume Manager 和磁盘设备的群集中的所有节点。 如果要更改全局设备的许可,必须手动更改群集中所有设备的许可。 例如,如果要将全局设备 /dev/global/dsk/d3s0 的许可更改为 644,则必须对群集中的所有节点执行
# chmod 644 /dev/global/dsk/d3s0
命令。
VxVM 不支持 chmod 命令。 要更改 VxVM 中的全局设备许可,请参阅 VxVM Administrator's Guide。
在完成对群集中的磁盘设备及磁带设备进行动态重新配置 (DR) 操作时,以下问题必须予以考虑。
有关 Solaris DR 功能说明的所有要求、过程和限制也适用于 Sun Cluster DR 支持。 唯一的例外是操作环境的停止操作。 因此,在通过 Sun Cluster 软件使用 DR 之前,须查阅有关 Solaris DR 功能的文档。 您特别要注意那些在执行 DR 分离操作时将影响非网络 IO 设备的问题。
Sun Cluster 拒绝在主节点中的活动设备上进行 DR 取出板卡操作。 可以对主节点内的非活动设备和辅助节点内的活动设备执行 DR 操作。
DR 操作之后,对群集数据的访问象以前一样继续。
Sun Cluster 拒绝进行影响仲裁设备可用性的 DR 操作。 有关详细信息,请参阅动态重新配置定额设备。
如果当前的主节点在您正对辅助节点执行 DR 操作时出现故障,则会影响群集的可用性。 主节点将无处可转移故障,直到为其提供了一个新的辅助节点。
要对全局设备执行 DR 操作,须按所示顺序完成下列步骤。
表 4–1 任务对应关系: 动态重新配置磁盘设备和磁带设备
任务 |
有关说明 |
---|---|
1. 如果某项 DR 操作会影响活动设备组而且必须在当前主节点上执行它,则在对设备执行 DR 删除操作之前先切换主节点和辅助节点。 | |
2. 对正在删除的设备执行 DR 删除操作。 |
Solaris 8 on Sun Hardware 和 Solaris 9 on Sun Hardware 文档集中的 Sun Enterprise 10000 DR Configuration Guide 和 Sun Enterprise 10000 Dynamic Reconfiguration Reference Manual。 |
要使 Sun Cluster 维护 VxVM 名称空间,则必须在 Sun Cluster 磁盘设备组配置发生更改的情况下将 VxVM 磁盘组或卷的任何更改进行注册。 注册这些更改可确保更新所有群集节点上的名称空间。 会影响名称空间的配置更改的示例包括添加、删除或重命名卷。 如果更改卷的许可、所有者或组 ID,也会影响到名称空间。
一旦将磁盘组在群集中注册为 Sun Cluster 磁盘设备组之后,就不要用 VxVM 命令导入或导出 VxVM 磁盘组。 Sun Cluster 软件处理需要导入或导出磁盘组的所有情况。
每个 VxVM 磁盘组必须有一个在整个群集范围内唯一的次编号。 缺省情况下,创建磁盘组时,VxVM 会选择一个 1000 的倍数中的一个随机数作为该磁盘组的基本次编号。 对于大多数仅有少量磁盘组的配置,次编号足以确保唯一性。 新创建的磁盘组的次编号可能会与其他节点上导入的现有磁盘组的次编号冲突。 在这种情况下,注册 Sun Cluster 磁盘设备组的尝试会失败。 要解决此问题,应当为新磁盘组提供一个新的唯一值作为次编号,然后将该磁盘组注册为 Sun Cluster 磁盘设备组。
如果安装的是镜像卷,则可以使用脏区记录 (DRL) 来缩短发生节点故障时的卷恢复时间。 强烈推荐使用 DRL,虽然使用 DRL 会降低 I/O 吞吐量。
VxVM 不支持 chmod 命令。 要更改 VxVM 中的全局设备许可,请参阅 VxVM 管理员指南。
Sun Cluster 3.1 4/04 软件不支持 VxVM 动态多路径 (DMP) 通过同一节点管理多个路径。
如果使用 VxVM 为 Oracle Parallel Server/Real Application Clusters 建立共享磁盘组,则使用 VERITAS Volume Manager Administrator's Reference Guide 中所述的 VxVM 群集功能。 为 Oracle Parallel Server/Real Application Clusters 创建共享磁盘组与创建其他磁盘组有所不同。 必须使用 vxdg -s 导入 Oracle Parallel Server/Real Application Clusters 共享磁盘组。 不在群集框架中注册 Oracle Parallel Server/Real Application Clusters 共享磁盘组。 要创建其他 VxVM 磁盘组,请参阅SPARC: 如何在初始化磁盘时创建新的磁盘组 (VERITAS Volume Manager)。
群集文件系统管理不需要特殊的 Sun Cluster 命令。 可以使用诸如 mount、 newfs 等标准的 Solaris 文件系统命令,象管理任何其它 Solaris 文件系统一样管理群集文件系统。 可以通过将 -g 选项指定给 mount 命令来安装群集文件系统。 也可以在引导时自动安装群集文件系统。
群集文件系统在读取文件时,文件系统并不更新这些文件的访问时间。
Sun Cluster 3.1 配置不支持以下 VxFS 功能:
快速 I/O
快照
存储检查点
convosync(转换 O_SYNC)
mincache
qlog、delaylog、tmplog
VERITAS CFS 需要 VERITAS 群集功能和 VCS
高速缓存顾问(可以使用,但只能在给定的节点上观察到其效果)
对于 VxFS 的所有其它功能和选项来说,只要它们在群集配置中受到支持,则也将受到 Sun Cluster 3.1 软件的支持。 有关群集配置中支持的 VxFS 选项的详细信息,请参阅 VxFS 文档。
以下有关如何使用 VxFS 来创建高可用性群集文件系统的指导信息是针对 Sun Cluster 3.1 4/04 配置的。
按 VxFS 文档中所述的以下过程来创建 VxFS 文件系统。
在主节点上安装和卸载 VxFS 文件系统。 主节点控制 VxFS 文件系统所在的磁盘。 如果从辅助节点上安装或卸载 VxFS 文件系统,则操作可能会失败。
从 VxFS 群集文件系统的主节点上执行所有的 VxFS 管理命令。
以下有关如何管理 VxFS 群集文件系统的指导信息并非只针对 Sun Cluster 3.1 4/04 软件。 但是,这些指导信息与您管理 UFS 群集文件系统的方式会有所不同。
您可以从群集中的任意节点管理 VxFS 群集文件系统上的文件。 ioctls 例外, 只能从主节点发出。 如果您不知道某个管理命令是否与 ioctls 有关,则从主节点上发出该命令。
如果 VxFS 群集文件系统故障转移到一个辅助节点上,则在故障转移期间所有正在进行的标准系统调用操作都会在该新的主节点上重新发出,而且此过程是透明的。 但是,如果在故障转移期间执行了与 ioctl 有关的任何操作,则此类操作将会失败。 在 VxFS 群集文件系统进行故障转移之后,请检查该群集文件系统的状态。 有些管理命令在故障转移之前就已在旧的主节点上发出,需要对它们采取更正措施。 有关详细信息,请参阅 VxFS 文档。
scsetup( 1M) 实用程序是 scconf(1M) 命令的交互式界面。 scsetup 生成 scconf 命令。 生成的命令显示在某些过程结尾部分的示例中。
Sun Cluster 软件自动为群集中的每个磁盘设备和磁带设备各创建一个原始磁盘设备组。 但是,群集设备组仍处于脱机状态,直到您将这些组作为全局设备访问。
任务 |
有关说明,请转到… |
---|---|
在不进行重配置重新引导的情况下更新全局设备名称空间 - 使用 scgdevs(1M) | |
添加 Solstice DiskSuite/Solaris Volume Manager 磁盘集并将它们注册为磁盘设备组 - 使用 metaset(1M) | |
从配置中删除 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组 - 使用 metaset 和 metaclear( 1M) | |
从所有磁盘设备组中删除节点 - 使用 scconf、metaset 和 scsetup | |
从 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组中删除节点 - 使用 metaset | |
SPARC:将 VERITAS Volume Manager 磁盘组作为磁盘设备组添加 - 使用 VxVM 命令和 scsetup( 1M) |
SPARC: 如何在初始化磁盘时创建新的磁盘组 (VERITAS Volume Manager)
SPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS Volume Manager)
SPARC: 如何向现有的磁盘设备组 (VERITAS Volume Manager) 添加新卷
SPARC: 如何使现有磁盘组成为磁盘设备组 (VERITAS Volume Manager)
SPARC: 如何给磁盘设备组 (VERITAS Volume Manager) 分配新的次编号
SPARC: 如何将磁盘组注册为磁盘设备组 (VERITAS Volume Manager)
|
SPARC:从配置中删除 VERITAS Volume Manager 磁盘设备组 - 使用 scsetup (生成 scconf) |
SPARC: 如何从磁盘设备组删除卷 (VERITAS Volume Manager)
|
SPARC:将节点添加到 VERITAS Volume Manager 磁盘设备组中 - 使用 scsetup 生成 scconf | |
SPARC:从 VERITAS Volume Manager 磁盘设备组中删除节点 - 使用 scsetup 生成 scconf | |
从原始磁盘设备组中删除节点 - 使用 scconf(1M) | |
更改磁盘设备组特性 - 使用 scsetup 生成 scconf | |
显示磁盘设备组及其特性 - 使用 scconf | |
更改设备组所需的辅助节点数 - 使用 scsetup 生成 scconf | |
切换磁盘设备组的主节点 - 使用 scswitch (1M) | |
使磁盘设备组处于维护状态 - 使用 metaset 或 vxdg |
添加新的全局设备时,请运行 scgdevs(1M) 手动更新全局设备名称空间。
如果运行 scgdevs 命令的节点当前不是群集成员,则该命令没有任何作用。 如果未安装 /global/.devices/node@ nodeID 文件系统,该命令也没有任何作用。
以下示例显示的是成功运行 scgdevs 后生成的输出内容。
# scgdevs Configuring the /dev/global directory (global devices)... obtaining access to all attached disks reservation program successfully exiting |
使用 metaset 命令可以创建 Solstice DiskSuite/Solaris Volume Manager 磁盘集并将此磁盘集注册为 Sun Cluster 磁盘设备组。 注册磁盘集后,分配给该磁盘集的名称将自动分配给磁盘设备组。
成为连接到想用其创建磁盘集的磁盘的节点的超级用户。
计算配置所需的元设备名称的数量,并修改各节点上的 /kernel/drv/md.conf 文件。
请参阅《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何设置元设备名称和磁盘集的数量”。
使用 metaset(1M) 命令可以添加 Solstice DiskSuite/Solaris Volume Manager 磁盘集并可以在 Sun Cluster 中将其注册为磁盘设备组。
# metaset -s diskset -a -h nodelist |
指定要创建的磁盘集。
添加一组可以主控磁盘集的节点。
如果运行 metaset 命令在群集上建立 Solstice DiskSuite/Solaris 卷管理器设备组,缺省情况下会生成一个辅助节点,无论该设备组中包含多少个节点。 可以在创建设备组之后,使用 scsetup(1M) 实用程序更改所需的辅助节点数目。 有关磁盘故障转移的详细信息,请参阅如何更改设备组所需的辅助节点数 。
检验是否已添加磁盘设备组。
磁盘设备组名称与用 metaset 指定的磁盘集名称相匹配。
# scconf -p | grep disk-device-group |
以下示例讲述磁盘集和磁盘设备组的创建并检验磁盘设备组是否已经创建。
# metaset -s dg-schost-1 -a -h phys-schost-1 # scconf -p | grep dg-schost-1 Device group name: dg-schost-1 |
磁盘设备组是已在 Sun Cluster 中注册的 Solstice DiskSuite/Solaris Volume Manager 磁盘集。 要删除 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组,请使用 metaclear 命令和 metaset 命令。 这些命令将同名磁盘设备组删除并取消其注册,使之不再是 Sun Cluster 磁盘设备组。
有关删除磁盘集的步骤,请参阅 Solstice DiskSuite/Solaris Volume Manager 的文档。
使用以下过程可以从所有将群集节点作为潜在主节点列出的磁盘设备组中删除该节点:
成为要作为所有磁盘设备组的潜在主节点而被删除的那个节点的超级用户。
确定要删除的节点是其成员的磁盘设备组。
在每个磁盘设备组的 Device group node list 中查找该节点名。
# scconf -p | grep ¨Device group" |
在步骤 2 中标识的磁盘设备组有没有属于设备组类型 SDS/SVM 的?
如果有,请执行如何从磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager) 删除节点中所述的过程。
如果没有,请转到步骤 4。
在步骤 2 中标识的磁盘设备组有没有属于设备组类型 VxVM 的?
如果有,请执行SPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除节点中所述的过程。
如果没有,请转到步骤 5。
确定要删除该节点的原始磁盘设备组。
请注意以下涉及 -pvv 的命令中包含两个“v”。 第二个“v”用于显示原始磁盘设备组:
# scconf -pvv | grep ¨Device group¨ |
检查步骤 5 中所列磁盘设备组中是否有属于设备组类型 Disk、Local_Disk 或这两者的?
如果有,请执行SPARC: 如何从原始磁盘设备组删除节点中所述的过程。
如果没有,请转到步骤 7。
检验是否已从所有磁盘设备组的潜在主节点列表中删除了该节点。
如果该节点不再是任何磁盘设备组的潜在主节点,则以下命令不返回任何内容:
# scconf -pvv | grep ¨Device group¨ | grep nodename |
使用以下过程可从 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组的潜在主节点列表中删除某个群集节点: 对每个要从中删除节点的磁盘设备组重复 metaset 命令。
检验节点是否仍是组的成员并该组是 SDS/SVM 设备组。
设备组类型 SDS/SVM 代表 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组。
phys-schost-1% scconf -pv | grep '(global-galileo)' (global-galileo) Device group type: SDS/SVM (global-galileo) Device group failback enabled: no (global-galileo) Device group node list: phys-schost-1, phys-schost-2 (global-galileo) Diskset name: global-galileo phys-schost-1% |
确定哪个节点是设备组当前的主节点。
# scstat -D |
成为当前拥有要修改的磁盘设备组的节点上的超级用户。
从磁盘设备组删除节点的主机名。
# metaset -s setname -d -h nodelist |
指定磁盘设备组名称
从磁盘设备组删除用 -h 标识的节点
从可以控制磁盘设备组的节点列表中删除节点
完成更新可能需要几分钟。
如果命令失败,请在命令中添加 -f(强制)选项:
# metaset -s setname -d -f -h nodelist |
对将作为潜在主节点被删除的节点所在的每个磁盘设备组都重复步骤 4。
检验是否已从磁盘设备组删除了该节点。
磁盘设备组名称与用 metaset 指定的磁盘集名称相匹配。
phys-schost-1% scconf -pv |grep Device group node list: phys-schost-1, phys-schost-2, phys-schost-1% |
以下示例显示了从磁盘设备组配置中删除主机名 phys-schost-2。 该示例排除了 phys-schost-2 作为指定磁盘设备组的主节点的可能性。 通过运行 scstat - D 命令检验节点是否已删除。 检查删除的节点是否不再显示在屏幕文本中。
[确定节点的 Solstice DiskSuite/Solaris Volume Manager 磁盘设备组 (2):] # scconf -pv | grep Device Device group name: dg-schost-1 Device group type: SDS/SVM Device group failback enabled: no Device group node list: phys-schost-1, phys-schost-2 Device group ordered node list: yes Device group diskset name: dg-schost-1 [确定节点的磁盘设备组:] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg-schost-1 phys-schost-1 phys-schost-2 [成为超级用户。] [从磁盘设备组中删除主机名:] # metaset -s dg-schost-1 -d -h phys-schost-2 [检验是否删除节点:] phys-schost-1% scconf -pv |grep Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group node list: dg-schost-1, phys-schost-2, |
如果要在群集中创建多于三个的磁盘集,则在创建这些磁盘集之前,请先执行以下步骤。 如果是第一次安装磁盘集,或要向完全配置的群集中添加更多的磁盘集,请执行以下步骤。
确保 md_nsets 变量的值足够高。 该值应当可以容纳要在群集中创建的磁盘集总数。
在群集的任何节点上,检查 /kernel/drv/md.conf 文件中的 md_nsets 变量的值。
如果群集中磁盘集的数目大于 md_nsets 的现有值减一,则在每个节点上增加 md_nsets 的值。
允许的最大磁盘集数是 md_nsets 的值减一。 md_nsets 可能的最大值为 32。
确保 /kernel/drv/md.conf 文件在群集的每个节点上都完全相同。
不按本指南操作可能导致严重的 Solstice DiskSuite/Solaris Volume Manager 错误并且可能丢失数据。
从一个节点,关闭群集。
# scshutdown -g0 -y |
SPARC:
ok boot |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@ 7,1/sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b |
在群集的每个节点上,运行 devfsadm (1M) 命令。
您可以同时在群集的所有节点上运行此命令。
在群集的一个节点上,运行 scgdevs (1M) 命令。
在试图在每个节点上创建任何磁盘集之前,都请先检验 scgdevs 命令已经完成。
scgdevs 命令在所有节点上远程调用其自身,即使仅从一个节点运行该命令也是如此。 要确定 scgdevs 命令是否已完成处理过程,请在群集的每个节点上运行以下命令。
% ps -ef | grep scgdevs |
此过程仅用于初始化磁盘。 如果是封装磁盘,请遵照SPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS Volume Manager)中的过程操作。
添加 VxVM 磁盘组后,您需要注册该磁盘设备组。
如果使用 VxVM 为 Oracle Parallel Server/Real Application Clusters 建立共享磁盘组,则使用 VERITAS Volume Manager Administrator's Reference Guide 中所述的 VxVM 群集功能。
成为符合以下条件的任何群集节点上的超级用户:该节点与组成所要添加的磁盘组的磁盘之间存在物理连接。
创建 VxVM 磁盘组和卷。
使用您的首选方法创建磁盘组和卷。
如果安装的是镜像卷,使用脏区日志记录 (DRL) 来缩短发生节点故障后的卷恢复时间。 但是,使用 DRL 可能减少 I/O 吞吐量。
有关完成此步操作的过程,请参阅 VERITAS Volume Manager 文档。
将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。
请参阅SPARC: 如何将磁盘组注册为磁盘设备组 (VERITAS Volume Manager)。
不在群集框架中注册 Oracle Parallel Server/Real Application Clusters 共享磁盘组。
此过程仅用于封装磁盘。 初始化磁盘时,请遵照过程SPARC: 如何在初始化磁盘时创建新的磁盘组 (VERITAS Volume Manager)。
您可以使非根磁盘加入 Sun Cluster 磁盘设备组中,方法是将磁盘封装为 VxVM 磁盘组,然后再将它们注册为 Sun Cluster 磁盘设备组。
只有在最初创建 VxVM 磁盘组时,才支持磁盘封装。 创建完 VxVM 磁盘组并将其注册为 Sun Cluster 磁盘设备组后,只有能进行初始化的磁盘才应添加到磁盘组。
如果使用 VxVM 为 Oracle Parallel Server/Real Application Clusters 建立共享磁盘组,则使用 VERITAS Volume Manager Administrator's Reference Guide 中所述的 VxVM 群集功能。
成为群集中任一个节点的超级用户。
如果所要封装的磁盘在 /etc/vfstab 文件中有文件系统条目,请确保将 mount at boot 选项设置为 no。
在磁盘封装并注册为 Sun Cluster 磁盘设备组之后,再设置回 yes。
封装磁盘。
使用 vxdiskadm 菜单或图形用户界面来封装磁盘。 VxVM 要求在磁盘的开始或尾部有两个可用分区和未分配的柱面。 第 2 片还必须设置到整个磁盘。 有关详细信息,请参阅 vxdiskadm 手册页。
关闭并重新启动节点。
scswitch(1M) 命令可将所有资源组和设备组从主节点切换到下一个首选节点。 使用 shutdown 可以关闭并重新启动节点。
# scswitch -S -h node[,...] # shutdown -g0 -y -i6 |
根据需要,可将所有的资源组和设备组切换回原始节点。
如果资源组和设备组按初始配置应将故障转移回主节点,则不必执行此步骤。
# scswitch -z -D disk-device-group -h node[,...] # scswitch -z -g resource-group -h node[,...] |
将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。
请参阅SPARC: 如何将磁盘组注册为磁盘设备组 (VERITAS Volume Manager)。
不在群集框架中注册 Oracle Parallel Server/Real Application Clusters 共享磁盘组。
将新卷添加到现有的 VxVM 磁盘设备组中时,请在联机磁盘设备组的主节点中执行此过程。
添加卷之后,您需要使用SPARC: 如何注册磁盘设备组配置更改 (VERITAS Volume Manager)过程注册配置更改。
成为群集任一节点上的超级用户。
确定要向其添加新卷的磁盘设备组的主节点。
# scstat -D |
如果磁盘设备组脱机,应使设备组联机。
# scswitch -z -D disk-device-group -h node[,...] |
切换指定的设备组。
指定磁盘设备组要切换到的节点的名称。 该节点将成为新的主节点。
从主节点(当前主控磁盘设备组的节点)创建磁盘组中的 VxVM 卷。
有关用于创建 VERITAS Volume Manager 卷的过程,请参阅 VxVM 文档。
由于注册了 VxVM 磁盘组的更改,所以,全局名称空间得以更新。
通过将磁盘组导入到当前节点上然后将该磁盘组注册为 Sun Cluster 的磁盘设备组,可以使现有的 VxVM 磁盘组成为 Sun Cluster 磁盘设备组。
如果与另一磁盘组的次编号发生冲突而导致磁盘设备组注册失败,则必须为新磁盘组分配一个新的未使用的次编号。 分配了新的次编号后,请重新运行该过程,以将磁盘组注册为 Sun Cluster 磁盘设备组。
成为群集中任一个节点的超级用户。
确定正在使用的次编号。
# ls -l /global/.devices/node@nodeid/dev/vx/dsk/* |
选择当前尚未使用的、1000 的其他倍数作为该新磁盘组的基本次编号。
为磁盘组指定新的次编号。
# vxdg reminor diskgroup base-minor-number |
将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。
此示例使用了次编号 16000-16002 和 4000-4001。vxdg reminor 命令可用于为新的磁盘设备组指定基本次编号 5000。
# ls -l /global/.devices/node@nodeid/dev/vx/dsk/* /global/.devices/node@nodeid/dev/vx/dsk/dg1 brw------- 1 root root 56,16000 Oct 7 11:32 dg1v1 brw------- 1 root root 56,16001 Oct 7 11:32 dg1v2 brw------- 1 root root 56,16002 Oct 7 11:32 dg1v3 /global/.devices/node@nodeid/dev/vx/dsk/dg2 brw------- 1 root root 56,4000 Oct 7 11:32 dg2v1 brw------- 1 root root 56,4001 Oct 7 11:32 dg2v2 # vxdg reminor dg3 5000 |
此过程使用 scsetup(1M) 实用程序将关联的 VxVM 磁盘设备组注册为 Sun Cluster 磁盘设备组。
一旦将磁盘设备组向群集注册后,请不要使用 VxVM 命令导入或导出 VxVM 磁盘组。 如果对 VxVM 磁盘组或卷进行了更改,则使用SPARC: 如何注册磁盘设备组配置更改 (VERITAS Volume Manager)过程注册该磁盘设备组的配置更改。 该过程可确保全局名称空间处于正确的状态。
注册 VxVM 磁盘设备组的先决条件如下:
群集中的节点的超级用户特权。
要注册为磁盘设备组的 VxVM 磁盘组的名称。
要主控磁盘设备组的节点的首选顺序。
磁盘设备组所需的辅助节点数。
定义了首选顺序后,也就指定了在首选节点被关闭然后又返回到群集中时,是否让磁盘设备组切换回首选节点。
有关节点首选项和恢复选项的详细信息,请参阅 scconf(1M)。
非主群集节点(备用节点)根据节点首选项顺序转换为辅助节点。 磁盘设备组的缺省辅助节点数通常设置为一。 该缺省设置使正常运行期间多个辅助节点的主检查点操作对性能的影响最小。 例如,在包含四个节点的群集中,缺省情况下配置一个主节点、一个辅助节点和两个备用节点。 另见SPARC: 如何设置所需的辅助节点数 (VERITAS Volume Manager)。
成为群集中任一个节点的超级用户。
进入 scsetup 实用程序。
# scsetup |
显示“Main Menu”。
要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要注册 VxVM 磁盘设备组,请键入 1(将 VxVM 磁盘组注册为设备组)。
按照说明输入要注册为 VxVM 磁盘设备组的 Sun Cluster 磁盘组的名称。
如果使用 VxVM 为 Oracle Parallel Server/Real Application Clusters 建立共享磁盘组,则不要向群集框架注册该共享磁盘组。 请使用 VERITAS Volume Manager Administrator's Reference Guide 中所述的 VxVM 的群集功能。
如果在尝试注册磁盘设备组时遇到以下错误,请为该磁盘设备组重新分配次编号。
scconf: Failed to add device group - in use |
要为磁盘设备组重新分配次编号,请遵照SPARC: 如何给磁盘设备组 (VERITAS Volume Manager) 分配新的次编号过程。 通过该过程,您可以分配新的次编号,该次编号不会与现有的磁盘设备组所用的次编号冲突。
检验磁盘设备组是否已注册并处于联机状态。
如果正确注册了磁盘设备组,则使用以下命令时将显示新磁盘设备组的信息。
# scstat -D |
如果更改了向群集注册过的 VxVM 磁盘组或卷的任何配置信息,则必须使用 scsetup( 1M) 同步磁盘设备组。 这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。 配置更改后的注册将确保全局名称空间处于正确的状态。 请参阅如何更新全局设备名称空间。
以下示例显示了 scsetup 注册 VxVM 磁盘设备组 (dg1) 时生成的 scconf 命令,以及检验步骤。 此示例假定 VxVM 磁盘组和卷为以前创建的磁盘组和卷。
# scsetup scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-1:phys-schost-2 # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg1 phys-schost-1 phys-schost-2 -- Device Group Status -- Device Group Status ------------ ------ Device group status: dg1 Online |
要在 VxVM 磁盘设备组上创建群集文件系统,请参阅如何添加群集文件系统。
如果存在与次编号相关的问题,请参阅SPARC: 如何给磁盘设备组 (VERITAS Volume Manager) 分配新的次编号。
更改 VxVM 磁盘组或卷的任何配置信息后,都需要注册 Sun Cluster 磁盘设备组的配置更改。 通过注册可确保全局名称空间处于正确的状态。
成为群集中任一节点上的超级用户。
运行 scsetup(1M) 实用程序。
# scsetup |
显示“Main Menu”。
要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要注册配置更改,请键入 2(同步 VxVM 设备组的卷信息)。
按照说明输入已更改配置的 VxVM 磁盘组。
以下示例显示了 scsetup 注册一个已更改的 VxVM 磁盘设备组 (dg1) 时生成的 scconf 命令。 此示例假定 VxVM 磁盘组和卷为以前创建的磁盘组和卷。
# scsetup scconf -c -D name=dg1,sync |
numsecondaries 特性指定了在设备组的主节点出现故障时能够主控此设备组的节点数。 设备服务缺省的辅助节点数为一。 该值可以设置为一和设备组中有效的非主提供节点的数目之间的任意整数。
该设置是平衡群集性能和可用性的一个重要因素。 例如,增大所需的辅助节点数可以增大设备组在群集中同时发生多处故障时正常运行的机率。 增大辅助节点数通常还会降低正常运行时的性能。 一般情况下,辅助节点数越少,性能越好,但是可用性越差。 但是,辅助节点数多并不一定会提高出现问题的文件系统或设备组的可用性。 有关详细信息,请参阅《Sun Cluster 概念指南(适用于 Solaris OS)》中的“管理和应用程序开发的关键概念”。
成为群集中任一个节点的超级用户。
运行 scsetup(1M) 实用程序。
# scsetup |
显示“Main Menu”。
要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要更改设备组的关键特性,请键入 6(更改设备组的关键特性)。
此时将显示“Change Key Properties Menu”。
要更改所需的辅助节点数,键入 2(更改 numsecondaries 特性)。
按照说明键入要为磁盘设备组配置的所需辅助节点数。 键入相应的值后,将执行相应的 scconf 命令。 然后会输出日志,用户返回上一个菜单。
使用 scconf -p 命令验证设备组配置。
# scconf -p | grep Device Device group name: dg-schost-1 Device group type: VxVM Device group failback enabled: yes Device group node list: phys-schost-1,phys-schost-2, phys-schost-3 Device group ordered node list: yes Device group desired number of secondaries: 1 Device group diskset name: dg-schost-1 |
如果更改已注册到群集的 VxVM 磁盘组或卷的任何配置信息,则必须使用 scsetup 重新注册磁盘设备组。 这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。 配置更改后的注册将确保全局名称空间处于正确的状态。 请参阅如何更新全局设备名称空间。
检验该磁盘设备组的主节点和状态。
# scstat -D |
以下示例显示了 scsetup 配置设备组 (diskgrp1) 所需的辅助节点数时生成的 scconf 命令。 有关在设备组创建后更改所需的辅助节点数的信息,请参阅如何更改设备组所需的辅助节点数 。
# scconf -a -D type=vxvm,name=diskgrp1, nodelist=host1:host2:host3,preferenced=true, \ failback=enabled,numsecondaries=2 |
从磁盘设备组删除卷后,必须遵照SPARC: 如何注册磁盘设备组配置更改 (VERITAS Volume Manager)过程为磁盘设备组的配置更改进行注册。
成为群集中任一个节点的超级用户。
确定该磁盘设备组的主节点和状态。
# scstat -D |
如果磁盘设备组为脱机状态,则使其联机。
# scswitch -z -D disk-device-group -h node[,...] |
执行切换。
指定要切换的设备组。
指定要切换到的节点的名称。 该节点将成为新的主节点。
从主节点(当前主控磁盘设备组的节点)删除磁盘组中的 VxVM 卷。
# vxedit -g diskgroup -rf rm volume |
指定包含该卷的 VxVM 磁盘组。
删除指定的卷。
使用 scsetup(1M) 注册磁盘设备组的配置更改,以更新全局名称空间。
删除 Sun Cluster 磁盘设备组将导致相应的 VxVM 磁盘组导出,而不是损坏。 但是,除非重新注册,否则即使 VxVM 磁盘组依然存在,也无法在群集中使用。
此过程使用 scsetup( 1M) 实用程序删除 VxVM 磁盘组并取消其作为 Sun Cluster 磁盘设备组的注册。
成为群集中任一个节点的超级用户。
使磁盘设备组脱机。
# scswitch -F -D disk-device-group |
使磁盘设备组脱机。
指定要脱机的设备组。
进入 scsetup 实用程序。
显示“Main Menu”。
# scsetup |
要使用 VxVM 设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要取消注册 VxVM 磁盘组,请键入 3(取消注册 VxVM 设备组)。
按照说明输入将要取消注册的 VxVM 磁盘组。
以下示例显示了脱机的 VxVM 磁盘设备组 dg1,以及 scsetup 删除并取消注册磁盘设备组时生成的 scconf 命令。
# scswitch -F -D dg1 # scsetup scconf -r -D name=dg1 |
此过程使用 scsetup(1M) 实用程序向磁盘设备组添加节点。
向 VxVM 磁盘设备组添加节点的先决条件如下:
群集中节点上的超级用户特权
要将节点添加到其中的 VxVM 设备组的名称
要添加的节点的名称或节点 ID
成为群集中任一个节点的超级用户。
在提示处键入 scsetup 命令。
# scsetup |
要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要向 VxVM 磁盘设备组添加节点,请键入 4(向 VxVM 设备组添加节点)。
按照说明输入设备组和节点的名称。
检验是否已添加节点。
通过以下命令查看所显示的新磁盘的设备组信息。
# scconf -p |
以下示例说明了 scsetup 向 VxVM 磁盘设备组 (dg1) 添加节点 (phys-schost-3) 时生成的 scconf 命令,以及检验步骤。
# scsetup scconf a D type=vxvm,name=dg1,nodelist=phys-schost-3 # scconf -p Device group name: dg1 Device group type: VXVM Device group failback enabled: yes Device group node list: phys-schost-1, phys-schost-3 |
使用以下过程可从 VERITAS Volume Manager (VxVM) 磁盘设备组(磁盘组)的潜在主节点列表中删除某个群集节点:
检验节点是否仍是组的成员并该组是 VxVM 设备组。
设备组类型 VxVM 代表 VxVM 磁盘设备组。
phys-schost-1% scconf -pv | grep '(global-galileo)' (global-galileo) Device group type: VxVM (global-galileo) Device group failback enabled: no (global-galileo) Device group node list: phys-schost-1, phys-schost-2 (global-galileo) Diskset name: global-galileo phys-schost-1% |
成为当前群集成员节点的超级用户。
执行 scsetup(1M) 命令。
# scsetup |
显示“Main Menu”。
要重新配置磁盘设备组,请键入 4(设备组和卷)。
要从 VxVM 磁盘设备组中删除该节点,请键入 5(从 VxVM 设备组删除节点)。
根据提示从磁盘设备组中删除群集节点。 系统将提示您输入有关以下内容的信息:
VxVM 设备组
节点名
检验是否已从 VxVM 磁盘设备组中删除节点。
# scconf -p | grep Device |
此示例说明将名为 phys-schost-1 的节点从 dg1 VxVM 磁盘设备组中删除的过程。
[确定节点的 VxVM 磁盘设备组:] # scconf -p | grep Device Device group name: dg1 Device group type: VxVM Device group failback enabled: no Device group node list: phys-schost-1, phys-schost-2 Device group diskset name: dg1 [成为超级用户并执行 scsetup 实用程序:] # scsetup Select Device groups and volumes>Remove a node from a VxVM device group. Answer the questions when prompted. You will need the following information. You Will Need: Example: VxVM device group name dg1 node names phys-schost-1 [检验 scconf 命令是否已正确执行:] scconf -r -D name=dg1,nodelist=phys-schost-1 Command completed successfully. Quit the scsetupDevice Groups Menu and Main Menu. [检验是否已删除节点:] # scconf -p | grep Device Device group name: dg1 Device group type: VxVM Device group failback enabled: no Device group node list: phys-schost-2 Device group diskset name: dg1 |
使用以下过程可从 VERITAS Volume Manager (VxVM) 磁盘设备组(磁盘组)的潜在主节点列表中删除某个群集节点:
使用以下过程可从原始磁盘设备组的潜在主节点列表中删除一个群集节点:
成为群集中其它节点(即不是要删除的节点)的超级用户。
标识与要删除的节点相连接的磁盘设备组。
在 Device group node list 条目中查找该节点名。
# scconf -pvv | grep Devicenodename | grep |
确定步骤 2 中标识的磁盘设备组中哪些是原始磁盘设备组。
原始磁盘设备组所属设备组类型是 Disk 或 Local_Disk。
# scconf -pvv | grep group type |
禁用每个 Local_Disk 原始磁盘设备组的 localonly 特性。
# scconf -c -D name=rawdisk-device-group,localonly=false |
有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。
检验是否已禁用与要删除的节点相连接的所有原始磁盘设备组的 localonly 特性。
Disk 设备组类型表示已对该原始磁盘设备组禁用 localonly 特性。
# scconf -pvv | grep group type |
从步骤 3 中标识的所有原始磁盘设备组中删除该节点。
必须为与要删除的节点相连接的每个原始磁盘设备组完成此步骤。
# scconf -r -D name=rawdisk-device-group,nodelist=nodename |
此示例显示从一个原始磁盘设备组删除节点 (phys-schost-2) 的过程。 所有命令均是从该群集的另一节点 (phys-schost-1) 上运行的。
[标识连接到将被删除节点的磁盘设备组:] phys-schost-1# scconf -pvv | grep phys-schost-2 | grep Device group node list (dsk/d4) Device group node list: phys-schost-2 (dsk/d2) Device group node list: phys-schost-1, phys-schost-2 (dsk/d1) Device group node list: phys-schost-1, phys-schost-2 [标识原始磁盘设备组:] phys-schost-1# scconf -pvv | grep group type (dsk/d4) Device group type: Local_Disk (dsk/d8) Device group type: Local_Disk [禁用节点上每个本地磁盘的 localonly 标志:] phys-schost-1# scconf -c -D name=dsk/d4,localonly=false [检验是否已禁用 localonly 标志:] phys-schost-1# scconf -pvv | grep group type (dsk/d4) Device group type: Disk (dsk/d8) Device group type: Local_Disk [从所有原始磁盘设备组中删除节点:] phys-schost-1# scconf -r -D name=dsk/d4,nodelist=phys-schost-2 phys-schost-1# scconf -r -D name=dsk/d2,nodelist=phys-schost-2 phys-schost-1# scconf -r -D name=dsk/d1,nodelist=phys-schost-2 |
建立磁盘设备组主拥有权的方法视拥有权首选属性设置(称为 preferenced)而定。 如果未设置该属性,则另外的无属主磁盘设备组的主属主是第一个尝试访问该组中的磁盘的节点。 但是,如果设置了该属性,您必须指定节点尝试建立拥有权时采用的首选顺序。
如果禁用 preferenced 属性,则 failback 属性也将自动禁用。 但是,如果尝试启用或重新启用 preferenced 属性,则可以选择启用或禁用 failback 属性。
如果启用或重新启用了 preferenced 属性,则需要重新排列节点在主拥有权首选列表中的顺序。
此过程使用 scsetup( 1M) 设置或取消设置 Solstice DiskSuite/Solaris Volume Manager 或 VxVM 磁盘设备组的 preferenced 属性和 failback 属性。
要运行此过程,需要正在更改其属性值的磁盘设备组的名称。
成为群集中任一个节点的超级用户。
运行 scsetup 命令。
显示“Main Menu”。
# scsetup |
要使用磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要更改设备组的关键特性,键入 6(更改 VxVM 或 Solstice DiskSuite/Solaris Volume Manager 设备组的关键特性)。
此时将显示“Change Key Properties Menu”。
要更改设备组特性,键入 1(更改首选特性和/或故障返回特性)。
按照说明为设备组设置 preferenced 和 failback 选项。
检验是否已更改磁盘设备组的属性。
通过以下命令查看所显示的磁盘设备组信息。
# scconf -p |
以下示例显示 了 scsetup 设置磁盘设备组 (dg-schost-1) 的属性值时生成的 scconf 命令。
# scconf -c -D name=dg-schost-1,nodelist=phys-schost-1:phys-schost-2,\ preferenced=true,failback=enabled,numsecondaries=1 # scconf -p | grep Device Device group name: dg-schost-1 Device group type: SDS Device group failback enabled: yes Device group node list: phys-schost-1, phys-schost-2 Device group ordered node list: yes Device group desired number of secondaries: 1 Device group diskset name: dg-schost-1 |
设备组辅助节点缺省数设置为一。 该设置指定设备组中可以在主节点出现故障时成为组的主拥有者的节点数。 所需辅助节点数的值可以设置为一和设备组中非主提供节点的数目之间的任意整数。
如果更改了 numsecondaries 特性,造成实际辅助节点数和所需辅助节点数不一致,将在设备组中添加或删除节点。
该过程使用 scsetup( 1M) 设置或取消设置 Solstice DiskSuite/Solaris Volume Manager 或 VxVM 磁盘设备组的 numsecondaries 特性。 有关配置任一设备组时的磁盘设备组选项的信息,请参阅 scconf_dg_rawdisk(1M)、scconf_dg_sds( 1M)、scconf_dg_svm( 1M) 和 scconf_dg_vxvm(1M)。
成为群集中任一个节点的超级用户。
运行 scsetup 实用程序。
# scsetup |
显示“Main Menu”。
要使用磁盘设备组,请键入 4(设备组和卷)。
这时将显示“Device Groups”菜单。
要更改设备组的关键特性,键入 6(更改设备组的关键特性)。
此时将显示“Change Key Properties Menu”。
要更改所需的辅助节点数,键入 2(更改 numsecondaries 特性)。
按照说明键入要为磁盘设备组配置的所需辅助节点数。 在输入相应的值后,将执行相应的 scconf 命令,输入一个日志,用户返回上一个菜单。
检验是否已更改磁盘设备组的属性。
通过以下命令查看所显示的磁盘设备组信息。
# scconf -p |
以下示例显示了 scsetup 配置设备组 (dg-schost-1) 所需的辅助节点数时生成的 scconf 命令。 此示例假定磁盘组和卷为以前创建的磁盘组和卷。
# scconf -c -D name=phys-host-1,nodelist=phys-schost-1:phys-schost-2,phys-schost-3\ preferenced=true,failback=enabled,numsecondaries=1 # scconf -p | grep Device Device group name: dg-schost-1 Device group type: SDS/SVM Device group failback enabled: yes Device group node list: phys-schost-1, phys-scost-2, phys-schost-3 Device group ordered node list: yes Device group desired number of secondaries: 1 Device group diskset name: dg-schost-1 |
以下示例显示如何使用空字符串值配置缺省的辅助节点数。 设备组将配置为使用该缺省值,即使缺省值改变。
# scconf -c -D name=diskgrp1, nodelist=host1:host2:host3, preferenced=false,failback=enabled,numsecondaries= # scconf -p | grep Device Device group name: dg-schost-1 Device group type: SDS/SVM Device group failback enabled: yes Device group node list: phys-schost-1, phost-2, phys-schost-3 Device group ordered node list: yes Device group desired number of secondaries: 1 Device group diskset name: dg-schost-1 |
您不需要成为超级用户就可以列出该配置。
使用 scstat(1M) 可以列出磁盘设备组配置。
% scstat -D |
使用 scconf(1M) 可以列出磁盘设备组配置。
% scconf -p |
使用 scstat -D 命令显示以下信息。
-- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: phys-schost-2 - - Device group servers: phys-schost-1 phys-schost-2 phys-schost-3 Device group servers: phys-schost-3 - - -- Device Group Status -- Device Group Status ------------ ------ Device group status: phys-schost-2 Offline Device group status: phys-schost-1 Online Device group status: phys-schost-3 Offline |
使用 scconf 命令时,请查看设备组下列出的信息。
# scconf -p ... Device group name: dg-schost-1 Device group type: SDS/SVM Device group failback enabled: yes Device group node list: phys-schost-2, phys-schost-3 Device group diskset name: dg-schost-1 |
此过程还可以用于启动不活动的设备组(使之联机)。
您还可以通过使用 SunPlex Manager GUI 使不活动的设备组联机或切换设备组的主节点。 有关详细信息,请参阅 SunPlex Manager 的联机帮助。
成为群集中任一个节点的超级用户。
使用 scswitch(1M) 可以切换设备组的主节点。
# scswitch -z -D disk-device-group -h node |
执行切换。
指定要切换的设备组。
指定要切换到的节点的名称。 此节点成为新的主节点。
检验磁盘设备组是否已切换到新的主节点。
如果已正确注册磁盘设备组,则使用以下命令时将显示新的磁盘设备组的信息。
# scstat -D |
以下示例说明了如何切换磁盘设备组的主节点并检验此更改。
# scswitch -z -D dg-schost-1 -h phys-schost-1 # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg-schost-1 phys-schost-1 phys-schost-2 -- Device Group Status -- Device Group Status ------------ ------ Device group status: dg-schost-1 Online |
使设备组处于维护状态可以在设备组的某个设备被访问时防止设备组自动联机。 完成修复过程后(该过程要求完成修复前停止一切 I/O 活动),应该使设备组处于维护状态。 使设备组处于维护状态还有助于防止数据丢失,具体方法是:确保在一个节点上磁盘设备组没有联机,而同时在另一个节点上修复磁盘集或磁盘组。
在将设备组置于维护状态之前,必须停止对其设备的所有访问并且必须卸载所有依赖该设备的文件系统。
使设备组处于维护状态。
# scswitch -m -D disk-device-group |
如果正在执行的修复过程要求磁盘集或磁盘组的拥有权,请手动导入该磁盘集或磁盘组。
对于 Solstice DiskSuite/Solaris Volume Manager:
# metaset -C take -f -s diskset |
如果要获得 Solstice DiskSuite/Solaris Volume Manager 磁盘集的拥有权,必须在设备组处于维护状态时使用 metaset -C take 命令。 使用 metaset -t 将使设备组联机,这是获取拥有权的一部分。 如果正在导入某个 VxVM 磁盘组,此时必须使用 -t 标志。 这样做可防止重新引导此节点时自动导入该磁盘组。
对于 VERITAS Volume Manager:
# vxdg -t import disk-group-name |
完成需要执行的任何修复过程。
释放磁盘集或磁盘组的拥有权。
使磁盘设备组脱离维护状态前,必须释放该磁盘集或磁盘组的拥有权。 如果不这样做,可能会导致数据丢失。
对于 Solstice DiskSuite/Solaris Volume Manager:
# metaset -C release -s diskset |
对于 VERITAS Volume Manager:
# vxdg deport disk-group-name |
使磁盘设备组联机。
# scswitch -z -D disk-device-group -h node |
此示例说明了如何使磁盘设备组 dg-schost-1 进入维护状态,以及如何使磁盘设备组脱离维护状态。
[使磁盘设备组进入维护状态。] # scswitch -m -D dg-schost-1 [如果需要,请手动输入磁盘集或磁盘组。] For Solstice DiskSuite/Solaris Volume Manager: # metaset -C take -f -s dg-schost-1 For VERITAS Volume Manager: # vxdg -t import dg1 [完成所有必要的修复过程。] [释放拥有权。] For Solstice DiskSuite/Solaris Volume Manager: # metaset -C release -s dg-schost-1 For VERITAS Volume Manager: # vxdg deport dg1 [使磁盘设备组联机。] # scswitch -z -D dg-schost-1 -h phys-schost-1 |
群集文件系统是通过全局方式使用的文件系统,可以从群集的任一节点对其进行读取或访问。
表 4–3 任务对应关系: 管理群集文件系统
任务 |
有关说明,请转到… |
---|---|
首次安装 Sun Cluster 后添加群集文件系统 - 使用 newfs(1M) 和 mkdir | |
删除群集文件系统 - 使用 fuser(1M) 和 umount(1M) | |
检查群集中的全局安装点在各节点是否一致 - 使用 sccheck(1M) |
首次安装 Sun Cluster 后,为所创建的每个群集文件系统执行此任务。
请确保指定了正确的磁盘设备名称。 创建群集文件系统会损坏磁盘上的所有数据。 如果指定的设备名称不正确,将删除您可能不打算删除的数据。
添加其它群集文件系统的先决条件如下:
群集中的节点的超级用户特权。
必须在群集上安装和配置卷管理器软件。
必须存在设备组(Solstice DiskSuite/Solaris Volume Manager 设备组或 VxVM 设备组)或块磁盘片,以便在其上创建群集文件系统。
如果安装数据服务时使用了 SunPlex Manger,并且有足够的共享磁盘用来创建群集文件系统,则一个或多个群集文件系统业已存在。
成为群集中任一节点上的超级用户。
要更快地创建文件系统,请成为要为其创建文件系统的全局设备的当前主节点的超级用户。
使用 newfs 命令创建文件系统。
newfs 命令仅适用于创建新的 UFS 文件系统。 要创建新的 VxFS 文件系统,请按 VxFS 文档中所述的过程进行操作。
# newfs raw-disk-device |
下表显示了 raw-disk-device 变量名称的示例。 请注意,卷管理器的命名规则各不相同。
表 4–4 原始磁盘设备名样例
如果您的卷管理器是… |
则磁盘设备的名称可能是… |
说明 |
---|---|---|
Solstice DiskSuite/Solaris Volume Manager |
/dev/md/oracle/rdsk/d1 |
oracle 磁盘集中的原始磁盘设备 d1。 |
SPARC:VERITAS Volume Manager |
/dev/vx/rdsk/oradg/vol01 |
oradg 磁盘组中的原始磁盘设备 vol01。 |
无 |
/dev/global/rdsk/d1s3 |
块片 d1s3 中的原始磁盘设备。 |
在群集中的每一节点上,创建群集文件系统的安装点目录。
每个节点上均需要装载点,即使节点上的群集文件系统不会被访问。
为便于管理,请在 /global/device-group 目录中创建安装点。 使用此位置,您可以很容易地将本地文件系统和群集文件系统区别开来,后者在全局范围内都可用。
# mkdir -p /global/device-group/mountpoint |
与包含该设备的设备组的名称相对应的目录名。
要在其上安装群集文件系统的目录的名称。
在群集中的每个节点上,为安装点的 /etc/vfstab 文件添加一个条目。
使用下列必需的安装选项。
对于所有群集文件系统,记录是必需的。
Solaris UFS logging – 使用 global,logging 安装选项。 有关 UFS 安装选项的详细信息,请参阅 mount_ufs(1M) 手册页。
对于 UFS 群集文件系统,不需要 syncdir 装载选项。 如果指定了 syncdir,就可以保证文件系统的行为与 POSIX 一致。 如果不指定,您会看到与 UFS 文件系统一样的行为。 如果未指定 syncdir,则可以显著改善分配磁盘块(如向文件附加数据时)的写入性能。 但是,在某些情况下,如果没有 syncdir,空间不足的情况在文件关闭前就无法发现。 如果不指定 syncdir,出现问题的情况就会很少。 如果具有 syncdir(和 POSIX 行为),空间不足的情况在文件关闭前就可以发现。
Solstice DiskSuite/Solaris Volume Manager trans 元设备或事务卷– 使用 global 安装选项(不要使用 logging 安装选项)。 有关设置 trans 元设备和事务卷的信息,请参阅 Solstice DiskSuite/Solaris Volume Manager 文档。
在以后的 Solaris 版本中,计划将事务卷从 Solaris 操作环境中取消。 自 Solaris 8 版本开始提供的 Solaris UFS 记录可以提供相同的功能,但是可以提高性能并降低系统管理的要求和开销。
VxFS 记录 – 使用 global 和 log 装载选项。 有关详细信息,请参阅 VxFS 软件附带的 mount_vxfs 手册页。
要自动装载群集文件系统,请将 mount at boot 字段设置为 yes。
请确保对于每个群集文件系统,其 /etc/vfstab 条目中的信息在每个节点上是完全相同的。
请确保每个节点的 /etc/vfstab 文件中的条目都以相同顺序列出设备。
检查文件系统的引导顺序相关性。
例如,假定出现以下情况:phys-schost-1 将磁盘设备 d0 安装于 /global/oracle,而 phys-schost-2 将磁盘设备 d1 安装于 /global/oracle/logs。 此时,只有在 phys-schost-1 引导并安装了 /global/oracle 之后,phys-schost-2 才能引导并安装 /global/oracle/logs。
有关详细信息,请参阅 vfstab(4) 手册页。
在群集的每个节点上,检验是否存在安装点以及群集的所有节点上的 /etc/vfstab 文件条目是否正确。
# sccheck |
如果没有错误,则不返回任何信息。
从群集中的任一节点,装载群集文件系统。
# mount /global/device-group/mountpoint |
在群集的每个节点上检验是否已装载群集文件系统。
可以使用 df 或 mount 命令来列出已装载的文件系统。
要在 Sun Cluster 环境中管理 VxFS 群集文件系统,请只从安装有 VxFS 群集文件系统的那个主节点运行管理命令。
以下示例在 Solstice DiskSuite/Solaris Volume Manager 元设备 /dev/md/oracle/rdsk/d1 上创建一个 UFS 群集文件系统。
# newfs /dev/md/oracle/rdsk/d1 ... [在每个节点上:] # mkdir -p /global/oracle/d1 # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging [保存并退出] [在一个节点上:] # sccheck # mount /dev/md/oracle/dsk/d1 /global/oracle/d1 # mount ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/ largefiles on Sun Oct 3 08:56:16 2001 |
您只需卸载群集文件系统就可以将其删除。 如果还想移除或删除数据,请从系统中删除基础磁盘设备(或元设备或卷)。
当运行 scshutdown( 1M) 来停止整个群集时,作为随即发生的系统关闭的一部分,群集文件系统会自动卸装。 运行 shutdown 来停止单个节点时,将不卸载群集文件系统。 但是,如果只有正被关闭的节点与磁盘相连,则任何对该磁盘上的群集文件系统的尝试访问均会导致出错。
卸载群集文件系统的先决条件是:
群集中的节点的超级用户特权。
文件系统不能处于忙状态。 如果用户处于文件系统的目录中或者某程序打开了该文件系统中的文件,则认为文件系统处于忙碌状态。 这个用户或程序可能运行在群集中的任一节点上。
成为群集中任一节点上的超级用户。
确定已安装的群集文件系统。
# mount -v |
在每个节点上都列出正在使用群集文件系统的所有进程,从而确认要停止哪些进程。
# fuser -c [ -u ] mountpoint |
报告有关用作文件系统的安装点的文件及安装的文件系统中任何文件的信息。
(可选)显示每个进程 ID 的用户登录名称。
指定您要停止其进程的群集文件系统的名称。
在每个节点上,停止群集文件系统的所有进程。
请使用停止进程的首选方法。 根据需要,请使用以下命令强制终止与群集文件系统相关的进程。
# fuser -c -k mountpoint |
向使用群集文件系统的每个进程发出 SIGKILL 命令。
在每个节点上,确保无任何进程正在使用群集文件系统。
# fuser -c mountpoint |
仅从一个节点卸载群集文件系统。
# umount mountpoint |
指定要卸载的群集文件系统的名称。 该名称既可以是安装群集文件系统的目录的名称,也可以是文件系统的设备名称路径。
(可选)编辑 /etc/vfstab 文件可以删除被删除的群集文件系统的条目。
对于任何群集节点,只要其 /etc/vfstab 文件中有此群集文件系统的条目,就要在该群集节点上执行此步骤。
(可选)删除磁盘设备 group/metadevice/plex。
有关详细信息,请参阅卷管理器文档。
以下示例删除安装在 Solstice DiskSuite/Solaris Volume Manager 元设备 /dev/md/oracle/rdsk/d1 上的 UFS 群集文件系统。
# mount -v ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles # fuser -c /global/oracle/d1 /global/oracle/d1: 4006c # fuser -c -k /global/oracle/d1 /global/oracle/d1: 4006c # fuser -c /global/oracle/d1 /global/oracle/d1: # umount /global/oracle/d1 (在每个节点上,删除突出显示的条目:) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging [保存并退出。] |
要删除群集文件系统中的数据,请删除基础设备。 有关详细信息,请参阅卷管理器文档。
sccheck (1M) 实用程序会检验 /etc/vfstab 文件中群集文件系统条目的语法。 如果没有错误,则不返回任何信息。
进行影响设备或卷管理组件的群集配置更改(如删除群集文件系统)后,请运行 sccheck。
通过磁盘路径监视 (DPM) 管理命令,可以接收辅助磁盘路径故障的通知。 使用本节中的过程执行与监视磁盘路径关联的管理任务。 有关磁盘路径监视守护程序的概念信息,请参阅《Sun Cluster 概念指南(适用于 Solaris OS)》中的“管理和应用程序开发的关键概念”。 有关 scdpm 命令选项及相关命令的说明,请参阅 scdpm(1M) 手册页。 有关守护程序报告的日志错误,请参阅 syslogd(1M) 手册页。
使用 scgdevs 或 scdidadm 命令向节点添加 I/O 设备时,磁盘路径将被自动添加到受监视的监视列表中。 使用 Sun Cluster 命令从节点删除设备时,也将自动取消监视磁盘路径。
任务 |
有关说明 |
---|---|
使用 scdpm 命令监视磁盘路径 | |
使用 scdpm 命令取消监视磁盘路径 | |
使用 scdpm 打印节点中故障磁盘路径的状况 | |
使用 scdpm -f 监视或取消监视文件的磁盘路径。 |
以下小节中介绍的过程将发出带有磁盘路径变量的 scdpm 命令。 磁盘路径变量通常由节点名称和磁盘名称组成。 如果不需要节点名称,它将缺省为 all(如果未指定任何节点名称)。 下表讲述了命名磁盘路径的规则。
全局磁盘路径名称在整个群集中是一致的,因此,建议使用全局磁盘路径名称。 UNIX 磁盘路径名称在整个群集中不一致。 在各个群集节点上的一个磁盘的 UNIX 磁盘路径可能会有所不同。 一个节点上的磁盘路径可能是 c1t0d0,而另一个节点上的磁盘路径则可能是 c2t0d0。 如果使用的是 UNIX 磁盘路径名称,请在发出 DPM 命令前使用 scdidadm -L 命令将 UNIX 磁盘路径名称映射为全局磁盘路径名称。 请参阅 scdidadm( 1M) 手册页。
名称类型 |
磁盘路径名称样例 |
说明 |
---|---|---|
全局磁盘路径 |
phys-schost-1:/dev/did/dsk/d1 |
phys-schost-1 节点上的磁盘路径 d1 |
all:d1 |
群集中所有节点上的磁盘路径 d1 |
|
UNIX 磁盘路径 |
phys-schost-1:/dev/rdsk/c0t0d0s0 |
phys-schost-1 节点上的磁盘路径 c0t0d0s0 |
phys-schost-1:all |
phys-schost-1 节点上的所有磁盘路径 |
|
所有磁盘路径 |
all:all |
群集中所有节点上的所有磁盘路径 |
执行此任务可以监视群集中的磁盘路径。
运行 Sun Cluster 3.1 5/03 软件 之前发行的版本的节点不支持 DPM。 进行轮询升级时,请不要使用 DPM 命令。 所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
成为群集中任一节点上的超级用户。
使用 scdpm 命令监视磁盘路径。
# scdpm -m node:disk path |
有关 node:disk path 变量的命名规则,请参阅表 4–6。
检验是否已监视磁盘路径。
# scdpm -p node:all |
以下示例监视单个节点的 schost-1:/dev/did/rdsk/d1 磁盘路径。 只有节点 schost-1 上的 DPM 守护程序监视到磁盘的路径 /dev/did/dsk/d1。
# scdpm -m schost-1:d1 # scdpm -p schost-1:d1 schost-1:/dev/did/dsk/d1 Ok |
以下示例监视所有节点的磁盘路径 schost-1:/dev/did/dsk/d1。 DPM 在 /dev/did/dsk/d1 对其为有效路径的所有节点上启动。
# scdpm -m all:/dev/did/dsk/d1 # scdpm -p schost-1:d1 schost-1:/dev/did/dsk/d1 Ok |
以下示例强制守护程序从 CCR 重新读取磁盘配置并打印监视的磁盘路径及其状态。
# scdpm -m all:all # scdpm -p all:all schost-1:/dev/did/dsk/d4 Ok schost-1:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d4 Fail schost-2:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d5 Unmonitored schost-2:/dev/did/dsk/d6 Ok |
使用以下过程可以取消监视磁盘路径。
运行 Sun Cluster 3.1 5/03 软件 之前发行的版本的节点不支持 DPM。 进行轮询升级时,请不要使用 DPM 命令。 所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
成为群集中任一节点上的超级用户。
确定要取消监视的磁盘路径的状态。
# scdpm -p [all:] disk path |
打印指定磁盘路径当前状态的详细列表
显示所有受监视和不受监视的磁盘路径
在每个节点上,取消监视相应的磁盘路径。
# scdpm -u node:disk path |
有关 node:disk path 变量的命名规则,请参阅表 4–6。
以下示例取消监视 schost-2:/dev/did/rdsk/d1 磁盘路径并打印整个群集的磁盘路径及其状态。
# scdpm -u schost-2:/dev/did/rdsk/d1 # scdpm -p all:all schost-1:/dev/did/dsk/d4 Ok schost-1:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d4 Fail schost-2:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d1 Unmonitored schost-2:/dev/did/dsk/d6 Ok |
使用以下过程可以打印群集的故障磁盘路径。
运行 Sun Cluster 3.1 5/03 软件 之前发行的版本的节点不支持 DPM。 进行轮询升级时,请不要使用 DPM 命令。 所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
成为群集中任一节点上的超级用户。
打印整个群集中故障磁盘路径。
# scdpm -p -F node:disk path |
有关 node:disk path 变量的命名规则,请参阅表 4–6。
以下示例打印整个群集的故障磁盘路径。
# scdpm -p -F [all:]all schost-1:/dev/did/dsk/d4 Fail schost-1:/dev/did/dsk/d3 Fail schost-2:/dev/did/dsk/d4 Fail schost-2:/dev/did/dsk/d3 Fail schost-2:/dev/did/dsk/d5 Fail schost-2:/dev/did/dsk/d6 Fail |
使用以下步骤监视或取消监视文件的磁盘路径。 该文件必须列出要监视或取消监视的命令、节点名称和磁盘路径名称。 文件中的每个字段都应通过列分隔。 按照以下示例格式化每个列表。
syntax in command file: [u,m] [node|all]:<[/dev/did/rdsk/]d- | [/dev/rdsk/]c-t-d- | all> command file entry u schost-1:/dev/did/rdsk/d5 m schost-2:all |
运行 Sun Cluster 3.1 5/03 软件 之前发行的版本的节点不支持 DPM。 进行轮询升级时,请不要使用 DPM 命令。 所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
以下示例监视或取消监视文件的磁盘路径。
# scdpm -f schost_config # scdpm -p all:all schost-1:/dev/did/dsk/d4 Ok schost-1:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d4 Fail schost-2:/dev/did/dsk/d3 Ok schost-2:/dev/did/dsk/d5 Unmonitored schost-2:/dev/did/dsk/d6 Ok |