跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
使用 Serviceguard Extension for RAC > 第 2 章 适用于 Oracle RAC 的 Serviceguard 配置

使用 LVM 创建存储基础结构

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 索引

除配置群集之外,还需要创建适当的逻辑卷基础结构,以便可以从不同节点访问数据。此步骤可通过 Logical Volume Manager (LVM)、VERITAS Cluster Volume Manager (CVM) 或 VERITAS Volume Manager (VxVM) 来完成。LVM 和 VxVM 配置需要在群集配置之前完成,而 CVM 配置需要在群集配置之后完成。

本节将说明如何创建用于保存 Oracle 数据的 LVM 卷组。在配置群集之前,应创建正确的逻辑卷基础结构,以便能够从不同节点访问数据。此项任务是在 Logical Volume Manager 中完成的。下面各节将分别说明完成下列任务所需的步骤:

Event Monitoring Service HA Disk Monitor 可监视 LVM 磁盘的状况。如果想用此监视器监视您的镜像磁盘,应将其配置在物理卷组中。有关详细信息,请参考手册《《Using HA Monitors》》。

在镜像磁盘上建立 RAC 卷组

此节所述步骤将使用物理卷组来镜像单个磁盘,以确保将每个逻辑卷都镜像到位于不同 I/O 总线的一个磁盘上。这种镜像方式称为精确 PVG 镜像。假设磁盘硬件已按如下方式进行配置:作为镜像副本的一个磁盘被连接到另一条总线上的每个节点上,而不是连接到其他副本(主副本)所用总线的节点上。

有关使用 LVM 的详细信息,请参考 HP-UX 的《《管理系统和工作组》》手册。

创建卷组和逻辑卷

如果尚未设置好卷组,请按下面各节中的步骤进行设置。如果已经完成了 LVM 配置,请转至后面的“安装 Oracle Real Application Cluster”一节。

为卷组选择磁盘

获取两个节点上的磁盘列表,并且确认哪些设备文件将用于两个节点上的相同磁盘。请在每个节点上执行下列命令,列出每个系统已知的可用磁盘:

lssf /dev/dsk/*  

在下面的示例中,将使用 /dev/rdsk/c1t2d0/dev/rdsk/c0t2d0作为设备名称,而它们恰巧是节点 ftsys9ftsys10 上相同磁盘的设备名称。如果不同节点上的设备文件名不同,请仔细记录它们的对应关系。

创建物理卷

在配置节点 (ftsys9) 上,使用 pvcreate 命令将磁盘定义为物理卷。只需在配置节点上进行此项操作。执行下列命令可以为样例配置创建两个物理卷:

pvcreate -f /dev/rdsk/c1t2d0 
pvcreate -f /dev/rdsk/c0t2d0 
使用精确 PVG 镜像创建卷组

执行下列步骤在配置节点 (ftsys9) 上建立卷组。稍后,也将在其他节点上创建相同的卷组。

  1. 首先,为 vgops 建立组目录:

    mkdir /dev/vg_ops 
  2. 然后,在 /dev/vg_ops 目录下创建名为 group 的控制文件,如下所示:

    mknod /dev/vg_ops/group c 64 0xhh0000 

    主号码始终是 64,十六进制辅号码的形式如下所示:

    0xhh000

    其中 hh 对于所创建的卷组必须是唯一的。在配置卷组之后,请使用系统下一个可用的十六进制号码。执行下列命令可以显示现有卷组列表:

    ls -l /dev/*/group 
  3. 执行下列命令创建卷组并向其添加物理卷:

    vgcreate -g bus0 /dev/vg_ops /dev/dsk/c1t2d0 
    vgextend -g bus1 /dev/vg_ops /dev/dsk/c0t2d0  

    第一行命令创建卷组,并向其中添加物理卷组中称为 bus0 的物理卷。第二行命令向卷组中添加第二个驱动器,并将其放在名为 bus1 的另一个物理卷组中。使用物理卷组时,可以使用磁盘精确 PVG 镜像和 PV 链路。

  4. 对其他卷组重复上述步骤。

使用 LVM 命令建立 RAC 镜像逻辑卷

创建卷组并定义在其中使用的物理卷之后,即可为数据、日志和控制文件定义镜像逻辑卷。建议使用 Shell 脚本执行下面几节中说明的命令。根据创建逻辑卷的目的(是为 RAC 重做日志文件而创建逻辑卷,还是为使用 Oracle 数据而创建逻辑卷),用于创建逻辑卷的命令会稍有不同。

为 RAC 重做日志和控制文件创建镜像逻辑卷

通过选择镜像一致性恢复,可以创建用于重做日志和控制文件的逻辑卷。请使用与下面示例相同的选项:

lvcreate -m 1 -M n -c y -s g -n redo1.log -L 4 /dev/vg_ops

-m 1 选项指定单个镜像;-M n 选项确保将“镜像写高速缓存恢复”设置为关闭;-c y 选项表示启用镜像一致性恢复;-s g 选项表示使用精确 PVG 镜像,即镜像是在不同的物理卷组之间进行;-n redo1.log 选项指定逻辑卷的名称;而 -L 4 选项将为其分配 4 MB 的空间。

注释:对于重做日志和控制文件而言,使用 -M n-c y 选项非常重要。这些选项允许 SLVM 在系统崩溃之后、Oracle 恢复开始之前重新同步重做日志文件。如果这些选项设置不正确,可能将无法继续进行数据库恢复。

如果此命令执行成功,系统将显示如下消息:

Logical volume "dev/vg_ops/redo1.log" has been successfully created
with character device "dev/vg_ops/rredo1.log"
Logical volume "dev/vg_ops/redo1.log" has been successfully extended

注意:字符设备文件名(也称为原始逻辑卷名称)是 Oracle DBA 在建立 RAC 数据库时使用的文件名。

为 RAC 数据文件创建镜像逻辑卷

系统崩溃后,必须重新同步镜像的逻辑卷,也称为“重镜像”。

如果 Oracle 不对作为镜像逻辑卷的 RAC 数据文件执行“重镜像”,则请选择镜像一致性策略“NOMWC”。可以通过禁用镜像写高速缓存并启用镜像一致性恢复来实现这一点。选择“NOMWC”策略后,SLVM 即会执行重新同步。

可以通过使用与下面示例相同的选项来创建用作 Oracle 数据文件的逻辑卷:

lvcreate -m 1 -M n -c y -s g -n system.dbf -L 28 /dev/vg_ops

-m 1 选项指定单个镜像;-M n 选项确保将“镜像写高速缓存恢复”设置为关闭;-c y 选项表示启用镜像一致性恢复;-s g 选项表示使用精确 PVG 镜像,即镜像是在不同的物理卷组之间进行;-n system.dbf 选项指定逻辑卷的名称;-L 28 选项将为其分配 28 MB 的空间。

如果 Oracle 对作为镜像逻辑卷的 RAC 数据文件执行重镜像,则请选择镜像一致性策略“NONE”,方法是禁用镜像写高速缓存和镜像一致性恢复。
选择镜像一致性策略“NONE”后,SLVM 将不会执行重新同步。

注释:请与 Oracle 联系,以确定您所使用的 Oracle RAC 的版本是否允许“重镜像”,并相应地为逻辑卷配置镜像一致性恢复策略。

可以通过使用与下面示例相同的选项来创建用作 Oracle 数据文件的逻辑卷:

# lvcreate -m 1 -M n -c n -s g -n system.dbf -L 28 /dev/vg_ops

-m 1 选项指定单个镜像;-M n 选项确保将“镜像写高速缓存恢复”设置为关闭;-c n 选项表示禁用镜像一致性恢复;-s g 选项表示使用精确 PVG 镜像,即镜像是在不同的物理卷组之间进行;-n system.dbf 选项指定逻辑卷的名称;-L 28 选项将为其分配 28 MB 的空间。

如果此命令执行成功,系统将显示如下消息:

Logical volume "/dev/vg_ops/system.dbf" has been successfully created
with character device "/dev/vg_ops/rsystem.dbf"
Logical volume "/dev/vg_ops/system.dbf" has been successfully extended

注意:字符设备文件名(也称为原始逻辑卷名称)是 Oracle DBA 在建立 OPS 数据库时使用的文件名。

在磁盘阵列上创建 RAC 卷组

本节所讲述的步骤假设:正在使用由 RAID 保护的磁盘阵列以及 LVM 物理卷链路(PV 链路)来定义从群集中每个节点至阵列上每个逻辑单元的冗余数据路径。

在磁盘阵列中,应从每个节点使用冗余 I/O 通道将节点连接到阵列中独立的控制器上。然后,定义连接至 LUN 或在阵列中定义的逻辑磁盘的备用链路。如果使用的是 SAM,请选择要配置的磁盘阵列类型,然后按照菜单来定义备用链路。如果使用的是 LVM 命令,请在命令行上指定链路。

下面的示例说明了如何使用 LVM 命令配置备用链路。假定磁盘配置如下:

8/0.15.0 /dev/dsk/c0t15d0  /* I/O Channel 0 (8/0) SCSI address 15 LUN 0 */
8/0.15.1 /dev/dsk/c0t15d1  /* I/O Channel 0 (8/0) SCSI address 15 LUN 1 */
8/0.15.2 /dev/dsk/c0t15d2  /* I/O Channel 0 (8/0) SCSI address 15 LUN 2 */
8/0.15.3 /dev/dsk/c0t15d3  /* I/O Channel 0 (8/0) SCSI address 15 LUN 3 */
8/0.15.4 /dev/dsk/c0t15d4  /* I/O Channel 0 (8/0) SCSI address 15 LUN 4 */
8/0.15.5 /dev/dsk/c0t15d5  /* I/O Channel 0 (8/0) SCSI address 15 LUN 5 */

10/0.3.0 /dev/dsk/c1t3d0   /* I/O Channel 1 (10/0) SCSI address 3 LUN 0 */
10/0.3.1 /dev/dsk/c1t3d1   /* I/O Channel 1 (10/0) SCSI address 3 LUN 1 */
10/0.3.2 /dev/dsk/c1t3d2   /* I/O Channel 1 (10/0) SCSI address 3 LUN 2 */
10/0.3.3 /dev/dsk/c1t3d3   /* I/O Channel 1 (10/0) SCSI address 3 LUN 3 */
10/0.3.4 /dev/dsk/c1t3d4   /* I/O Channel 1 (10/0) SCSI address 3 LUN 4 */
10/0.3.5 /dev/dsk/c1t3d5   /* I/O Channel 1 (10/0) SCSI address 3 LUN 5 */

假定磁盘阵列已进行过配置,并且当运行 ioscan 命令时,将针对同一个 LUN(逻辑磁盘)出现下列两个设备文件:

/dev/dsk/c0t15d0
/dev/dsk/c1t3d0

执行下列步骤为该逻辑磁盘配置卷组:

  1. 首先,为 vg_ops 设置组目录:

    mkdir /dev/vg_ops 
  2. 然后,在 /dev/vg_ops 目录中创建名为 group 的控制文件,如下所示:

    mknod /dev/vg_ops/group c 64 0xhh0000 

    主号码始终是 64,十六进制辅号码的形式如下所示:

    0xhh0000

    其中 hh 对于所创建的卷组必须是唯一的。在配置卷组之后,请使用系统下一个可用的十六进制号码。执行下列命令可以显示现有卷组列表:

    ls -l /dev/*/group 
  3. 针对与 LUN 关联的一个设备文件执行 pvcreate 命令,将 LUN 作为物理卷定义到 LVM。

    pvcreate -f /dev/rdsk/c0t15d0 

    只需要针对 LUN 的一个设备文件名进行此项操作。仅当物理卷以前曾在其他一些卷组中使用过时,才需要使用 -f 选项。

  4. 执行下列命令创建带有两个链路的卷组:

    vgcreate /dev/vg_ops /dev/dsk/c0t15d0 /dev/dsk/c1t3d0 

LVM 现在将由 /dev/dsk/c0t15d0 表示的 I/O 通道作为连接至磁盘的主链路;如果主链路出现故障,LVM 将自动切换到由 /dev/dsk/c1t3d0 表示的备用 I/O 通道。使用 vgextend 命令可以向卷组中添加附加磁盘,并为每个 PV 链路指定相应的物理卷名称。

请针对希望创建的每个不同的卷组重复上述过程。为了便于进行系统管理,您可以使用不同的卷组将日志与数据和控制文件分开。

注释:HP-UX 中缺省的最大卷组数是 10。如果打算创建足够多的新卷组,并且总数超过 10,则必须增加 maxvgs 系统参数,然后重建 HP-UX 内核。使用 SAM 并选择“内核配置” 区域,然后选择“配置参数”参数。这时 Maxvgs 参数将会出现在列表中。

在磁盘阵列上创建 RAC 逻辑卷

创建卷组并向其中添加 PV 链路之后,即可为数据文件、日志文件和控制文件定义逻辑卷。下面是一些示例:

lvcreate -n ops1log1.log -L 4 /dev/vg_ops  
# lvcreate -n opsctl1.ctl -L 4 /dev/vg_ops
# lvcreate -n system.dbf -L 28 /dev/vg_ops
# lvcreate -n opsdata1.dbf -L 1000 /dev/vg_ops

Oracle 演示数据库文件

可以在安装过程中创建 Oracle 演示数据库,下列文件对于 Oracle 演示数据库是必不可少的。

表 2-1 演示数据库需要的 Oracle 文件名

逻辑卷名称

逻辑卷大小 (MB)

原始逻辑卷路径名

Oracle 文件大小 (MB)*

opsctl1.ctl

108

/dev/vg_ops/ropsctl1.ctl

100

opsctl2.ctl

108/dev/vg_ops/ropsctl2.ctl

100

opsctl3.ctl

108/dev/vg_ops/ropsctl3.ctl

100

system.dbf

408

/dev/vg_ops/rsystem.dbf400

ops1log1.log

28/dev/vg_ops/rops1log1.log20
ops1log2.log28/dev/vg_ops/rops1log2.log

20

ops1log3.log

28

/dev/vg_ops/rops1log3.log20
system.dbf

408

/dev/vg_ops/rsystem1.dbf

400

temp.dbf

108

/dev/vg_ops/rtemp.dbf

100

users.dbf

128

/dev/vg_ops/rusers.dbf120
tools.dbf

24

/dev/vg_ops/rtools.dbf

15

opsdata1.dbf

208

/dev/vg_ops/ropsdata1.dbf

200

opsdata2.dbf

208

/dev/vg_ops/ropsdata2.dbf

200

opsdata3.dbf

208

/dev/vg_ops/ropsdata3.dbf

200

ops2log1

28

/dev/vg_ops/rops2log1.log

20

ops2log2

28

/dev/vg_ops/rops2log2.log

20

ops2log3

28

/dev/vg_ops/rops2log3.log

20

ops3log128/dev/vg_ops/rops2log1.log20
ops3log228/dev/vg_ops/rops2log2.log20
ops3log328/dev/vg_ops/rops2log3.log

20

opsdata1

208

/dev/vg_ops/ropsdata1.dbf200
opsdata2

208

/dev/vg_ops/ropsdata2.dbf

200

opsdata3

208

/dev/vg_ops/ropsdata3.dbf200

 

*就大小而言,逻辑卷比 Oracle 文件要大,原因是除了文件的实际数据容量之外,Oracle 还需要额外的空间分配给标题。

如果想要建立演示数据库,请创建这些文件。此表最后的三个逻辑卷是作为附加数据文件包括在其中的,可以按需要创建这些附加数据文件,并为其指定适当的大小。如果命名约定需要,还可以包括 Oracle SID 和(或)数据库名称,以区分不同实例和不同数据库的文件。如果使用的是 ORACLE_BASE 目录结构,请创建从相应目录至 ORACLE_BASE 文件的符号链接。例如:

ln -s /dev/vg_ops/ropsctl1.ctl /u01/ORACLE/db001/ctrl01_1.ctl

有关 Oracle 目录的详细信息,请参考《Oracle Server for HP 9000 Installation and Configuration Guide》。有关最大数据文件大小的详细信息,请参阅《Oracle 8i 《Reference》》(Oracle 部件号 A76961-01)中的第 4 章“Database Limits”。

创建这些文件之后,请将文件的 Owner 设置为 oracle,并将Group 设置为 dba,文件模式为 660。现在,主节点上就有了逻辑卷,而且 Oracle DBA 现在可以使用原始逻辑卷名称。

显示逻辑卷基础结构

要显示卷组,请执行 vgdisplay 命令:

vgdisplay -v /dev/vg_ops 

导出逻辑卷基础结构

在可以共享 Oracle 卷组以前,必须将其配置数据导出到群集中的其他节点上。此操作可以在 Serviceguard Manager 中完成,也可以使用 HP-UX 命令完成,如以下各节所述。

使用 Serviceguard Manager 导出

在 Serviceguard Manager 中选择“磁盘和文件系统”,然后选择“卷组”。打开“操作”菜单并选择“分发”。按照对话框中的提示选取要分发到其他一个或多个节点的卷组。输入要接收卷组的每个节点的名称,然后选择“添加”。列表完成后,按“确定”按钮。Serviceguard Manager 将自动配置在其他节点上使用的卷组。

注释:分发卷组时,Serviceguard Manager 不会在其他节点上导入 PV 链路。因此,要完成分发,应在所有节点上执行 vgextend 命令,以便将备用 PV 链路添加到已分发的卷组中。可以使用 vgdisplay 命令验证是否所有节点均存在正确的 PV 链路组。

使用 LVM 命令导出

使用下列命令可以在另一个群集节点上设置同样的卷组。在此示例中,这些命令将在名为 ftsys10 系统上设置一个新的卷组。该卷组包含的物理卷与在 ftsys9 配置节点上创建的物理卷相同。

要在节点 ftsys10(和其他节点上)上设置卷组,请执行下列步骤:

  1. 在节点 ftsys9 上,将卷组映射复制到指定的文件。

    vgexport -s -p -m /tmp/vg_ops.map  /dev/vg_ops 
  2. 在节点 ftsys9 上,将映射文件复制到节点 ftsys10(如果必要,也可复制到其他节点)。

    rcp /tmp/vg_ops.map ftsys10:/tmp/vg_ops.map 
  3. 在节点 ftsys10 上(如果必要,也可在其他节点上),创建卷组目录和名为 group 的控制文件:

    mkdir /dev/vg_ops 
    mknod /dev/vg_ops/group c 64 0xhh0000 

    对于 group 文件,主号码始终是 64,十六进制辅号码的形式是:

    0xhh0000

    其中 hh 对于所创建的卷组必须是唯一的。如果可能,请使用与节点 ftsys9 上相同的号码。执行下列命令可以显示现有卷组列表:

    ls -l /dev/*/group 
  4. 使用映射文件从节点 ftsys9 导入卷组数据。在节点 ftsys10 上(如果必要,也可在其他节点上)输入:

    vgimport -s -m /tmp/vg_ops.map /dev/vg_ops \
      /dev/dsk/c3t12d0 /dev/dsk/c4t3d0

打印版本
保密声明 使用本网站表示您同意其使用条件
© 2005 - , Hewlett-Packard Development Company, L.P.