跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Cluster 系统管理指南 Oracle Solaris Cluster 4.0 (简体中文) |
1. Oracle Solaris Cluster 管理简介
2. Oracle Solaris Cluster 和 RBAC
Solaris Volume Manager 的全局设备许可
如何添加和注册设备组 (Solaris Volume Manager)
如何删除和取消注册设备组 (Solaris Volume Manager)
如何启用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能
随着群集要求的变化,您可能需要在群集中添加、删除或修改设备组。为此,Oracle Solaris Cluster 提供了一个名为 clsetup 的交互式界面。您可以在该界面中进行这些更改。clsetup 可生成 cluster 命令。生成的命令显示在某些过程结尾部分的示例中。下表列出了用于管理设备组的各项任务,并提供了指向本节中相应操作过程的链接。
注意 - 如果其他节点是活动群集成员并且至少其中的一个节点拥有磁盘集,请勿在群集之外引导的群集节点上运行 metaset —s setname —f -t。 |
注 - Oracle Solaris Cluster 软件可自动为群集中的每个磁盘和磁带设备创建一个原始磁盘设备组。但是,群集设备组仍处于脱机状态,直到您将这些组作为全局设备访问。
表 5-2 任务列表:管理设备组
|
当添加新的全局设备时,请通过运行 cldevice populate 命令手动更新全局设备名称空间。
注 - 如果运行 cldevice populate 命令的节点当前不是群集成员,则该命令没有任何效果。如果未挂载 /global/.devices/node@ nodeID 文件系统,则该命令也没有任何效果。
您可以同时在群集的所有节点上运行此命令。有关更多信息,请参见 devfsadm(1M) 手册页。
# cldevice populate
cldevice 命令会在所有节点上远程调用其自身,即使仅从一个节点上运行该命令也是如此。要确定 cldevice populate 命令是否已完成处理过程,请在群集的每个节点上运行以下命令。
# ps -ef | grep cldevice populate
示例 5-1 更新全局设备名称空间
以下示例显示了成功运行 cldevice populate 命令后生成的输出。
# devfsadm cldevice populate Configuring the /dev/global directory (global devices)... obtaining access to all attached disks reservation program successfully exiting # ps -ef | grep cldevice populate
如果在全局群集的一个或多个节点上为全局设备名称空间使用 lofi 设备,请执行此过程更改该设备的大小。
这样做可以确保您在执行此过程时不会从该节点为全局设备提供服务。有关说明,请参见如何以非群集模式引导节点。
全局设备文件系统在本地挂载。
phys-schost# umount /global/.devices/node\@`clinfo -n` > /dev/null 2>&1 Ensure that the lofi device is detached phys-schost# lofiadm -d /.globaldevices The command returns no output if the device is detached
注 - 如果使用 -m 选项挂载文件系统,则不会有任何条目添加到 mnttab 文件。umount 命令可能会报告类似如下的警告:
umount: warning: /global/.devices/node@2 not in mnttab ====>>>> not mounted
可以放心地忽略此警告。
以下示例显示了如何创建大小为 200 MB 的新 /.globaldevices 文件。
phys-schost# rm /.globaldevices phys-schost# mkfile 200M /.globaldevices
phys-schost# lofiadm -a /.globaldevices phys-schost# newfs `lofiadm /.globaldevices` < /dev/null
全局设备现在位于新文件系统中。
phys-schost# reboot
可在回送文件接口 (lofi) 设备上创建名称空间,而不是在专用分区上创建全局设备名称空间。
注 - 支持根文件系统的 ZFS,但有一个重要的例外。如果使用引导磁盘的专用分区作为全局设备文件系统,必须仅使用 UFS 作为其文件系统。全局设备名称空间要求在 UFS 文件系统上运行代理文件系统 (PxFS)。但全局设备名称空间的 UFS 文件系统可与根 (/) 文件系统及其他根文件系统(例如,/var 或 /home)的 ZFS 文件系统共存。另外,如果改为使用 lofi 设备来托管全局设备名称空间,则不会限制对根文件系统的 ZFS 的使用。
以下程序介绍如何在专用分区与 lofi 设备之间移动现有全局设备名称空间:
这样做可以确保您在执行此过程时不会从该节点为全局设备提供服务。有关说明,请参见如何以非群集模式引导节点。
如果存在该文件,请将其删除。
# mkfile 100m /.globaldevices# lofiadm -a /.globaldevices # LOFI_DEV=`lofiadm /.globaldevices` # newfs `echo ${LOFI_DEV} | sed -e 's/lofi/rlofi/g'` < /dev/null# lofiadm -d /.globaldevices
该条目具有以 /global/.devices/node@nodeID 开头的挂载路径。
# svcadm disable globaldevices # svcadm disable scmountdev # svcadm enable scmountdev # svcadm enable globaldevices
现已在 /.globaldevices 中创建 lofi 设备并挂载为全局设备文件系统。
# /usr/cluster/bin/cldevice populate
请先在每个节点上检验命令是否已完成处理,然后再对群集执行其他操作。
# ps -ef | grep cldevice populate
全局设备名称空间现已驻留在 lofi 设备上。
这样做可以确保您在执行此过程时不会从该节点为全局设备提供服务。有关说明,请参见如何以非群集模式引导节点。
大小至少为 512M
使用 UFS 文件系统
# /usr/sbin/clinfo -n node- ID
blockdevice rawdevice /global/.devices/node@nodeID ufs 2 no global
例如,如果选用的分区是 /dev/did/rdsk/d5s3 ,则要向 /etc/vfstab 文件添加如下新条目:/dev/did/dsk/d5s3 /dev/did/rdsk/d5s3 /global/.devices/node@3 ufs 2 no global。
# lofiadm -d /.globaldevices
# rm /.globaldevices
# svcadm disable globaldevices# svcadm disable scmountdev # svcadm enable scmountdev # svcadm enable globaldevices
该分区现已挂载为全局设备名称空间文件系统。
# /usr/cluster/bin/cldevice populate
# ps -ef | grep cldevice populate
全局设备名称空间现已驻留在专用分区上。
您可以为 Solaris Volume Manager、ZFS 或原始磁盘添加并注册设备组。
使用 metaset 命令可创建 Solaris Volume Manager 磁盘集,并将磁盘集注册为 Oracle Solaris Cluster 设备组。注册磁盘集时,系统会将您指定给磁盘集的名称自动指定给设备组。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
注意 - 您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。 |
要创建多所有者磁盘组,请使用 -M 选项。
# metaset -s diskset -a -M -h nodelist
指定要创建的磁盘集。
添加一组可以主控磁盘集的节点。
将磁盘组指定为多所有者的。
注 - 如果运行 metaset 命令在群集上建立 Solaris Volume Manager 设备组,则默认情况下,无论该设备组中包含多少个节点,都会生成一个辅助节点。创建了设备组之后,您可以使用 clsetup 实用程序更改所需辅助节点数。有关磁盘故障转移的更多信息,请参阅如何设置设备组所需的辅助节点数。
# cldevicegroup sync devicegroup
设备组名称与使用 metaset 命令指定的磁盘集名称相符。
# cldevicegroup list
# 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 …
使用完整的 DID 路径名称。
# metaset -s setname -a /dev/did/rdsk/dN
指定磁盘集的名称,该名称与设备组名称相同。
给磁盘集添加驱动器。
注 - 在向磁盘集添加驱动器时,请不要使用低级别的设备名称 ( cNtX dY)。因为低级别设备名称是本地名称,并且在群集中不是唯一的,使用该名称可能使元集无法切换。
# metaset -s setname
示例 5-2 添加 Solaris Volume Manager 设备组
以下示例显示了如何使用磁盘驱动器 /dev/did/rdsk/d1 和 /dev/did/rdsk/d2 创建磁盘集和设备组,并检验设备组是否已创建。
# metaset -s dg-schost-1 -a -h phys-schost-1 # cldevicegroup list dg-schost-1 # metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2
除其他卷管理器以外,Oracle Solaris Cluster 软件还支持使用原始磁盘设备组。对 Oracle Solaris Cluster 进行初始配置时,该软件会为群集中的每个原始设备自动配置设备组。请使用以下过程重新配置这些自动创建的设备组,以便在 Oracle Solaris Cluster 软件中使用。
基于以下原因新建原始磁盘类型的设备组:
您要将多个 DID 添加至设备组
您需要更改设备组的名称。
您要在不使用 cldevicegroup 命令的 -v 选项的情况下创建一组设备组。
注意 - 如果要在复制的设备上创建设备组,则您创建的设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。 |
使用以下命令可删除为 d7 和 d8 预定义的设备组。
paris-1# cldevicegroup disable dsk/d7 dsk/d8 paris-1# cldevicegroup offline dsk/d7 dsk/d8 paris-1# cldevicegroup delete dsk/d7 dsk/d8
使用以下命令可创建一个名为 rawdg 且包含 d7 和 d8 的全局设备组。
paris-1# cldevicegroup create -n phys-paris-1,phys-paris-2 -t rawdisk -d d7,d8 rawdg paris-1# /usr/cluster/lib/dcs/cldg show rawdg -d d7 rawdg paris-1# /usr/cluster/lib/dcs/cldg show rawdg -d d8 rawdg
要复制 ZFS,必须创建已命名的设备组并列出属于该存储池的磁盘。一个设备一次只能属于一个设备组,因此,如果已经存在包含该设备的 Oracle Solaris Cluster 设备组,则必须将该组删除后才能将该设备添加到新的 ZFS 设备组。
您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。
例如,如果存储池 mypool 含有两个设备 /dev/did/dsk/d2 和 /dev/did/dsk/d13,则必须删除 d2 和 d13 这两个默认设备组。
# cldevicegroup offline dsk/d2 dsk/d13 # cldevicegroup add dsk/d2 dsk/d13
# cldevicegroup create -n pnode1,pnode2 -d d2,d13 -t rawdisk mypool
此操作创建名为 mypool 的设备组(与存储池同名),它管理原始设备 /dev/did/dsk/d2 和 /dev/did/dsk/d13。
# zpool create mypool mirror /dev/did/dsk/d2 /dev/did/dsk/d13
# clrg create -n pnode1,pnode2 migrate_truecopydg-rg
您已在步骤 2 中创建了该设备。
# clrs create -t HAStoragePlus -x globaldevicepaths=mypool -g \ migrate_truecopydg-rg hasp2migrate_mypool
# clrg create -n pnode1:zone-1,pnode2:zone-2 -p \ RG_affinities=+++migrate_truecopydg-rg sybase-rg
将 resource_dependencies 属性设置为在步骤 5 中创建的 hasp-rs 资源。
# clrs create -g sybase-rg -t HAStoragePlus -p zpools=mypool \ -p resource_dependencies=hasp2migrate_mypool \ -p ZpoolsSearchDir=/dev/did/dsk hasp2import_mypool
您可针对设备组执行各种管理任务。
设备组是已经注册到 Oracle Solaris Cluster 的 Solaris Volume Manager 磁盘集。要删除一个 Solaris Volume Manager 设备组,请使用 metaclear 和 metaset 命令。这些命令可删除同名的设备组,并注销磁盘组,使之不再是 Oracle Solaris Cluster 设备组。
有关删除磁盘集的步骤,请参阅 Solaris Volume Manager文档。
使用此过程可将一个群集节点从所有在其潜在主节点列表中列出该节点的设备组中删除。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
在每个设备组的 Device group node list 中查找该节点名称。
# cldevicegroup list -v
# cldevicegroup list -v
如果该节点不再被列为任何设备组的潜在主节点,则以下命令不返回任何内容。
# cldevicegroup list -v nodename
使用此过程可将一个群集节点从 Solaris Volume Manager 设备组的潜在主节点列表中删除。对每个要从中删除该节点的设备组执行 metaset 命令。
注意 - 如果其他节点是活动群集成员并且至少其中的一个节点拥有磁盘集,则请勿在群集之外引导的群集节点上运行 metaset —s setname —f -t。 |
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
设备组类型 SDS/SVM 指示 Solaris Volume Manager 设备组。
phys-schost-1% cldevicegroup show devicegroup
# cldevicegroup status devicegroup
# metaset -s setname -d -h nodelist
指定设备组的名称。
从设备组中删除以 -h 标识的节点。
指定将要删除的一个或多个节点的节点名称。
注 - 完成更新可能需要几分钟。
如果该命令失败,请在命令中增加 -f(强制)选项。
# metaset -s setname -d -f -h nodelist
设备组名称与使用 metaset 命令指定的磁盘集名称相符。
phys-schost-1% cldevicegroup list -v devicegroup
示例 5-3 从设备组中删除一个节点 (Solaris Volume Manager)
下面的示例显示了如何从设备组配置中删除主机名 phys-schost-2。本示例消除了 phys-schost-2 成为指定设备组的潜在主节点的可能性。可运行 cldevicegroup show 命令检验节点是否已删除。检查删除的节点是否不再显示在屏幕文本中。
[Determine the Solaris Volume Manager device group for the node:] # cldevicegroup show dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: SVM failback: no Node List: phys-schost-1, phys-schost-2 preferenced: yes numsecondaries: 1 diskset name: dg-schost-1 [Determine which node is the current primary for the device group:] # cldevicegroup status dg-schost-1 === Cluster Device Groups === --- Device Group Status --- Device Group Name Primary Secondary Status ----------------- ------- --------- ------ dg-schost-1 phys-schost-1 phys-schost-2 Online [Become superuser on the node that currently owns the device group.] [Remove the host name from the device group:] # metaset -s dg-schost-1 -d -h phys-schost-2 [Verify removal of the node:]] phys-schost-1% cldevicegroup list -v dg-schost-1 === Cluster Device Groups === --- Device Group Status --- Device Group Name Primary Secondary Status ----------------- ------- --------- ------ dg-schost-1 phys-schost-1 - Online
使用此过程可将一个群集节点从原始磁盘设备组的潜在主节点列表中删除。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# cldevicegroup show -n nodename -t rawdisk +
# cldevicegroup set -p localonly=false devicegroup
有关 localonly 属性的更多信息,请参见 cldevicegroup(1CL) 手册页。
Disk 设备组类型指示已禁用该原始磁盘设备组的 localonly 属性。
# cldevicegroup show -n nodename -t rawdisk -v +
必须为每一个与正在删除的节点相连接的原始磁盘设备组完成此步骤。
# cldevicegroup remove-node -n nodename devicegroup
示例 5-4 从原始设备组中删除节点
本示例说明如何从原始磁盘设备组中删除节点 (phys-schost-2)。所有命令均是从该群集的另一节点 (phys-schost-1) 上运行的。
[Identify the device groups connected to the node being removed, and determine which are raw-disk device groups:] phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk -v + Device Group Name: dsk/d4 Type: Disk failback: false Node List: phys-schost-2 preferenced: false localonly: false autogen true numsecondaries: 1 device names: phys-schost-2 Device Group Name: dsk/d1 Type: SVM failback: false Node List: pbrave1, pbrave2 preferenced: true localonly: false autogen true numsecondaries: 1 diskset name: ms1 (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 [Disable the localonly flag for each local disk on the node:] phys-schost-1# cldevicegroup set -p localonly=false dsk/d4 [Verify that the localonly flag is disabled:] phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk + (dsk/d4) Device group type: Disk (dsk/d8) Device group type: Local_Disk [Remove the node from all raw-disk device groups:] phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d4 phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d2 phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d1
用于确立设备组的主拥有权的方法基于一个名为 preferenced 的拥有权首选属性的设置。如果未设置该属性,其他无主 (unowned) 设备组的主所有者便是第一个尝试访问该组中磁盘的节点。但是,如果设置了该属性,您必须指定节点尝试建立拥有权时采用的首选顺序。
如果禁用 preferenced 属性,则 failback 属性也将自动被禁用。但是,如果尝试启用或重新启用 preferenced 属性,则可以选择启用或禁用 failback 属性。
如果启用或重新启用了 preferenced 属性,则需要重新排列主拥有权首选列表中节点的顺序。
此过程使用 5 设置或取消设置 Solaris Volume Manager 设备组的 preferenced 属性和 failback 属性。
开始之前
要执行此过程,您需要知道要更改其属性值的设备组的名称。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# clsetup
这时将显示主菜单。
这时将显示“设备组”菜单。
这时将显示“更改主要属性”菜单。
按照说明为设备组设置 preferenced 和 failback 选项。
通过以下命令查看所显示的磁盘设备组信息。
# cldevicegroup show -v devicegroup
示例 5-5 更改设备组属性
以下示例显示了当 clsetup 对设备组 (dg-schost-1) 的属性值进行设置时所生成的 cldevicegroup 命令。
# cldevicegroup set -p preferenced=true -p failback=true -p numsecondaries=1 \ -p nodelist=phys-schost-1,phys-schost-2 dg-schost-1 # cldevicegroup show dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: SVM failback: yes Node List: phys-schost-1, phys-schost-2 preferenced: yes numsecondaries: 1 diskset names: dg-schost-1
numsecondaries 属性指定设备组中在主节点发生故障后可以控制该设备组的节点数。设备服务默认的辅助节点数为 1。您可将该值设置为一与设备组中有效非主提供节点的数目之间的任意整数。
该设置是平衡群集性能和可用性的一个重要因素。例如,增大所需的辅助节点数可以增大设备组在群集中同时发生多处故障时正常运行的机率。增大辅助节点数通常还会有规律地降低正常运行时的性能。一般情况下,辅助节点数越少,性能越好,但是可用性越差。但是,辅助节点数多并不一定会提高出现问题的文件系统或设备组的可用性。有关更多信息,请参阅《Oracle Solaris Cluster Concepts Guide》中的第 3 章 "Key Concepts for System Administrators and Application Developers"。
如果更改 numsecondaries 属性,则一旦此更改导致实际辅助节点数与所需辅助节点数不一致,系统将向设备组添加或从中删除辅助节点。
此过程使用 clsetup 实用程序为所有类型的设备组设置 numsecondaries 属性。有关配置任意设备组时的设备组选项的信息,请参阅 cldevicegroup(1CL)。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# clsetup
这时将显示主菜单。
这时将显示“设备组”菜单。
这时将显示“更改主要属性”菜单。
按照说明进行操作,并键入要为设备组配置的辅助节点数。此时,将执行相应的 cldevicegroup 命令并输出一条日志,然后返回到前一菜单。
# cldevicegroup show dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: Local_Disk failback: yes Node List: phys-schost-1, phys-schost-2 phys-schost-3 preferenced: yes numsecondaries: 1 diskgroup names: dg-schost-1
通过以下命令查看所显示的磁盘设备组信息。
# cldevicegroup show -v devicegroup
示例 5-6 更改所需的辅助节点数 (Solaris Volume Manager)
以下示例显示了当 clsetup 为设备组 (dg-schost-1) 配置所需的辅助节点数时所生成的 cldevicegroup 命令。此示例假定磁盘组和卷是以前创建的。
# cldevicegroup set -p numsecondaries=1 dg-schost-1 # cldevicegroup show -v dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: SVM failback: yes Node List: phys-schost-1, phys-schost-2 preferenced: yes numsecondaries: 1 diskset names: dg-schost-1
示例 5-7 将所需的辅助节点数设置为默认值
以下示例显示如何使用空字符串值配置默认的辅助节点数。设备组将配置为使用该默认值,即使默认值改变。
# cldevicegroup set -p numsecondaries= dg-schost-1 # cldevicegroup show -v dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: SVM failback: yes Node List: phys-schost-1, phys-schost-2 phys-schost-3 preferenced: yes numsecondaries: 1 diskset names: dg-schost-1
您无需成为超级用户即可列出配置。但您需要具备 solaris.cluster.read 授权。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
使用 cldevicegroup show 可列出群集中所有设备组的配置。
使用 cldevicegroup show devicegroup 可列出单个设备组的配置。
使用 cldevicegroup status devicegroup 可确定单个设备组的状态。
使用 cldevicegroup status + 可确定群集中所有设备组的状态。
在这些命令中使用 -v 选项可获取更为详细的信息。
示例 5-8 列出所有设备组的状态
# cldevicegroup status + === Cluster Device Groups === --- Device Group Status --- Device Group Name Primary Secondary Status ----------------- ------- --------- ------ dg-schost-1 phys-schost-2 phys-schost-1 Online dg-schost-2 phys-schost-1 -- Offline dg-schost-3 phys-schost-3 phy-shost-2 Online
示例 5-9 列出特定设备组的配置
# cldevicegroup show dg-schost-1 === Device Groups === Device Group Name: dg-schost-1 Type: SVM failback: yes Node List: phys-schost-2, phys-schost-3 preferenced: yes numsecondaries: 1 diskset names: dg-schost-1
此过程还可以用于启动不活动的设备组(使之联机)。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# cldevicegroup switch -n nodename devicegroup
指定要切换到的节点的名称。此节点成为新的主节点。
指定要切换的设备组。
如果正确注册了设备组,则使用以下命令时将显示新设备组的信息。
# cldevice status devicegroup
示例 5-10 切换设备组的主节点
以下示例显示了如何切换设备组的主节点以及如何检验此更改。
# cldevicegroup switch -n phys-schost-1 dg-schost-1 # cldevicegroup status dg-schost-1 === Cluster Device Groups === --- Device Group Status --- Device Group Name Primary Secondary Status ----------------- ------- --------- ------ dg-schost-1 phys-schost-1 phys-schost-2 Online
将设备组置于维护状态可在设备组中的某个设备被访问时防止设备组自动联机。如果修复过程要求停止所有 I/O 活动,直至修复完成,则在完成修复过程时您应当将设备组置于维护状态。此外,将设备组置于维护状态还可确保当系统在一个节点上修复磁盘集或磁盘组时,另一节点上的设备组不会联机,从而防止数据丢失。
有关如何恢复损坏的磁盘集的说明,请参见恢复损坏的磁盘组。
注 - 在将设备组置于维护状态之前,必须停止对其设备的所有访问并且必须卸载所有依赖该设备的文件系统。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# cldevicegroup disable devicegroup
# cldevicegroup offline devicegroup
对于 Solaris Volume Manager:
# metaset -C take -f -s diskset
注意 - 如果要获取 Solaris Volume Manager 磁盘集的所有权,必须在设备组处于维护状态时使用 metaset -C take 命令。使用 metaset -t 会将设备组联机,这是获取所有权的一部分。 |
注意 - 使设备组脱离维护状态之前,必须先释放对该磁盘集或磁盘组的所有权。如果释放拥有权失败,可导致数据丢失。 |
对于 Solaris Volume Manager:
# metaset -C release -s diskset
# cldevicegroup online devicegroup # cldevicegroup enable devicegroup
示例 5-11 将设备组置于维护状态
本示例说明了如何将设备组 dg-schost-1 置于维护状态,以及如何使该设备组脱离维护状态。
[Place the device group in maintenance state.] # cldevicegroup disable dg-schost-1 # cldevicegroup offline dg-schost-1 [If needed, manually import the disk set or disk group.] For Solaris Volume Manager: # metaset -C take -f -s dg-schost-1 [Complete all necessary repair procedures.] [Release ownership.] For Solaris Volume Manager: # metaset -C release -s dg-schost-1 [Bring the device group online.] # cldevicegroup online dg-schost-1 # cldevicegroup enable dg-schost-1