极限首页 业界焦点 软件工程师之路 系统工程师之路 网络工程师之路 软件下载 技术社区
 Linux 下安装MySQL
 Oracle 10gR2 RAC+ RHEL4
 Oracle 中如何删除重复数据
 MySQL服务维护笔记
 Oracle HowTo:如何启动或关
 Statspack ORA-00001 uniq
 MySQL 5.0 新特性教程 第一
 MySQL 5.0 新特性教程 第一
 MySQL 5.0 触发器
 MySQL 5.0 新特性教程 第一
 Linux 下安装MySQL
 Oracle 10gR2 RAC+ RHEL4
 Oracle 中如何删除重复数据
 MySQL服务维护笔记
 Oracle HowTo:如何启动或关
 Statspack ORA-00001 uniq
 MySQL 5.0 新特性教程 第一
 MySQL 5.0 新特性教程 第一
 MySQL 5.0 触发器
 MySQL 5.0 新特性教程 第一

Shell 中文手册

Python 2.3 中文手册

Python 2.4 中文手册

Mysql 4.x 中文手册

PHP 4.x 中文手册

Apache 2.x 中文手册
更多手册

站内搜索:
当前位置:首页>>软件工程师之路>>数据库>>正文
在 Linux 和 FireWire 上创建自己的 RAC 集群(4)
时间:2006-03-29 作者:Jeffrey Hunter 来源:数据库在线

 

在共享的 FireWire 存储设备上创建分区(在一个节点上执行)

概述

现在应该创建由逻辑卷管理器 (LVM) 所使用的物理卷和逻辑卷了。(有关管理 LVM 的更详细观点,请参见我的文章 管理物理卷和逻辑卷 。) 下表列出了逻辑分区到表空间的映射,我们将在本文的这一部分中完成这些映射:

逻辑卷

RAW 卷

符号链接

表空间 / 文件名

表空间 / 文件大小

分区大小

/dev/pv1/lvol1

/dev/raw/raw1

/u01/app/oracle/oradata/orcl/CMQuorumFile

Cluster Manager Quorum File

-

5MB

/dev/pv1/lvol2

/dev/raw/raw2

/u01/app/oracle/oradata/orcl/SharedSrvctlConfigFile

Shared Configuration File

-

100MB

/dev/pv1/lvol3

/dev/raw/raw3

/u01/app/oracle/oradata/orcl/spfileorcl.ora

Server Parameter File

-

10MB

/dev/pv1/lvol4

/dev/raw/raw4

/u01/app/oracle/oradata/orcl/control01.ctl

Control File 1

-

200MB

/dev/pv1/lvol5

/dev/raw/raw5

/u01/app/oracle/oradata/orcl/control02.ctl

Control File 2

-

200MB

/dev/pv1/lvol6

/dev/raw/raw6

/u01/app/oracle/oradata/orcl/control03.ctl

Control File 3

-

200MB

/dev/pv1/lvol7

/dev/raw/raw7

/u01/app/oracle/oradata/orcl/cwmlite01.dbf

CWMLITE

50MB

55MB

/dev/pv1/lvol8

/dev/raw/raw8

/u01/app/oracle/oradata/orcl/drsys01.dbf

DRSYS

20MB

25MB

/dev/pv1/lvol9

/dev/raw/raw9

/u01/app/oracle/oradata/orcl/example01.dbf

EXAMPLE

250MB

255MB

/dev/pv1/lvol10

/dev/raw/raw10

/u01/app/oracle/oradata/orcl/indx01.dbf

INDX

100MB

105MB

/dev/pv1/lvol11

/dev/raw/raw11

/u01/app/oracle/oradata/orcl/odm01.dbf

ODM

50MB

55MB

/dev/pv1/lvol12

/dev/raw/raw12

/u01/app/oracle/oradata/orcl/system01.dbf

SYSTEM

800MB

805MB

/dev/pv1/lvol13

/dev/raw/raw13

/u01/app/oracle/oradata/orcl/temp01.dbf

TEMP

250MB

255MB

/dev/pv1/lvol14

/dev/raw/raw14

/u01/app/oracle/oradata/orcl/tools01.dbf

TOOLS

100MB

105MB

/dev/pv1/lvol15

/dev/raw/raw15

/u01/app/oracle/oradata/orcl/undotbs01.dbf

UNDOTBS1

400MB

405MB

/dev/pv1/lvol16

/dev/raw/raw16

/u01/app/oracle/oradata/orcl/undotbs02.dbf

UNDOTBS2

400MB

405MB

/dev/pv1/lvol17

/dev/raw/raw17

/u01/app/oracle/oradata/orcl/users01.dbf

USERS

100MB

105MB

/dev/pv1/lvol18

/dev/raw/raw18

/u01/app/oracle/oradata/orcl/xdb01.dbf

XDB

150MB

155MB

/dev/pv1/lvol19

/dev/raw/raw19

/u01/app/oracle/oradata/orcl/perfstat01.dbf

PERFSTAT

100MB

105MB

/dev/pv1/lvol20

/dev/raw/raw20

/u01/app/oracle/oradata/orcl/redo01.log

REDO G1 / M1

100MB

105MB

/dev/pv1/lvol21

/dev/raw/raw21

/u01/app/oracle/oradata/orcl/redo02.log

REDO G2 / M1

100MB

105MB

/dev/pv1/lvol22

/dev/raw/raw22

/u01/app/oracle/oradata/orcl/redo03.log

REDO G3 / M1

100MB

105MB

/dev/pv1/lvol23

/dev/raw/raw23

/u01/app/oracle/oradata/orcl/orcl_redo2_2.log

REDO G4 / M1

100MB

105MB

删除 FireWire 共享存储器上的所有分区

在本示例中,我将使用整个 FireWire 磁盘(没有分区)。在这种情况下,我将使用 /dev/sda 来创建逻辑卷 / 物理卷。这并不是完成创建 LVM 环境任务的唯一方法。我们还可以在磁盘上创建 Linux LVM 分区(其类型为 8e )。让我们假设该 LVM 分区是在磁盘上创建的第一个分区。这样我们需要利用 /dev/sda1 来工作。同样,在本示例中,我将使用整个 FireWire 驱动器(没有分区) , 因此要访问 /dev/sda 。在创建物理卷和逻辑卷之前,通过使用 fdisk 命令删除 FireWire 驱动器上的任何现有分区,这是很重要的(因为我们要使用整个磁盘):

# fdisk /dev/sda

Command (m for help):p

 

Disk /dev/sda:203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot Start End Blocks Id System

/dev/sda1 1 24791 199133676 c Win95 FAT32 (LBA)

 

Command (m for help):d

Selected partition 1

 

Command (m for help):p

 

Disk /dev/sda:203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot Start End Blocks Id System

 

Command (m for help):w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

创建逻辑卷

以下的一组命令执行创建逻辑卷所需的步骤:

•  运行 vgscan 命令( 在集群中所有的 RAC 节点上运行 ),以创建 /etc/lvmtab 文件。

•  使用 pvcreate 创建由逻辑卷管理器 (LVM) 所使用的物理卷。

•  使用 vgcreate ,为驱动器或者为您希望用于 RAW 设备的分区创建一个卷组。在这里我们为整个驱动器创建卷。在我们的示例中(如下所示),该命令将允许创建 256 个逻辑分区和 256 个物理分区,范围大小为 128K 。

•  使用 lvcreate 在卷组中创建逻辑卷。

注意: 上文讲到,我需要在所有节点上运行 vgscan 命令,以便该命令能够创建 /etc/lvmtab 文件。应该在运行下列命令之前执行该命令。

将以下命令放在一个 schell 脚本中,更改执行权限,然后以 “root”UNIX 用户 id 来运行该脚本:

vgscan

pvcreate -d /dev/sda

vgcreate -l 256 -p 256 -s 128k /dev/pv1 /dev/sda

lvcreate -L 5m /dev/pv1

lvcreate -L 100m /dev/pv1

lvcreate -L 10m /dev/pv1

lvcreate -L 200m /dev/pv1

lvcreate -L 200m /dev/pv1

lvcreate -L 200m /dev/pv1

lvcreate -L 55m /dev/pv1

lvcreate -L 25m /dev/pv1

lvcreate -L 255m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 55m /dev/pv1

lvcreate -L 805m /dev/pv1

lvcreate -L 255m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 405m /dev/pv1

lvcreate -L 405m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 155m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 105m /dev/pv1

lvcreate -L 105m /dev/pv1

使用该脚本(如上所示)将会创建 /dev/pv1/lvol1 - /dev/pv1/lvol23 。

我通常使用 lvscan 命令来检查逻辑卷的状态:

[root@linux2 root]# lvscan

lvscan -- ACTIVE "/dev/pv1/lvol1" [5 MB]

lvscan -- ACTIVE "/dev/pv1/lvol2" [100 MB]

lvscan -- ACTIVE "/dev/pv1/lvol3" [10 MB]

lvscan -- ACTIVE "/dev/pv1/lvol4" [200 MB]

lvscan -- ACTIVE "/dev/pv1/lvol5" [200 MB]

lvscan -- ACTIVE "/dev/pv1/lvol6" [200 MB]

lvscan -- ACTIVE "/dev/pv1/lvol7" [55 MB]

lvscan -- ACTIVE "/dev/pv1/lvol8" [25 MB]

lvscan -- ACTIVE "/dev/pv1/lvol9" [255 MB]

lvscan -- ACTIVE "/dev/pv1/lvol10" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol11" [55 MB]

lvscan -- ACTIVE "/dev/pv1/lvol12" [805 MB]

lvscan -- ACTIVE "/dev/pv1/lvol13" [255 MB]

lvscan -- ACTIVE "/dev/pv1/lvol14" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol15" [405 MB]

lvscan -- ACTIVE "/dev/pv1/lvol16" [405 MB]

lvscan -- ACTIVE "/dev/pv1/lvol17" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol18" [155 MB]

lvscan -- ACTIVE "/dev/pv1/lvol19" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol20" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol21" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol22" [105 MB]

lvscan -- ACTIVE "/dev/pv1/lvol23" [105 MB]

lvscan -- 23 logical volumes with 3.88 GB total in 1 volume group

lvscan -- 23 active logical volumes

重新启动 RAC 集群中的所有节点

在完成分区的创建之后,建议您重新启动所有 RAC 节点上的内核,以确保所有的新分区被所有 RAC 节点上的内核所识别:

# su -

# reboot

重要声明: 切记,您需要在您的一个启动脚本中添加语句,先调用 vgscan ,然后调用 vgchange -a y ,以便您的 RAC 集群中的每台机器在启动时运行它们。这两个命令在激活所有的卷组之前为您提供一个实际的卷管理器数据库。本文将提供所有应该加入到您的 /etc/rc.local 脚本中的设置,以便对 Oracle9 i RAC 集群中的每个节点进行设定。

创建 RAW 绑定(在两个节点上执行)

注意: 在每次启动机器时 , 需要在集群中的每个节点上执行本部分中的一些命令。这些命令的详细信息以及关于将其加入启动脚本的说明都包含在 用于每个 RAC 节点的所有启动命令 一节中。

在本部分中,我将说明如何在 FireWire 共享存储器上配置原始设备,这些设备将用于所有的物理 Oracle 数据库文件,包括 srvctl 的 Cluster Manager Quorum File 和 Shared Configuration File 。

现在,我们已经在 FireWire 共享存储器上创建了所需的分区。我们现在需要使用 raw 命令将所有卷绑定到原始设备:

usr/bin/raw /dev/raw/raw1 /dev/pv1/lvol1

/usr/bin/raw /dev/raw/raw2 /dev/pv1/lvol2

/usr/bin/raw /dev/raw/raw3 /dev/pv1/lvol3

/usr/bin/raw /dev/raw/raw4 /dev/pv1/lvol4

/usr/bin/raw /dev/raw/raw5 /dev/pv1/lvol5

/usr/bin/raw /dev/raw/raw6 /dev/pv1/lvol6

/usr/bin/raw /dev/raw/raw7 /dev/pv1/lvol7

/usr/bin/raw /dev/raw/raw8 /dev/pv1/lvol8

/usr/bin/raw /dev/raw/raw9 /dev/pv1/lvol9

/usr/bin/raw /dev/raw/raw10 /dev/pv1/lvol10

/usr/bin/raw /dev/raw/raw11 /dev/pv1/lvol11

/usr/bin/raw /dev/raw/raw12 /dev/pv1/lvol12

/usr/bin/raw /dev/raw/raw13 /dev/pv1/lvol13

/usr/bin/raw /dev/raw/raw14 /dev/pv1/lvol14

/usr/bin/raw /dev/raw/raw15 /dev/pv1/lvol15

/usr/bin/raw /dev/raw/raw16 /dev/pv1/lvol16

/usr/bin/raw /dev/raw/raw17 /dev/pv1/lvol17

/usr/bin/raw /dev/raw/raw18 /dev/pv1/lvol18

/usr/bin/raw /dev/raw/raw19 /dev/pv1/lvol19

/usr/bin/raw /dev/raw/raw20 /dev/pv1/lvol20

/usr/bin/raw /dev/raw/raw21 /dev/pv1/lvol21

/usr/bin/raw /dev/raw/raw22 /dev/pv1/lvol22

/usr/bin/raw /dev/raw/raw23 /dev/pv1/lvol23

/bin/chmod 600 /dev/raw/raw1

/bin/chmod 600 /dev/raw/raw2

/bin/chmod 600 /dev/raw/raw3

/bin/chmod 600 /dev/raw/raw4

/bin/chmod 600 /dev/raw/raw5

/bin/chmod 600 /dev/raw/raw6

/bin/chmod 600 /dev/raw/raw7

/bin/chmod 600 /dev/raw/raw8

/bin/chmod 600 /dev/raw/raw9

/bin/chmod 600 /dev/raw/raw10

/bin/chmod 600 /dev/raw/raw11

/bin/chmod 600 /dev/raw/raw12

/bin/chmod 600 /dev/raw/raw13

/bin/chmod 600 /dev/raw/raw14

/bin/chmod 600 /dev/raw/raw15

/bin/chmod 600 /dev/raw/raw16

/bin/chmod 600 /dev/raw/raw17

/bin/chmod 600 /dev/raw/raw18

/bin/chmod 600 /dev/raw/raw19

/bin/chmod 600 /dev/raw/raw20

/bin/chmod 600 /dev/raw/raw21

/bin/chmod 600 /dev/raw/raw22

/bin/chmod 600 /dev/raw/raw23

/bin/chown oracle:dba /dev/raw/raw1

/bin/chown oracle:dba /dev/raw/raw2

/bin/chown oracle:dba /dev/raw/raw3

/bin/chown oracle:dba /dev/raw/raw4

/bin/chown oracle:dba /dev/raw/raw5

/bin/chown oracle:dba /dev/raw/raw6

/bin/chown oracle:dba /dev/raw/raw7

/bin/chown oracle:dba /dev/raw/raw8

/bin/chown oracle:dba /dev/raw/raw9

/bin/chown oracle:dba /dev/raw/raw10

/bin/chown oracle:dba /dev/raw/raw11

/bin/chown oracle:dba /dev/raw/raw12

/bin/chown oracle:dba /dev/raw/raw13

/bin/chown oracle:dba /dev/raw/raw14

/bin/chown oracle:dba /dev/raw/raw15

/bin/chown oracle:dba /dev/raw/raw16

/bin/chown oracle:dba /dev/raw/raw17

/bin/chown oracle:dba /dev/raw/raw18

/bin/chown oracle:dba /dev/raw/raw19

/bin/chown oracle:dba /dev/raw/raw20

/bin/chown oracle:dba /dev/raw/raw21

/bin/chown oracle:dba /dev/raw/raw22

/bin/chown oracle:dba /dev/raw/raw23

注意: 切记,需要在每次启动时为 RAC 集群中的每个节点执行以上的 绑定 步骤。它应该放在类似 /etc/rc.local 的启动脚本中。

您可以使用 raw 命令来验证原始绑定:

# raw -qa

/dev/raw/raw1:bound to major 58, minor 0

/dev/raw/raw2:bound to major 58, minor 1

/dev/raw/raw3:bound to major 58, minor 2

/dev/raw/raw4:bound to major 58, minor 3

/dev/raw/raw5:bound to major 58, minor 4

/dev/raw/raw6:bound to major 58, minor 5

/dev/raw/raw7:bound to major 58, minor 6

/dev/raw/raw8:bound to major 58, minor 7

/dev/raw/raw9:bound to major 58, minor 8

/dev/raw/raw10:bound to major 58, minor 9

/dev/raw/raw11:bound to major 58, minor 10

/dev/raw/raw12:bound to major 58, minor 11

/dev/raw/raw13:bound to major 58, minor 12

/dev/raw/raw14:bound to major 58, minor 13

/dev/raw/raw15:bound to major 58, minor 14

/dev/raw/raw16:bound to major 58, minor 15

/dev/raw/raw17:bound to major 58, minor 16

/dev/raw/raw18:bound to major 58, minor 17

/dev/raw/raw19:bound to major 58, minor 18

/dev/raw/raw20:bound to major 58, minor 19

/dev/raw/raw21:bound to major 58, minor 20

/dev/raw/raw22:bound to major 58, minor 21

/dev/raw/raw23:bound to major 58, minor 22


  共8页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] 下一页   
推荐】【 】【关闭


关于极限 | 站内地图 | 意见反馈 | 广告服务 | 数据服务 | 联系我们
本站所刊登的文章,技术资料,软件均整理于网络资源或本站原创,转载请务必联系原作者或本站。
Copyright ? 2001-2004 UPLinux.com All Rights Reserved.
本站唯一联系信箱:
京ICP备05010519