用 VxVM 创建存储基本结构(1)
用 VxVM 创建存储基本结构
除配置群集外,应创建正确的逻辑卷基本结构,以提供从不同节点到数据的访问。这可通过逻辑卷管理器 (LVM)、VERITAS Volume Manager (VxVM) 或 VERITAS Cluster Volume Manager (CVM) 来完成。根据需要,您还可以将这些卷类型混合使用。LVM 和 VxVM 配置要在群集配置前完成,而 CVM 配置要在群集配置后完成。
有关从 LVM 存储移植到 VxVM 存储的讨论,请参阅附录 G。
本节讲述如何使用 VERITAS 卷管理器 (VxVM) 的命令集配置新的存储。一旦创建了 root 磁盘组(稍后描述)之后,您就可以使用 VxVM 命令或 Storage Administrator GUI (vmsa),来实现配置任务。如果您使用 vmsa,则请确保在启动 GUI 之前,Storage Administrator 服务器正在运行中。VERITAS Volume Manager for HP-UX Release Notes 中给出了详细说明。有关更多信息,请参阅《VERITAS VMSA Administrator's Guide》。如果您使用命令,则请参阅 VxVM 联机帮助页。
初始化 VERITAS 卷管理器
如果是第一次创建磁盘组,则需要初始化卷管理器。即创建至少包含一个磁盘的名为 rootdg 的一个磁盘组。在每个节点上安装了 VxVM 之后,请立即使用以下命令 once only:
# vxinstall
随即将出现一个菜单驱动式程序,它将引导您依次完成 VxVM 初始化。从主菜单中选择“Custom”选项,并指定要包含在 rootdg 中的磁盘。
重要信息 VERITAS Volume Manager 中的 rootdg 与 HP-UX 根磁盘不同,不能用于 HP-UX 根文件系统 (/)。另请注意 rootdg 不能用作共享存储器。然而,rootdg 可用作其他本地文件系统(例如,/export/home),因此不必弃之不用。
请注意应创建根磁盘组每个节点上仅一次。
将磁盘从 LVM 转换到 VxVM
你可以使用 vxvmconvert(1m) 实用程序将 LVM 卷组转换为 VxVM 磁盘组。在您这样做之前,此卷组必须停用,就是说使用此卷组的任何程序包必须暂停。请按《VERITAS Volume Manager 移植指南》中所述的转换步骤操作。开始之前,请确保使用 vgcfgbackup 命令为每个卷组的配置创建备份,并在卷组中创建数据备份。有关转换的其他详细信息,还可参阅附录 H“从 LVM 移植到 VxVM 数据存储”。
VxVM 磁盘初始化
您需初始化那些将在 VxVM 磁盘组中使用的物理磁盘。要初始化磁盘,请登录到群集中的一个节点上,然后使用 vxdiskadm 程序来初始化多个磁盘,或如下例所示使用 vxdisksetup 命令逐个初始化磁盘:
# /usr/lib/vxvm/bin/vxdisksetup -i c0t3d2
LVM 以前使用的磁盘初始化
如果物理磁盘以前曾为 LVM 所使用,则应使用 pvremove 命令来删除磁盘组中所有磁盘上的 LVM 标题数据。此外,如果 LVM 磁盘以前曾用在群集中,则首先必须用 pvcreate -f 命令重新初始化磁盘,才能删除磁盘上的群集 ID。
注释 上述这些命令使得 LVM 无法使用磁盘及其数据,并使 VxVM 能够初始化磁盘。(仅当 LVM 曾使用过该磁盘,且不想在磁盘上保存数据时,才能使用这些命令。)
您可如下例所示删除磁盘上的 LVM 标题数据(请注意磁盘上的所有数据都将被清除):# pvcreate -f /dev/rdsk/c0t3d2
# pvremove /dev/rdsk/c0t3d2
然后,使用 vxdiskadm 程序初始化 VxVM 的多个磁盘,或按下例所示使用 vxdisksetup 命令逐个初始化磁盘:
# /usr/lib/vxvm/bin/vxdisksetup -i c0t3d2
创建磁盘组
可使用 vxdiskadm 或使用 vxdg 命令创建磁盘组,如下例所示:
# vxdg init logdata c0t3d2
可使用以下命令来验证配置:
# vxdg list
NAME STATE ID
rootdg enabled 971995699.1025.node1
logdata enabled 972078742.1084.node1
创建卷
可使用 vxassist 命令创建逻辑卷。下面是个示例:
# vxassist -g logdata make log_files 1024m
此命令在名为 logdata 的磁盘组中创建一个 1024 MB 大小、名为 log_files 的卷。此卷可被块设备文件 /dev/vx/dsk/logdata/log_files 或简单(字符)设备文件 /dev/vx/rdsk/logdata/log_files 引用。可使用以下命令来验证配置:
# vxprint -g logdata
该命令的输出如下例所示:
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTILO PUTILO
v logdata fsgen ENABLED 1024000 ACTIVE
pl logdata-01 system ENABLED 1024000 ACTIVE
注释 使用 VxVM 创建镜像的和多路径存储的特定命令在《VERITAS Volume Manager Reference Guide》中说明。
创建文件系统
如果您的安装使用文件系统,下一步就要创建它们。使用下列命令创建用于要安装到刚创建的逻辑卷上的文件系统:
1.
在新创建的卷上创建文件系统:
# newfs -F vxfs /dev/vx/rdsk/logdata/log_files
2.
创建目录以安装卷:
# mkdir /logs
3.
安装卷:
# mount /dev/vx/dsk/logdata/log_files /logs
4.
检查以确保文件系统已存在,然后卸载文件系统:
# umount /logs
导出磁盘组
创建了由 ServiceGuard 程序包使用的磁盘组后,请在每个磁盘组中使用下列命令,使一些群集节点上的程序包控制脚本能够导入磁盘组:
# vxdg deport <DiskGroupName>;
其中 <DiskGroupName>; 是将由控制脚本激活的磁盘组。
导出完所有磁盘组之后,必须在所有群集节点上执行以下命令,才能使这些节点能够访问磁盘组:
# vxdctl enable
重新导入磁盘组
导出完磁盘组之后,在程序包控制脚本或使用 vxdg import 命令导入这些磁盘组之前,磁盘组仍无法使用。如果因维护或其他目的需以手动方式导入磁盘组时,请导入它、启动所有逻辑卷、并安装文件系统,如下例所示:
# vxdg import dg_01
# vxvol -g dg_01 startall
# mount /dev/vx/dsk/dg_01/myvol /mountpoint
注释 与 LVM 卷组不同,VxVM 磁盘组不输入群集 ASCII 配置文件,且不输入程序包 ASCII 配置文件。
在系统重新引导时执行 Clearimport
在系统重新引导时,cmcluster RC 脚本将在以前由系统导入的所有磁盘上执行 vxdisk clearimport,以便能设置 noautoimport 标志,及防止其他正在运行的节点导入它们。clearimport 将清除磁盘组上的主机 ID,从而当程序包从一个节点移到另一个节点时,使连接到磁盘组的任何节点能够导入该磁盘组。
在重新引导时使用 clearimport,能够使 ServiceGuard 在节点故障(例如,电源故障时系统崩溃)时清除善后。故障期间导入的磁盘仍将保留着节点 ID,在重新引导节点或其他任何节点可使用程序包控制脚本导入这些磁盘之前,必须清除此 ID。
请注意,clearimport 是对以前使用 noautoimport 导入的磁盘执行的(noautoimport 是在已安装 ServiceGuard 的任何系统上设置的,而不管是否已在群集中配置它)。
有关从 LVM 存储移植到 VxVM 存储的讨论,请参阅附录 G。
本节讲述如何使用 VERITAS 卷管理器 (VxVM) 的命令集配置新的存储。一旦创建了 root 磁盘组(稍后描述)之后,您就可以使用 VxVM 命令或 Storage Administrator GUI (vmsa),来实现配置任务。如果您使用 vmsa,则请确保在启动 GUI 之前,Storage Administrator 服务器正在运行中。VERITAS Volume Manager for HP-UX Release Notes 中给出了详细说明。有关更多信息,请参阅《VERITAS VMSA Administrator's Guide》。如果您使用命令,则请参阅 VxVM 联机帮助页。
初始化 VERITAS 卷管理器
如果是第一次创建磁盘组,则需要初始化卷管理器。即创建至少包含一个磁盘的名为 rootdg 的一个磁盘组。在每个节点上安装了 VxVM 之后,请立即使用以下命令 once only:
# vxinstall
随即将出现一个菜单驱动式程序,它将引导您依次完成 VxVM 初始化。从主菜单中选择“Custom”选项,并指定要包含在 rootdg 中的磁盘。
重要信息 VERITAS Volume Manager 中的 rootdg 与 HP-UX 根磁盘不同,不能用于 HP-UX 根文件系统 (/)。另请注意 rootdg 不能用作共享存储器。然而,rootdg 可用作其他本地文件系统(例如,/export/home),因此不必弃之不用。
请注意应创建根磁盘组每个节点上仅一次。
将磁盘从 LVM 转换到 VxVM
你可以使用 vxvmconvert(1m) 实用程序将 LVM 卷组转换为 VxVM 磁盘组。在您这样做之前,此卷组必须停用,就是说使用此卷组的任何程序包必须暂停。请按《VERITAS Volume Manager 移植指南》中所述的转换步骤操作。开始之前,请确保使用 vgcfgbackup 命令为每个卷组的配置创建备份,并在卷组中创建数据备份。有关转换的其他详细信息,还可参阅附录 H“从 LVM 移植到 VxVM 数据存储”。
VxVM 磁盘初始化
您需初始化那些将在 VxVM 磁盘组中使用的物理磁盘。要初始化磁盘,请登录到群集中的一个节点上,然后使用 vxdiskadm 程序来初始化多个磁盘,或如下例所示使用 vxdisksetup 命令逐个初始化磁盘:
# /usr/lib/vxvm/bin/vxdisksetup -i c0t3d2
LVM 以前使用的磁盘初始化
如果物理磁盘以前曾为 LVM 所使用,则应使用 pvremove 命令来删除磁盘组中所有磁盘上的 LVM 标题数据。此外,如果 LVM 磁盘以前曾用在群集中,则首先必须用 pvcreate -f 命令重新初始化磁盘,才能删除磁盘上的群集 ID。
注释 上述这些命令使得 LVM 无法使用磁盘及其数据,并使 VxVM 能够初始化磁盘。(仅当 LVM 曾使用过该磁盘,且不想在磁盘上保存数据时,才能使用这些命令。)
您可如下例所示删除磁盘上的 LVM 标题数据(请注意磁盘上的所有数据都将被清除):# pvcreate -f /dev/rdsk/c0t3d2
# pvremove /dev/rdsk/c0t3d2
然后,使用 vxdiskadm 程序初始化 VxVM 的多个磁盘,或按下例所示使用 vxdisksetup 命令逐个初始化磁盘:
# /usr/lib/vxvm/bin/vxdisksetup -i c0t3d2
创建磁盘组
可使用 vxdiskadm 或使用 vxdg 命令创建磁盘组,如下例所示:
# vxdg init logdata c0t3d2
可使用以下命令来验证配置:
# vxdg list
NAME STATE ID
rootdg enabled 971995699.1025.node1
logdata enabled 972078742.1084.node1
创建卷
可使用 vxassist 命令创建逻辑卷。下面是个示例:
# vxassist -g logdata make log_files 1024m
此命令在名为 logdata 的磁盘组中创建一个 1024 MB 大小、名为 log_files 的卷。此卷可被块设备文件 /dev/vx/dsk/logdata/log_files 或简单(字符)设备文件 /dev/vx/rdsk/logdata/log_files 引用。可使用以下命令来验证配置:
# vxprint -g logdata
该命令的输出如下例所示:
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTILO PUTILO
v logdata fsgen ENABLED 1024000 ACTIVE
pl logdata-01 system ENABLED 1024000 ACTIVE
注释 使用 VxVM 创建镜像的和多路径存储的特定命令在《VERITAS Volume Manager Reference Guide》中说明。
创建文件系统
如果您的安装使用文件系统,下一步就要创建它们。使用下列命令创建用于要安装到刚创建的逻辑卷上的文件系统:
1.
在新创建的卷上创建文件系统:
# newfs -F vxfs /dev/vx/rdsk/logdata/log_files
2.
创建目录以安装卷:
# mkdir /logs
3.
安装卷:
# mount /dev/vx/dsk/logdata/log_files /logs
4.
检查以确保文件系统已存在,然后卸载文件系统:
# umount /logs
导出磁盘组
创建了由 ServiceGuard 程序包使用的磁盘组后,请在每个磁盘组中使用下列命令,使一些群集节点上的程序包控制脚本能够导入磁盘组:
# vxdg deport <DiskGroupName>;
其中 <DiskGroupName>; 是将由控制脚本激活的磁盘组。
导出完所有磁盘组之后,必须在所有群集节点上执行以下命令,才能使这些节点能够访问磁盘组:
# vxdctl enable
重新导入磁盘组
导出完磁盘组之后,在程序包控制脚本或使用 vxdg import 命令导入这些磁盘组之前,磁盘组仍无法使用。如果因维护或其他目的需以手动方式导入磁盘组时,请导入它、启动所有逻辑卷、并安装文件系统,如下例所示:
# vxdg import dg_01
# vxvol -g dg_01 startall
# mount /dev/vx/dsk/dg_01/myvol /mountpoint
注释 与 LVM 卷组不同,VxVM 磁盘组不输入群集 ASCII 配置文件,且不输入程序包 ASCII 配置文件。
在系统重新引导时执行 Clearimport
在系统重新引导时,cmcluster RC 脚本将在以前由系统导入的所有磁盘上执行 vxdisk clearimport,以便能设置 noautoimport 标志,及防止其他正在运行的节点导入它们。clearimport 将清除磁盘组上的主机 ID,从而当程序包从一个节点移到另一个节点时,使连接到磁盘组的任何节点能够导入该磁盘组。
在重新引导时使用 clearimport,能够使 ServiceGuard 在节点故障(例如,电源故障时系统崩溃)时清除善后。故障期间导入的磁盘仍将保留着节点 ID,在重新引导节点或其他任何节点可使用程序包控制脚本导入这些磁盘之前,必须清除此 ID。
请注意,clearimport 是对以前使用 noautoimport 导入的磁盘执行的(noautoimport 是在已安装 ServiceGuard 的任何系统上设置的,而不管是否已在群集中配置它)。
0
相关文章