在一个节点上,为共享文件创建目录:
(1)CRS文件(存放Oracle Cluster Registry和CRS voting disk)
#mkdir /u02/oracrs #chown oracle:oinstall /u02/oracrs #chmod 775 /u02/oracrs |
(2)数据库文件
#mkdir /u02/oradata #chown oracle:oinstall /u02/oradata #chmod 775 /u02/oradata |
至此OCFS系统准备完毕。
提示1:
配置O2CB驱动程序O2CB是一组集群服务,负责管理节点与集群文件系统之间的通信。下面是对各个服务的说明:
NM:用于跟踪cluster.conf中的所有节点的节点管理器
HB:当节点加入或离开集群时向上/向下发出通知的心跳服务
TCP:处理节点之间的通信
DLM:用于跟踪所有锁、这些锁的所有者以及状态的分布式锁管理器
CONFIGFS:在/config中挂载的用户空间驱动的配置文件系统
DLMFS:用户空间与内核空间DLM的接口
在所有节点上执行下面的过程,将O2CB配置为在引导时启动。
当系统提示您指定心跳死亡阈值时,您必须指定一个大于7的值,以防止节点由于较慢的IDE磁盘驱动器而崩溃。心跳死亡阈值是一个用于计算隔离时间的变量。
Fence time (seconds) = (heartbeat dead threshold -1) * 2
在我们的环境中,120秒的隔离时间很合适。两个节点上的心跳死亡阈值应该完全相同。
以root用户身份执行
# /etc/init.d/o2cb unload Stopping O2CB cluster ocfs2: OK Unmounting ocfs2_dlmfs filesystem: OK Unloading module “ocfs2_dlmfs”: OK Unmounting configfs filesystem: OK Unloading module “configfs”: OK # /etc/init.d/o2cb configure Configuring the O2CB driver. This will configure the on-boot properties of the O2CB driver. The following questions will determine whether the driver is loaded on boot. The current values will be shown in brackets (’[]’). Hitting without typing an answer will keep that current value. Ctrl-C will abort. Load O2CB driver on boot (y/n) [y]: y Cluster to start on boot (Enter “none” to clear) [ocfs2]: Specify heartbeat dead threshold (>=7) [7]: 61 Writing O2CB configuration: OK Loading module “configfs”: OK Mounting configfs filesystem at /config: OK Loading module “ocfs2_nodemanager”: OK Loading module “ocfs2_dlm”: OK Loading module “ocfs2_dlmfs”: OK Mounting ocfs2_dlmfs filesystem at /dlm: OK Starting O2CB cluster ocfs2: OK |
[Oracle自动存储管理器(ASM)]
在Linux平台上,ASM可以使用原始设备或通过ASMLib接口管理的设备。出于易于使用和性能方面的原因,Oracle建议使用通过ASMLib接口管理的设备而非原始设备。
ASMLib以一套共三个Linux程序包的形式提供:
oracleasmlib — ASM库
oracleasm-support —管理ASMLib所需的实用程序
oracleasm —用于ASM库的内核模块
获得ASM程序
将您的Web浏览器指向http://otn.oracle.com/tech/linux/asmlib/index.html。
选择适用于您Linux版本的链接。
下载适用于您Linux版本的oracleasmlib和oracleasm-support程序包。
下载与您的内核相对应的oracleasm程序包。
安装ASM (在每个节点上,以root身份)
# rpm -Uvh > oracleasm-2.4.9-e-smp-1.0.0-1.i686.rpm > oracleasmlib-1.0.0-1.i386.rpm > oracleasm-support-1.0.0-1.i386.rpm Preparing… ########################################### [100%] 1:oracleasm-support ########################################### [ 33%] 2:oracleasm-2.4.9-e-smp ########################################### [ 66%] Linking module oracleasm.o into the module path [ OK ] 3:oracleasmlib ########################################### [100%] |
配置ASMLib (所有节点上)
以root用户身份在每个集群主机上运行以下命令并回应提示.
# /etc/init.d/oracleasm configure Configuring the Oracle ASM library driver Default user to own the driver interface []:oracle Default group to own the driver interface []:dba Start Oracle ASM library driver on boot (y/n) [n]:y Fix permissions of Oracle ASM disks on boot (y/n) [y]:y Writing Oracle ASM library driver configuration [ OK ] Creating /dev/oracleasm mount point [ OK ] Loading module “oracleasm” [ OK ] Mounting ASMlib driver filesystem [ OK ] Scanning system for ASM disks [ OK ] |
启用ASMLib驱动程序
以root用户身份在每个集群主机上运行以下命令
# /etc/init.d/oracleasm enable Writing Oracle ASM library driver configuration [ OK ] Scanning system for ASM disks [ OK ] |
配置ASM磁盘(在其中的一个节点上)
这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。也可以将磁盘分区用于ASM,但不建议这样做。
以root用户身份运行以下命令
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb //sdbàVOL1 Marking disk “/dev/sdb” as an ASM disk [ OK ] # /etc/init.d/oracleasm createdisk VOL2 /dev/sdc //sdcàVOL2 Marking disk “/dev/sdc” as an ASM disk [ OK ] |
提示:以大写字母输入DISK_NAME。当前版本中有一个错误,即如果使用小写字母,ASM实例将无法识别磁盘。
# /etc/init.d/oracleasm listdisks VOL1 VOL2 |
其他节点识别配置的磁盘(所有其他节点)
在所有其他集群主机上,以root用户身份运行以下命令,扫描所配置的ASMLib磁盘:
#/etc/init.d/oracleasm scandisks # /etc/init.d/oracleasm listdisks VOL1 VOL2 |
[原始分区]
在集群文件系统和ASM可用之前,原始分区是为Oracle RAC配置共享磁盘存储的唯一选择。
原始分区有很多缺点。主要是它们必须接受每个磁盘可使用15个分区的限制、Linux强制的255个原始设备的限制以及额外的管理任务和所需计划。对于单实例环境而言,逻辑卷管理器(LVM)可以减少管理工作并在存储布局方面提供更多灵活性。不幸的是,LVM不能识别集群,因此在RAC环境中不支持它的使用。
在使用原始分区时,通常最好选择一组标准的分区大小,即某个基本大小的倍数。这就在存储布局方面提供了更大的灵活性,并且在需要重新调整I/O时便于将分区重新配给其他磁盘。
划分原始分区(在其中一个节点上)
# fdisk /dev/sdb The number of cylinders for this disk is set to 4427. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help):p Disk /dev/sdb:36.4 GB, 36420075008 bytes 255 heads, 63 sectors/track, 4427 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-4427, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):+50m Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (8-4427, default 8): Using default value 8 Last cylinder or +size or +sizeM or +sizeK (8-4427, default 4427):+50m Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (15-4427, default 15): Using default value 15 Last cylinder or +size or +sizeM or +sizeK (15-4427, default 4427):+200m Command (m for help):n Command action e extended p primary partition (1-4) e selected partition 4 First cylinder (40-4427, default 40): Using default value 40 Last cylinder or +size or +sizeM or +sizeK (40-4427, default 4427): Using default value 4427 Command (m for help):n First cylinder (40-4427, default 40): Using default value 40 Last cylinder or +size or +sizeM or +sizeK (40-4427, default 4427):+200m . .. Command (m for help):p Disk /dev/sdb:36.4 GB, 36420075008 bytes 255 heads, 63 sectors/track, 4427 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 7 56196 83 Linux /dev/sdb2 8 14 56227+ 83 Linux /dev/sdb3 15 39 200812+ 83 Linux /dev/sdb4 40 4427 35246610 5 Extended /dev/sdb5 40 64 200781 83 Linux /dev/sdb6 65 89 200781 83 Linux /dev/sdb7 90 114 200781 83 Linux /dev/sdb8 115 139 200781 83 Linux |
/dev/sdb9 140 164 200781 83 Linux
/dev/sdb10 165 238 594373+ 83 Linux
/dev/sdb11 239 312 594373+ 83 Linux
/dev/sdb12 313 386 594373+ 83 Linux
/dev/sdb13 387 533 1180746 83 Linux
/dev/sdb14 534 680 1180746 83 Linux
Command (m for help):w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
2017年12月数据库流行度排行榜 定格岁末排名瞬间
数据库知识网站DB-engines最近更新的2017年12月份数据库流行度排名情况是否能提供更多的看点呢?TechTarget数据库网站将与您分享12月份的榜单排名情况,让我们拭目以待。
-
2017年11月数据库流行度排行榜 半数以上数据库积分减少
数据库知识网站DB-engines更新了2016年11月份的数据库流行度排行榜。TechTarget数据库网站将与您一同关注11月份的榜单排名情况。
-
控制合约 不再畏惧Oracle
许多公司都与Oracle有无限制授权协议,他们害怕离开这个协议,所以就证明他们在使用Oracle的软件,即使因为需求单独购买部分授权许可也可能总体是省钱的。