Virtualbox安装RAC的两个问题处理

配置共享磁盘用作OCR、DATA和ARCH

之前在Vmware中使用openfile软件来模拟共享存储,openfile模拟的存储还是比较真实的,前期需要在openfile中划盘挂盘,然后在系统中使用multipath多路径绑定共享盘就能开始安装rac了。模拟的真实带来的问题就是比较麻烦。
这次使用Virtualbox安装rac,就打算用oracle的oracleasm来配置共享存储。

配置过程如下:

1.规划共享盘
路径 大小 用途
/dev/sdb 5G vote(投票)
/dev/sdc 5G vote(投票)
/dev/sdd 5G vote(投票)
/dev/sde 15G arch(归档)
/dev/sdf 50G data(数据)

先在Virtualbox中在节点一添加五块硬盘大小如上
在这里插入图片描述

然后在Virtualbox中将这五块盘模式改为共享,然后在节点二中添加这五块盘
在这里插入图片描述
2.硬盘分区

因为存储都是共享的,所以分区操作在任一节点上操作即可(这一步我在第二次搭建rac的时候,创建完共享盘,这些盘就直接分好区了,不用进行这一步,反正只要能看到/dev/sdb1就行了,**一定要检查一下两边是否都分区成功**)
对每个盘进行分区,以/dev/sdb为例,输入命令fdisk /dev/sdb,依次输入n->p->(一路默认到底)->w。

# fdisk /dev/sdb
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-43548671, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-43548671, default 43548671): 
Using default value 43548671
Partition 1 of type Linux and of size 20.8 GiB is set

Command (m for help): w
The partition table has been altered!

以此为例。分别依次fdisk /dev/sdb、fdisk /dev/sdc、fdisk /dev/sdd、fdisk /dev/sde、fdisk /dev/sdf
分区结束后可在两个节点fdisk -l看到/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1、/dev/sdf1

3.下载安装oracleasm包,下载路径oracleasm下载路径
在这里插入图片描述
oracleasmlib-2.0.12-1.el7.x86_64.rpm
oracleasm-support-2.1.11-2.el7.x86_64.rpm
除了这两个安装包,还需要用系统镜像源先安装kmod-oracleasm-2.0.8-28.el7.x86_64.rpm

安装完成后还需要配置ASMLib驱动

[root@zydb1 ~]# /etc/init.d/oracleasm configure
不行的话就
[root@zydb1 ~]# /usr/sbin/oracleasm configure -i
不行的话就
[root@zydb1 ~]# oracleasm configure
好像得这样
[root@zydb1 ~]#oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determine whether the driver is

loaded on boot and what permissions it will have.  The current values

will be shown in brackets ('[]').  Hitting <ENTER> without typing an

answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: grid

Default group to own the driver interface []: asmadmin

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y
--第二次装的时候下面这几行没有输出,不影响。
Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver:                     [  OK  ]

Scanning the system for Oracle ASMLib disks:            [  OK  ]

[root@zydb1 ~]# oracleasm enable  --第二次做的时候提示没有这个命令,不影响
Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver:                     [  OK  ]

Scanning the system for Oracle ASMLib disks:            [  OK  ]

oracleasm初始化

[root@zydb1 ~]# oracleasm init

创建asm磁盘

[root@zydb1 rules.d]# oracleasm createdisk OCR1 /dev/sdb1
Device "/dev/sdb1" is already labeled for ASM disk "OCR01"
[root@zydb1 rules.d]# oracleasm createdisk OCR2 /dev/sdc1
Device "/dev/sdc1" is already labeled for ASM disk "OCR02"
[root@zydb1 rules.d]# oracleasm createdisk OCR3 /dev/sdd1
Device "/dev/sdd1" is already labeled for ASM disk "OCR03"
[root@zydb1 rules.d]# oracleasm createdisk DATA /dev/sde1
Device "/dev/sde1" is already labeled for ASM disk "DATA"
[root@zydb1 rules.d]# oracleasm createdisk ARCH /dev/sdf1
Device "/dev/sdf1" is already labeled for ASM disk "ARCH"

扫描列出asm磁盘

[root@zydb1 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@zydb1 ~]# oracleasm listdisks
ARCH
DATA
OCR01
OCR02
OCR03

查看asm磁盘权限

[root@zydb1 disks]# ls
ARCH  DATA  OCR01  OCR02  OCR03
[root@zydb1 disks]# pwd
/dev/oracleasm/disks
[root@zydb1 disks]# ll
total 0
brw-rw---- 1 grid asmadmin 8, 65 Jul 25 18:31 ARCH
brw-rw---- 1 grid asmadmin 8, 81 Jul 25 18:31 DATA
brw-rw---- 1 grid asmadmin 8, 17 Jul 25 18:31 OCR01
brw-rw---- 1 grid asmadmin 8, 33 Jul 25 18:31 OCR02
brw-rw---- 1 grid asmadmin 8, 49 Jul 25 18:31 OCR03

如果权限不对需要给权限
chown grid:asmadmin /dev/sdb1
chown grid:asmadmin /dev/sdc1
chown grid:asmadmin /dev/sdd1
chown grid:asmadmin /dev/sde1
chown grid:asmadmin /dev/sdf1

如果配置错误需要修改asm磁盘(删除asm盘)

[root@zydb1 disks]# oracleasm deletedisk ARCH01
[root@zydb1 disks]# oracleasm deletedisk DATA01
[root@zydb1 disks]#oracleasm createdisk DATA /dev/sdf1 
[root@zydb1 disks]#oracleasm createdisk ARCH /dev/sde1 

**提示:**上面步骤除了创建asm磁盘之外都要在两个节点做,如果不做的话可能磁盘权限不对,如果不对也可以重新初始化一下asm,然后再重新扫一下盘就行了。
oracleasm命令详解

[root@zydb1 ~]# oracleasm
Usage: oracleasm [--exec-path=<exec_path>] <command> [ <args> ]
       oracleasm --exec-path
       oracleasm -h
       oracleasm -V

The basic oracleasm commands are:
    configure        Configure the Oracle Linux ASMLib driver
    init             Load and initialize the ASMLib driver
    exit             Stop the ASMLib driver
    scandisks        Scan the system for Oracle ASMLib disks
    status           Display the status of the Oracle ASMLib driver
    listdisks        List known Oracle ASMLib disks
    listiids         List the iid files
    deleteiids       Delete the unused iid files
    querydisk        Determine if a disk belongs to Oracle ASMlib
    createdisk       Allocate a device for Oracle ASMLib use
    deletedisk       Return a device to the operating system
    renamedisk       Change the label of an Oracle ASMlib disk
    update-driver    Download the latest ASMLib driver

4.系统层面asm磁盘配置好后,即可同配置共享存储asm一样用grid软件的asmca创建oracle集群层面的asm磁盘。

Virtualbox中搭建RAC可能会出现ssh互信配置失败

在这里插入图片描述
故障描述:安装grid软件时,在两节点安装完ssh提示ssh配置成功,但是test的时候报错INS-06006

解决方法:手动配置互信(下面内容是抄的,亲测可用)

各节点生成Keys:

[root@rac1 ~]# su - oracle

[oracle@rac1 ~]$ mkdir ~/.ssh

[oracle@rac1 ~]$ chmod 700 ~/.ssh

[oracle@rac1 ~]$ ssh-keygen -t rsa

[oracle@rac1 ~]$ ssh-keygen -t dsa

[root@rac2 ~]# su - oracle

[oracle@rac2 ~]$ mkdir ~/.ssh

[oracle@rac2 ~]$ chmod 700 ~/.ssh

[oracle@rac2 ~]$ ssh-keygen -t rsa

[oracle@rac2 ~]$ ssh-keygen -t dsa

在节点1上进行互信配置:

[oracle@rac1 ~]$ touch ~/.ssh/authorized_keys

[oracle@rac1 ~]$ cd ~/.ssh

[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys

[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys

[oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys

[oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys

>   是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

 

在rac1把存储公钥信息的验证文件传送到rac2上

[oracle@rac1 .ssh]$ pwd

/home/oracle/.ssh

[oracle@rac1 .ssh]$ scp authorized_keys rac2:'/home/oracle/.ssh'

oracle@rac2's password:

authorized_keys 100% 1644 1.6KB/s 00:00

设置验证文件的权限

在每一个节点执行:

$ chmod 600 ~/.ssh/authorized_keys

启用用户一致性

在你要运行OUI的节点以oracle用户运行(这里选择rac1):将passphrase导入内存中,均执行该命令

[oracle@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL

[oracle@rac1 .ssh]$ ssh-add

Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)

Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)

验证ssh配置是否正确

以oracle用户在所有节点分别执行:

ssh rac1 date

ssh rac2 date

ssh rac1-pri date

ssh rac2-pri date

 

各节点生成Keys:

[root@rac1 ~]# su -grid

[grid@rac1 ~]$ mkdir ~/.ssh

[grid@rac1 ~]$ chmod 700 ~/.ssh

[grid@rac1 ~]$ ssh-keygen -t rsa

[grid@rac1 ~]$ ssh-keygen -t dsa

[root@rac2 ~]# su -grid

[grid@rac2 ~]$ mkdir ~/.ssh

[grid@rac2 ~]$ chmod 700 ~/.ssh

[grid@rac2 ~]$ ssh-keygen -t rsa

[grid@rac2 ~]$ ssh-keygen -t dsa

在节点1上进行互信配置:

[grid@rac1 ~]$ touch ~/.ssh/authorized_keys

[grid@rac1 ~]$ cd ~/.ssh

[grid@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys

[grid@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys

[grid@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys

[grid@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys

在rac1把存储公钥信息的验证文件传送到rac2上

[grid@rac1 .ssh]$ pwd

/home/oracle/.ssh

[grid@rac1 .ssh]$ scp authorized_keysrac2:'/home/grid/.ssh'

grid@rac2's password:

authorized_keys 100% 1644 1.6KB/s 00:00

设置验证文件的权限

在每一个节点执行:

$ chmod 600 ~/.ssh/authorized_keys

启用用户一致性

在你要运行OUI的节点以grid用户运行(这里选择rac1):

[grid@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL

[grid@rac1 .ssh]$ ssh-add

Identity added: /home/grid/.ssh/id_rsa (/home/grid/.ssh/id_rsa)

Identity added: /home/grid/.ssh/id_dsa (/home/grid/.ssh/id_dsa)

验证ssh配置是否正确

以oracle用户在所有节点分别执行:

ssh rac1 date

ssh rac2 date

ssh rac1-pri date

ssh rac2-pri date

 

如果不需要输入密码就可以输出时间,说明ssh验证配置成功。必须把以上命令在两个节点都运行,每一个命令在第一次执行的时候需要输入yes。

如果不运行这些命令,即使ssh验证已经配好,安装clusterware的时候也会出现错误:

The specified nodes are not clusterable

因为,配好ssh后,还需要在第一次访问时输入yes,才算是真正的无障碍访问其他服务器
-----------------------------------
©著作权归作者所有:来自51CTO博客作者wx5caecf2ed0645的原创作品,请联系作者获取转载授权,否则将追究法律责任
Virtualbox环境中安装Oracle 11gr2 RAC(ASM)
https://blog.51cto.com/u_14286115/3328014

手动配置完两节点互信后,重新在grid软件中setup一下安装成功后即可test成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值