下表列出了为 Sun Cluster 配置来配置 VxVM 时要执行的任务。
表 B-1 任务图:为 Sun Cluster 配置而配置 VxVM
任务 |
有关说明,请转到 ... |
---|---|
规划 VxVM 配置的布局。 | |
验证每个节点上的伪设备主编号是否相同。 | |
如有必要,请更改节点的伪设备主编号。 | |
创建根磁盘组 (rootdg)。 | |
创建共享磁盘组和卷。 | |
如有必要,通过分配新的次编号来解决磁盘设备组之间的次编号冲突。 | |
检验共享磁盘组和卷。 | |
创建并安装群集文件系统。 |
在所有的群集节点上,vxio 驱动程序必须具有完全相同的伪设备主编号。完 成安装后可以在 /etc/name_to_major 文件中找到此编号。使用下列过程以验证 伪设备主编号。
成为群集中一个节点的超级用户。
在每个群集节点上,查看伪设备主编号。
比如输入以下内容。
# grep vxio /etc/name_to_major vxio 45 |
比较所有节点的伪设备主编号。
每个节点的主编号应完全相同。如果编号有不同,则必须更改不相同的主编号。
要更改节点的伪设备主编号,请转到"如何更改伪设备主编号"。
或者,要设置根磁盘组 (rootdg),请转到"设置 rootdg 磁盘组概述"。
如果群集的每个节点的伪设备主编号不相同,则执行该过程。
成为您要更改其主编号的节点的超级用户。
编辑 /etc/name_to_major 文件,使所有 节点的该编号完全相同。
确认在每个节点的 /etc/name_to_major 文件中该编号是唯一的。检查 唯一性的快速方法是通过视觉检查在 /etc/name_to_major 文件中找出分配给 每个节点的最大编号,计算这些编号中的最大值,加 1,然后将和分配给 vxio 驱动 程序。
重新引导节点。
(可选的) 如果系统报告磁盘组错误并且群集 没有启动,则可能需要执行下列步骤。
要设置根磁盘组(rootdg),请转到"设置 rootdg 磁盘组概述"。
每个群集节点要求创建一个 rootdg 磁盘组。该磁盘组由 VxVM 用来 存储配置信息,它有以下限制。
对节点的 rootdg 磁盘组的访问必须仅限于该节点。
远程节点从不应访问存储在另一个节点的 rootdg 中的数据。
不要使用 scconf(1M) 命令将 rootdg 磁盘 组注册为共享的磁盘组。
如果可能,在非共享磁盘上为每个节点配置 rootdg。
Sun Cluster 软件支持下列配置 rootdg 磁盘组的方法。
封装节点的根磁盘 - 该方法允许镜像根磁盘,在根磁盘毁坏或损坏的情况下提供替代引导方法。根磁盘封装需要两个空闲磁盘片以及一些空闲柱面,最好在磁盘的开始或结尾处。
使用本地的 非根磁盘 - VxVM 可以初始化或封装 用作 rootdg 的本地磁盘,从而必然在节点本地创建一个磁盘组(既非全局 可访问,也不具有高可用性)。和根磁盘的情况一样,封装非根磁盘要求在磁盘的开始或结尾处有 两个空闲磁盘片以及一些空闲柱面。
有关详细信息,请参阅 VxVM 安装文档。
遵照此过程,通过封装根磁盘来创建一个 rootdg 磁盘组。
获取可用的 VERITAS 卷管理器 (VxVM) 许可证密钥。
成为群集中节点的超级用户。
确保根磁盘至少有两个磁盘片,该磁盘的结尾或开始部分有 0 柱面和一个或两个空闲柱面。
如有必要,使用 format(1M) 命 令来为每个 VxVM 磁盘片分配 0 柱面。如果盘片 7 被保留给卷管理器使用,则格式化盘片 7 还 将释放磁盘结尾处的所需额外空间。
启动 vxinstall(1M) 实用程序。
# vxinstall |
选择定制安装。
封装根磁盘。
为根磁盘选择一个在群集中唯一的名称。命名根磁盘的简单方法是在缺省名称后 添加一个字母。
例如,如果给定的缺省名称是 rootdisk,则在一个节点上将根磁盘命名 为 rootdiska,将下一个节点上的根磁盘命名 为 rootdiskb,依此类推。
不要向 rootdg 磁盘组中添加任何其他磁盘。
对任何其他控制器,请选择 4(不要动这些磁盘)。
不要接受关机和重新引导。
有关详细信息,请参阅 VxVM 安装文档。
因为禁用了 Dynamic Multipathing (DMP),所以可能生成类似如下的错误消息。您 可以放心地忽略此消息。
vxvm:vxdmpadm: ERROR: vxdmp module is not loaded on the system. Command invalid. |
为 /global/.devices/node@nodeid 文件系统编辑 /etc/vfstab 文件设备名。
需要进行该修改,以便 VxVM 能识别 出 /global/.devices/node@nodeid 文件系统是不 是位于根磁盘上。
将现有的设备名称替换为在 /globaldevices 项中使用的名称,后者 被注释掉了。例如,请考 虑 /globaldevices 和 /global/.devices/node@2 的 下列 /etc/vfstab 文件项。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options ... #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2 yes - ... /dev/did/dsk/d4s3 /dev/did/rdsk/d4s3 /global/.devices/node@2 ufs 2 no global |
应将 /global/.devices/node@2 项更改为下列内容。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options ... #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2 yes - ... /dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /global/.devices/node@2 ufs 2 no global |
从一个节点中,使用 scshutdown(1M) 命令关闭群集。
# scshutdown |
以非群集模式重新引导每个节点。
对每个节点运行下列命令以非群集模式重新引导。
ok boot -x |
不要以群集方式重新引导节点。
如果节点显示类似如下的消息,请按下 Control-D 来继续引导。
忽略手工运行 fsck 的说明。接下 Control-D 以继续引导并且完成剩余的根磁盘封装过程。
WARNING - Unable to repair the /global/.devices/node@1 filesystem. Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk3vola). Exit the shell when done to continue the boot process. Type control-d to proceed with normal startup, (or give root password for system maintenance): |
/global/.devices/node@nodeid 文件系统 仍需要作一些修改,群集才能将它全局安装到每个节点上。因为这种要求,除一个节点外,所有其他 节点均将无法在此重新引导过程中安装 /global/.devices/node@nodeid 文 件系统,从而产生一条警告消息。
VxVM封装根磁盘并且更新 /etc/vfstab 条目。
卸装在 步骤 8 中成功安装 的 /global/.devices/node@nodeid 文件系统。
# umount /global/.devices/node@nodeid |
卸装该文件系统使您可以在 步骤 10 中给磁盘组重编次编号,而不 必重新引导节点两次以初始化更改。在 步骤 14 中,重新引导时会自动 重新安装此文件系统。
在群集的每个节点上给 rootdg 磁盘组重编次编号。
分配一个在群集中唯一并且小于 1000 的 rootdg 次编 号以避免共享磁盘组的次编号冲突。有效的重编次编号方案是在第一个节点上 分配 100,在第二个节点上分配 200,依次类推。
# vxdg reminor rootdg n |
分 配 rootdg 次编号
执行该命令后,可能显示类似如下的警告信息。您可以放心地忽略此消息。
vxvm:vxdg: WARNING: Volume swapvol: Device is open, will renumber on reboot |
将新的次编号应用到根磁盘卷。重新引导后会给交换卷重新编号。
# ls -l /dev/vx/dsk/rootdg total 0 brw------- 1 root root 55,100 Apr 4 10:48 rootdiska3vol brw------- 1 root root 55,101 Apr 4 10:48 rootdiska7vol brw------- 1 root root 55, 0 Mar 30 16:37 rootvol brw------- 1 root root 55, 7 Mar 30 16:37 swapvol |
在群集的每个节点中,如果未使用根磁盘中的根 (/) 文件 系统配置 /usr 文件系统,则手工更新 /usr 卷的 设备节点。
移除现有的 /usr 设备节点。
# rm /dev/vx/dsk/usr # rm /dev/vx/dsk/rootdg/usr # rm /dev/vx/rdsk/usr # rm /dev/vx/rdsk/rootdg/usr |
确定分配给 /usr 文件系统的新的次编号。
# vxprint -l -v usrvol Disk group: rootdg Volume: usrvol ... device: minor=102 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol |
使用新的次编号创建新的 /usr 设备节点。
# mknod /dev/vx/dsk/usr b major_number new-minor-number # mknod /dev/vx/dsk/rootdg/usr b major_number new-minor-number # mknod /dev/vx/rdsk/usr c major_number new-minor-number # mknod /dev/vx/rdsk/rootdg/usr c major_number new-minor-number |
在群集的每个节点中,如果未使用根磁盘中的根 (/) 文件 系统配置 /var 文件系统,则手工更新 /var 卷的 设备节点。
移除现有的 /var 设备节点。
# rm /dev/vx/dsk/var # rm /dev/vx/dsk/rootdg/var # rm /dev/vx/rdsk/var # rm /dev/vx/rdsk/rootdg/var |
确定分配给 /var 文件系统的新的次编号。
# vxprint -l -v usrvol Disk group: rootdg Volume: usrvol ... device: minor=103 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol |
使用新的次编号创建新的 /var 设备节点。
# mknod b /dev/vx/dsk/var major_number new-minor-number # mknod b /dev/vx/dsk/rootdg/var major_number new-minor-number # mknod c /dev/vx/rdsk/var major_number new-minor-number # mknod c /dev/vx/rdsk/rootdg/var major_number new-minor-number |
从一个节点中关闭群集。
# scshutdown |
将每个节点重新引导到群集模式。
ok boot |
(可选的) 镜像群集中每个节点的根磁盘。
有关镜像根的说明,请参阅 VxVM 文档。
如果您镜像了根磁盘,则在群集中的每个节点 上,启用与用于镜像此节点的根磁盘的磁盘关联的原始磁盘设备组的 localonly 属 性。
对于每一个节点,配置一个不同的原始磁盘设备组,此磁盘设备组将唯一地由该节点用来 镜像根磁盘。如果引导设备与多个节点连接,则必须启用 localonly 特性以 防止无意中使一个节点与其引导设备隔离。
# scconf -c -D name=rawdisk_groupname,localonly=true |
指定原始磁盘设备组的群集唯一名称
使用 scdidadm -L 命令来显示原始磁盘设备组的完全 设备 ID (DID) 伪驱动程序名称。在下面的示例中,原始磁盘设备组 名称 dsk/d1 是从输出的第三列中提取的,此名称就是完全 DID 伪驱动程序 名称。scconf 命令然后配置 dsk/d1 原始磁盘设备 组,使之唯一由节点 phys-schost-3 用来镜像其根磁盘。
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 phys-schost-3# scconf -c -D name=dsk/d1,localonly=true |
有关 localonly 特性的详细信息,请 参阅 scconf_dg_rawdisk(1M) 手册页。
要创建共享磁盘组,请转到"如何创建并注册共享磁盘组"。
遵照此过程,可通过封装或初始化本地非根磁盘来创建 一个 rootdg 磁盘组。
获取可用的 VERITAS 卷管理器 (VxVM) 许可证密钥。
成为节点的超级用户。
(可选的) 如果将要封装磁盘,则确保每个磁盘至少有两个 具有 0 柱面的磁盘片。
如有必要,使用 format(1M) 命 令来为每个 VxVM 磁盘片分配 0 柱面。
启动 vxinstall(1M) 实用程序。
# vxinstall |
选择定制安装。
不要封装根磁盘。
选择要添加到 rootdg 磁盘组的任何磁盘。
不要接受自动重新引导。
从节点中抽出所有资源组或设备组。
# scswitch -S -h node |
抽出所有资源组和设备组。
指定要从中抽出资源或设备组的节点的名称。
重新引导节点。
# shutdown -g 0 -y -i 6 |
要创建共享磁盘组,请转到"如何创建并注册共享磁盘组"。
遵照此过程可创建 VxVM 磁盘组和卷。
从一个节点运行此过程,该节点物理连接着组成要添加的磁盘组的磁盘。
将磁盘组以磁盘设备组身份注册到群集后,一定不要使用 VxVM 命令导入或导 出 VxVM 磁盘组。Sun Cluster 软件可以处理所有需要导入或导出磁盘组的情况。有关管理 Sun Cluster 磁 盘设备组的过程,请参阅 Sun Cluster 3.0 系统管理指南。
获取下列信息。
存储磁盘设备的映射。请参 阅 Sun Cluster 3.0 Hardware Guide 中有关执行存储设备的初始安装的章节。
Sun Cluster 3.0 发行说明 的以下完整的配置规划工作表。
"Local File System Layout Worksheet"
"Disk Device Group Configurations Worksheet"
"Volume Manager Configurations Worksheet"
有关规划指南,请参见第 1 章,规划 Sun Cluster 配置。
成为将拥有磁盘组的节点的超级用户。
创建 VxVM 磁盘组和卷。
使用您的首选方法来创建磁盘组和卷。
可以使用“脏区域记录 (DRL)”来缩短节点失败时的卷恢复时间。但是,使 用 DRL 可能减少 I/O 吞吐量。
有关完成此步操作的过程,请参阅 VERITAS 卷管理器 文档。
将磁盘组注册为 Sun Cluster 磁盘设备组。
启动 scsetup(1M) 实用程序。
# scsetup |
要使用磁盘设备组,请输入 3(设备组)。
要注册磁盘设备组,请输入 1(注册一个 VxVM 磁盘组)。
按说明操作并输 入要注册为 Sun Cluster 磁盘设备组的 VxVM 磁盘设备组。
如果在尝试注册磁盘设备组时遇到以下错误,请使用 过程"如何给磁盘设备组分配新的次编号"。此过程使您能够分配一个新的次编号,该编号不与现有磁盘设备组 所使用的次编号冲突。
scconf: Failed to add device group - in use |
完成后,输入 q(退出)以退出 scsetup 实用程序。
验证是否已注册磁盘设备组。
通过下面的命令查看显示的新磁盘的磁盘设备信息。
# scconf -pv | egrep disk-device-group |
如果更改 VxVM 磁盘组或卷的配置信息,请重新注册 Sun Cluster 磁盘设备组。重新 注册磁盘设备组将确保全局名称空间处于正确的状态。有关重新注册磁盘设备组的过程,请 参阅 Sun Cluster 3.0 系统管理指南。
要检验 VxVM 磁盘组和卷,请转到"如何检验磁盘组"。
如果因次编号与另一磁盘组冲突而使得注册磁盘设备组失败,则必须给新的磁盘组分配一个 新的、未被使用的次编号。在分配新的次编号之后,重新将磁盘组注册为 Sun Cluster 磁盘设备组。
成为群集中一个节点的超级用户。
确定使用中的次编号。
# ls -l /global/.devices/node@1/dev/vx/dsk/* |
选择其他未使用的 1000 的倍数作为新磁盘组的基本次编号。
将新的基本次编号分配给磁盘组。
# vxdg reminor diskgroup base_minor_number |
返回到"如何创建并注册共享磁盘组"中的步骤 4 来将磁盘组注册 为一个 Sun Cluster 磁盘设备组。
此示例显示正在使用的小数 16000-16002 和 4000-4001。vxdg reminor 命令 用来给新的磁盘设备组重编次编号,以使用基本次编号 5000。
# ls -l /global/.devices/node@1/dev/vx/dsk/* /global/.devices/node@1/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@1/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 |
必须将磁盘组注册为 Sun Cluster 磁盘设备组。请转到 "如何创建并注册共享磁盘组" 的 步骤 4。
在群集中的每个节点都执行此过程。
验证仅本地根磁盘包含在根磁盘组(rootdg)中,并且 只在当前主节点中导入共享磁盘组。
# vxdisk list |
验证所有卷都已启动。
# vxprint |
验证所有共享磁盘组均已注册为 Sun Cluster 磁盘设备组且处于联机状态。
# scstat -D |
要配置群集文件系统,请转到"如何添加群集文件系统"。