Sun Cluster 软件安装指南(适用于 Solaris OS)

安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件

本节提供了安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件的以下信息和过程:

Solstice DiskSuite 或 Solaris Volume Manager 配置示例

以下示例有助于解释确定每个磁盘组中要放置的驱动器数目的过程。本示例中使用了三个存储设备。现有应用程序是在 NFS (大小均为 5 GB 的两个文件系统)上和两个 ORACLE 数据库(大小分别为 5 GB 和 10 GB)上运行的。

下表显示了用于确定样例配置中所需驱动器数目的计算结果。在包含三个存储设备的配置中,需要 28 个驱动器。应将这些驱动器尽可能平均地分布在三个存储设备中。请注意,为 5 GB 的文件系统提供了 1 GB 的附加磁盘空间,因为所需的驱动器数目是通过四舍五入得出的。

表 3–2 确定配置所需的驱动器数目

使用 

数据 

所需的磁盘存储器 

所需的驱动器 

nfs1

5 GB 

3x2.1 GB 磁盘 * 2 (镜像) 

nfs2

5 GB 

3x2.1 GB 磁盘 * 2 (镜像) 

SPARC:oracle1

5 GB 

3x2.1 GB 磁盘 * 2 (镜像) 

SPARC:oracle2

10 GB 

5x2.1 GB 磁盘 * 2 (镜像) 

10 

下表显示了在两个磁盘组和四个数据服务之间分配驱动器的情况。

表 3–3 磁盘组的分配

磁盘组 

数据服务 

驱动器 

存储设备 1 

存储设备 2 

存储设备 3 

dg-schost-1

nfs1oracle1

12 

dg-schost-2

nfs2oracle2

16 

最初,将每个存储设备(共 12 个驱动器)上的四个驱动器分配给 dg-schost-1,将每个存储设备(共 16 个驱动器)上的五个或六个驱动器分配给 dg-schost-2

两个磁盘组均未分配任何紧急备用磁盘。每个磁盘组的每个存储设备至少有一个紧急备用磁盘,就可以使一个驱动器成为紧急备用驱动器,该驱动器可以恢复完整的双向镜像。

如何安装 Solstice DiskSuite 软件


注意 –

以下情况下请勿执行此过程:


对群集中的每个节点执行该任务。

  1. 获取下列信息:

  2. 成为群集节点的超级用户。

  3. 如果从 CD-ROM 安装,请将 Solaris 8 Software 2 of 2 CD-ROM 放入节点的 CD-ROM 驱动器中。

    该步骤假定卷管理守护程序 vold(1M) 正在运行并且配置成管理 CD-ROM 设备。

  4. 按照以下示例中显示的顺序安装 Solstice DiskSuite 软件包。


    # cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packagespkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs
    


    注意 –

    如果要安装 Solstice DiskSuite 软件修补程序,在安装 Solstice DiskSuite 软件之后不要重新引导。


    所有 Solstice DiskSuite 安装都必需 SUNWmdrSUNWmdu 软件包。64 位 Solstice DiskSuite 安装还必需 SUNWmdx 软件包。

    有关可选软件包的信息,请参阅 Solstice DiskSuite 安装文档。

  5. 如果从 CD-ROM 安装,请弹出 CD-ROM。

  6. 安装所有 Solstice DiskSuite 修补程序。

    有关修补程序和安装说明的位置,请参阅《Sun Cluster 3.1 发行说明》中的“修补程序和所需的固件级别”。

  7. 对群集中的其他节点重复执行步骤 1步骤 6

  8. 从群集中的一个节点上,手动为 Solstice DiskSuite 输入全局设备名称空间。


    # scgdevs
    


    注意 –

    scgdevs 命令可能会返回如下所示的消息:


    设备忙,无法打开 /dev/rdsk/c0t6d0s2 检验设备 id

    如果列出的设备是 CD-ROM 设备,则可以安全地忽略该消息。


  9. 设置群集所需的元设备名称数和磁盘组数。

    转到如何设置元设备或卷名称以及磁盘组的数目

如何设置元设备或卷名称以及磁盘组的数目


注意 –

如果使用 SunPlex Installer 安装了 Solstice DiskSuite 软件,则请勿执行此过程。而应该转到镜像根磁盘


该过程介绍了如何确定您的配置所需的 Solstice DiskSuite 元设备或 Solaris Volume Manager 卷名称的数目以及磁盘组的数目。该过程还介绍如何通过修改 /kernel/drv/md.conf 文件指定这些数目。


提示 –

每个磁盘组的元设备名称或卷名称的缺省数目是 128,但许多配置需要的数目都大于该缺省数目。着手配置前请增大这个数目,以便节省今后管理的时间。

同时,保持 nmd 字段和 md_nsets 字段的值尽可能低。所有可能设备的内存结构由 nmdmd_nsets 确定,即使尚未创建这些设备。为了获得最佳性能,应保持 nmdmd_nsets 的值仅比要使用的元设备或卷的数目略高一点。


  1. 准备好 磁盘设备组配置工作表

  2. 确定希望群集中包含的磁盘组的总数,然后再添加一个用于专用磁盘管理的磁盘组。

    群集最多可以包含 32 个磁盘组,31 个磁盘组用于一般用途,外加一个磁盘组用于专用磁盘管理。磁盘组的缺省数目为 4。请在步骤 4 中的 md_nsets 字段中输入此值。

  3. 确定期望群集中任一磁盘所需的元设备名称或卷名称的最大数目。

    每个磁盘组最多可有 8192 个元设备名称或卷名称。您可以在步骤 4 中为 nmd 字段提供该值。

    1. 确定期望每个磁盘组所需的元设备名称或卷名称的数量。

      如果使用本地元设备或卷,请确保每个本地元设备名称或卷名在整个群集内都唯一,不与该群集内的任何设备 ID 同名。


      提示 –

      选择专用于设备 ID 名称的数值范围,以及供每个节点专用于其本地元设备名称或卷名的数值范围。例如,设备 ID 名称可以使用的数值范围为 d1d100。节点 1 上的本地元设备或卷名称可以使用的数值范围为 d100d199。节点 2 上的本地元设备或卷名称可以使用的数值范围为 d200d299


    2. 确定期望在任一磁盘组中使用的元设备名称或卷名称的最大值。

      要设置的元设备名称或卷名的数量取决于元设备名称或卷名的,而不是实际数量。例如,如果元设备名称或卷名的范围在 d950d1000,Solstice DiskSuite 或 Solaris Volume Manager 软件要求将该值设置为 1000 个名称,而不是 50 个。

  4. 在每个节点上,成为超级用户并编辑 /kernel/drv/md.conf 文件。


    Caution – Caution –

    所有群集节点(或群集对拓扑中的群集对)必须具有完全相同的 /kernel/drv/md.conf 文件,而不管每个节点为多少个磁盘组提供服务。不按本指南操作可能会导致严重的 Solstice DiskSuite 或 Solaris Volume Manager 错误,并且可能丢失数据。


    1. md_nsets 字段设置为在步骤 2 中确定的值。

    2. nmd 字段设置为在步骤 3 中确定的值。

  5. 在每个节点上,执行重新配置后的重新引导。


    # touch /reconfigure
    # shutdown -g0 -y -i6
    

    在执行了重新配置后的重新引导之后,对 /kernel/drv/md.conf 文件所作的更改方可生效。

  6. 创建本地状态数据库复本。

    转到如何创建状态数据库复本

如何创建状态数据库复本


注意 –

如果使用 SunPlex Installer 安装了 Solstice DiskSuite 软件,则请勿执行该过程。而应该转到镜像根磁盘


对群集中的每个节点执行该过程。

  1. 成为群集节点的超级用户。

  2. 在一个或多个本地设备上为每个群集节点创建状态数据库拷贝。

    使用物理名称 (cNtXdYsZ),而不是设备 ID 名称 (dN) 来指定要使用的盘片。


    # metadb -af slice-1 slice-2 slice-3
    


    提示 –

    要为状态数据提供保护(这是运行 Solstice DiskSuite 或 Solaris Volume Manager 软件所必需的),则至少为每个节点创建三个复本。此外,您可以将拷贝放在多个设备上,以在其中一个设备出现故障时提供保护。


    有关详细信息,请参阅 metadb(1M) 手册页和 Solstice DiskSuite 或 Solaris Volume Manager 文档。

  3. 检验复本。


    # metadb
    

    metadb 命令显示复本列表。

  4. 要镜像根磁盘上的文件系统,请转至镜像根磁盘

    否则,请转至在群集中创建磁盘组。以创建 Solstice DiskSuite 或 Solaris Volume Manager 磁盘组。

示例—创建状态数据库复本

以下示例显示了三个 Solstice DiskSuite 状态数据库复本。每个拷贝分别创建在不同的设备上。对于 Solaris Volume Manager,复本的大小会更大。


# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
# metadb
flags            first blk      block count
    a       u       16          1034         /dev/dsk/c0t0d0s7
    a       u       16          1034         /dev/dsk/c0t1d0s7
    a       u       16          1034         /dev/dsk/c1t0d0s7

镜像根磁盘

镜像根磁盘可防止因系统磁盘故障而关闭群集节点。四种类型的文件系统可驻留在根磁盘中。每种文件系统的镜像方法各不相同。

使用下列过程镜像各种类型的文件系统。


注意 –

这些镜像过程中的某些步骤可能导致出现以下所示的错误消息,该错误无关紧要,可以将其忽略。


metainit: dg-schost-1: d1s0: not a metadevice



Caution – Caution –

对于本地磁盘镜像,指定磁盘名称时不要将 /dev/global 用作路径。如果为非群集文件系统的系统指定了该路径,系统将无法引导。


如何镜像根 (/) 文件系统

使用此过程可以镜像根 (/) 文件系统。

  1. 成为节点的超级用户。

  2. 使用 metainit(1M) 命令将根盘片置于一个单盘片(单向)并置中。

    指定该根盘片的物理磁盘名称 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 root-disk-slice
    

  3. 创建第二个并置。


    # metainit submirror2 1 1 submirror-disk-slice
    

  4. 创建具有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    


    注意 –

    镜像的元设备名称或卷名在整个群集中必须是唯一的。


  5. 运行 metaroot(1M) 命令。

    此命令编辑 /etc/vfstab/etc/system 文件,以便可以通过元设备或卷上的根 (/) 文件系统来引导系统。


    # metaroot mirror
    

  6. 运行 lockfs(1M) 命令。

    该命令清理日志中的所有事务,并将这些事务写入所有已安装的 UFS 文件系统上的主文件系统中。


    # lockfs -fa
    

  7. 从节点中清空任何资源组或设备组。


    # scswitch -S -h from-node
    
    -S

    清空所有资源组和设备组

    -h from-node

    指定要从中清空资源组或设备组的节点的名称

  8. 重新引导该节点。

    此命令重新装载新镜像的根 (/) 文件系统。


    # shutdown -g0 -y -i6
    

  9. 使用 metattach(1M) 命令将第二个子镜像连接到镜像。


    # metattach mirror submirror2
    

  10. 如果用于镜像根磁盘的磁盘已物理连接至多个节点(多主机),则请启用 localonly 特性。

    请执行以下步骤,为用于镜像根磁盘的磁盘启用原始磁盘设备组的 localonly 特性。如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果需要,可以使用 scdidadm(1M) -L 命令来显示原始磁盘设备组的完整设备 ID 路径名称。

      在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. 查看原始磁盘设备组的节点列表。

      输出类似于以下内容:


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其根磁盘进行了镜像的节点以外的所有节点。

      原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁盘设备组在群集范围内唯一的名称

      nodelist=node

      指定要从节点列表中删除的节点的名称

    4. 使用 scconf(1M) 命令启用 localonly 属性。

      启用 localonly 特性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁盘设备组的名称

      有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

  11. 记录备选引导路径,以后可能会用到。

    如果主引导设备出现故障,可以通过这个备选引导设备引导。有关备选引导设备的详细信息,请参阅Solstice DiskSuite 4.2.1 User's Guide》中的 “Troubleshooting the System”Solaris Volume Manager Administration Guide》中的 “Mirroring root (/) Special Considerations”


    # ls -l /dev/rdsk/root-disk-slice
    

  12. 在群集的其余各节点上重复执行步骤 1步骤 11

    确保镜像的每个元设备名称或卷名在整个群集中是唯一的。

  13. (可选的) 要镜像全局名称空间 /global/.devices/node@nodeid,请转至如何镜像全局名称空间

  14. (可选的) 要镜像无法卸载的文件系统,请转至如何镜像无法卸载的根文件系统 (/) 以外的文件系统

  15. (可选的) 要镜像用户定义的文件系统,请转至如何镜像无法卸载的文件系统

  16. 请转至在群集中创建磁盘组。以创建磁盘组。

示例—镜像根 (/) 文件系统

以下示例显示了在节点 phys-schost-1 上创建镜像 d0 的过程,该镜像由分区 c0t0d0s0 上的子镜像 d10 和分区 c2t2d0s0 上的子镜像 d20 组成。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 特性。


(创建镜像)
# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(移动 phys-schost-1 中的资源组和设备组)
# scswitch -S -h phys-schost-1
 
(重新引导节点)
# shutdown -g0 -y -i6
 
(附加第二个子镜像)
# metattach d0 d20
d0: Submirror d20 is attached
 
(显示设备组节点列表)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(从节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true
 
(记录备用引导路径)
# ls -l /dev/rdsk/c2t2d0s0
lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 
–> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw

如何镜像全局名称空间

使用此过程可以镜像全局名称空间 /global/.devices/node@nodeid/

  1. 成为群集中一个节点上的超级用户。

  2. 将全局名称空间盘片置于单盘片(单向)并置中。

    使用磁盘片的物理磁盘名称 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  3. 创建第二个并置。


    # metainit submirror2 1 1 submirror-diskslice
    

  4. 创建具有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    


    注意 –

    镜像的元设备名称或卷名在整个群集中必须是唯一的。


  5. 将第二个子镜像与镜像连接。

    这一连接操作会启动子镜像的同步。


    # metattach mirror submirror2
    

  6. 编辑 /global/.devices/node@nodeid 文件系统的 /etc/vfstab 文件条目。

    用镜像名称替换 device to mountdevice to fsck 列中的名称。


    # 
    vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global

  7. 在群集的其余各节点上重复执行步骤 1步骤 6

  8. 等待步骤 5 中启动的镜像同步完成。

    使用 metastat(1M) 命令查看镜像状态以及检验镜像同步是否完成。


    # metastat mirror
    

  9. 如果用于镜像全局名称空间的磁盘已物理连接至多个节点(多主机),请启用 localonly 特性。

    请执行以下步骤为用于镜像全局名称空间的磁盘启用原始磁盘设备组的 localonly 特性。如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果需要,可以使用 scdidadm(1M) 命令来显示原始磁盘设备组的完整设备 ID 路径名称。

      在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. 查看原始磁盘设备组的节点列表。

      输出类似于以下内容。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其磁盘进行了镜像的节点以外的所有节点。

      原始磁盘设备组节点列表中应只保留对其磁盘进行了镜像的节点。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁盘设备组在群集范围内唯一的名称

      nodelist=node

      指定要从节点列表中删除的节点的名称

    4. 使用 scconf(1M) 命令启用 localonly 属性。

      启用 localonly 特性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁盘设备组的名称

      有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

  10. (可选的) 要镜像根 (/) 以外的、无法卸载的文件系统,请转至如何镜像无法卸载的根文件系统 (/) 以外的文件系统

  11. (可选的) 要镜像用户定义的文件系统,请转至如何镜像无法卸载的文件系统

  12. 请转至在群集中创建磁盘组。以创建磁盘组。

示例—镜像全局名称空间

下面的示例显示了创建镜像 d101 的过程,该镜像由分区 c0t0d0s3 上的子镜像 d111 和分区 c2t2d0s3 上的子镜像 d121 组成。/global/.devices/node@1/etc/vfstab 文件条目被更新为使用镜像名称 d101。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 特性。


(创建镜像)
# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
# metainit d121 1 1 c2t2d0s3
d121: Concat/Stripe is setup
# metainit d101 -m d111
d101: Mirror is setup
# metattach d101 d121
d101: Submirror d121 is attached
 
(编辑 /etc/vfstab 文件)
# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global
 
(查看同步状态)
# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
…
 
(标识镜像磁盘的原始磁盘设备组的设备 ID 名称)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(显示设备组节点列表)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(从节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true

如何镜像无法卸载的根文件系统 (/) 以外的文件系统

使用该过程,可以在正常使用系统期间镜像无法卸载的根文件系统 (/) 以外的文件系统,例如 /usr/optswap

  1. 成为群集中一个节点上的超级用户。

  2. 将无法卸载的文件系统驻留所在的盘片置于单盘片(单向)并置中。

    指定磁盘片的物理磁盘名称 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  3. 创建第二个并置。


    # metainit submirror2 1 1 submirror-diskslice
    

  4. 创建具有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    


    注意 –

    此镜像的元设备名称或卷名在整个群集中必是唯一的。


  5. 对要镜像的其余每个无法卸载的文件系统重复步骤 1步骤 4

  6. 在每个节点上,为已镜像的每个无法卸装的文件系统编辑 /etc/vfstab 文件条目。

    用镜像名称替换 device to mountdevice to fsck 列中的名称。


    # vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global

  7. 从节点中清空任何资源组或设备组。


    # scswitch -S -h from-node
    
    -S

    清空所有资源组和设备组

    -h from-node

    指定要从中清空资源组或设备组的节点的名称

  8. 重新引导该节点。


    # shutdown -g0 -y -i6
    

  9. 将第二个子镜像连接到每个镜像。

    这一连接操作会启动子镜像的同步。


    # metattach mirror submirror2
    

  10. 等待步骤 9 中启动的镜像同步完成。

    使用 metastat(1M) 命令查看镜像状态以及检验镜像同步是否完成。


    # metastat mirror
    

  11. 如果用于镜像可卸载文件系统的磁盘已物理连接至多个节点(多主机),请启用 localonly 特性。

    请执行以下步骤为用于镜像可卸载文件系统的磁盘启用原始磁盘设备组的 localonly 特性。如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果必要,使用 scdidadm -L 命令显示原始磁盘设备组的完整设备 ID 路径名称。

      在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。


      # scdidadm -L
      …
      1            phys-schost-3:/dev/rdsk/c1t1d0    /dev/did/rdsk/d2
      

    2. 查看原始磁盘设备组的节点列表。

      输出类似于以下内容。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其根磁盘进行了镜像的节点以外的所有节点。

      原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁盘设备组在群集范围内唯一的名称

      nodelist=node

      指定要从节点列表中删除的节点的名称

    4. 使用 scconf(1M) 命令启用 localonly 属性。

      启用 localonly 特性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁盘设备组的名称

      有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

  12. (可选的) 要镜像用户定义的文件系统,请转至如何镜像无法卸载的文件系统

  13. 请转至在群集中创建磁盘组。以创建磁盘组。

示例—镜像无法卸载的文件系统

下面的示例显示了在节点 phys-schost-1 上创建镜像 d1 来镜像驻留在 c0t0d0s1 上的 /usr 的过程。镜像 d1 由分区 c0t0d0s1 上的子镜像 d11 和分区 c2t2d0s1 上的子镜像 d21 组成。/usr/etc/vfstab 文件条目被更新为使用镜像名称 d1。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 特性。


(创建镜像)
# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
 
(编辑 /etc/vfstab 文件)
# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs  2       no global
 
(移动 phys-schost-1 中的资源组和设备组)
# scswitch -S -h phys-schost-1
 
(重新引导节点)
# shutdown -g0 -y -i6
 
(附加第二个子镜像)
# metattach d1 d21
d1: Submirror d21 is attached
 
(查看同步状态)
# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
…
 
(标识镜像磁盘的原始磁盘设备组的设备 ID 名称)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(显示设备组节点列表)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(从节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true

如何镜像无法卸载的文件系统

使用该过程可以镜像无法卸载的用户定义文件系统。在此过程中,不需要重新引导节点。

  1. 成为群集中一个节点上的超级用户。

  2. 卸载要镜像的文件系统。

    确保文件系统中没有正在运行的进程。


    # umount /mount-point
    

    有关详细信息,请参阅 umount(1M) 手册页和System Administration Guide: Basic Administration》中的 “Mounting and Unmounting File Systems”

  3. 使可以卸载的用户定义文件系统所在的盘片处于单片(单向)并置状态。

    指定磁盘片的物理磁盘名称 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 diskslice
    

  4. 创建第二个并置。


    # metainit submirror2 1 1 submirror-diskslice
    

  5. 创建具有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    


    注意 –

    此镜像的元设备名称或卷名在整个群集中必是唯一的。


  6. 为要镜像的每个可卸载的文件系统重复执行步骤 1步骤 5

  7. 在每个节点上,为已镜像的每个文件系统编辑 /etc/vfstab 文件条目。

    用镜像名称替换 device to mountdevice to fsck 列中的名称。


    # vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global

  8. 将第二个子镜像与镜像连接。

    这一连接操作会启动子镜像的同步。


    # metattach mirror submirror2
    

  9. 等待步骤 8 中启动的镜像同步完成。

    使用 metastat(1M) 命令查看镜像状态。


    # metastat mirror
    

  10. 如果用于镜像用户定义的文件系统的磁盘已物理连接至多个节点(多主机),请启用 localonly 特性。

    请执行以下步骤为用于镜像用户定义的文件系统的磁盘启用原始磁盘设备组的 localonly 特性。如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果需要,可以使用 scdidadm -L 命令来显示原始磁盘设备组的完整设备 ID 路径名称。

      在下面的示例中,原始磁盘设备组名称 dsk/d4 是输出的第三列(即完整的磁盘 ID 路径名称)的一部分。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. 查看原始磁盘设备组的节点列表。

      输出类似于以下内容。


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …

    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其根磁盘进行了镜像的节点以外的所有节点。

      原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁盘设备组在群集范围内唯一的名称

      nodelist=node

      指定要从节点列表中删除的节点的名称

    4. 使用 scconf(1M) 命令启用 localonly 属性。

      启用 localonly 特性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁盘设备组的名称

      有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

  11. 安装已镜像的文件系统。


    # mount /mount-point
    

    有关详细信息,请参阅 mount(1M) 手册页和System Administration Guide: Basic Administration》中的 “Mounting and Unmounting File Systems”

  12. 创建磁盘组。

    请转至在群集中创建磁盘组。

示例—镜像可以卸载的文件系统

下面的示例显示了创建镜像 d4 以镜像驻留在 c0t0d0s4 上的 /export 的过程。镜像 d4 由分区 c0t0d0s4 上的子镜像 d14 和分区 c2t2d0s4 上的子镜像 d24 组成。/export/etc/vfstab 文件条目被更新为使用镜像名称 d4。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 特性。


(卸载文件系统)
# umount /export
 
(创建镜像)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup
 
(编辑 /etc/vfstab 文件)
# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d4 /dev/md/rdsk/d4 /export ufs 2 no	global
 
(附加第二个子镜像)
# metattach d4 d24
d4: Submirror d24 is attached
 
(查看同步状态)
# metastat d4
d4: Mirror
      Submirror 0: d14
         State: Okay
      Submirror 1: d24
         State: Resyncing
      Resync in progress: 15 % done
…
 
(标识镜像磁盘的原始磁盘设备组的设备 ID 名称) )
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(显示设备组节点列表)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(从节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true
 
(安装文件系统)
# mount /export