[分享]RAC的搭建试验_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4661 | 回复: 0   主题: [分享]RAC的搭建试验        下一篇 
shunzi
注册用户
等级:上尉
经验:782
发帖:133
精华:0
注册:2011-10-10
状态:离线
发送短消息息给shunzi 加好友    发送短消息息给shunzi 发消息
发表于: IP:您无权察看 2011-11-4 9:44:00 | [全部帖] [楼主帖] 楼主

主机网络配置注意事项:
ip地址使用静态配置:static
网关要指定
hostname不要出现在回环地址!
如果启动过单机asm服务,请先停止

为oracle用户设置口令
修改oracle用户.bashrc文件

export CRS_HOME=/u01/app/crs_1
export ORACLE_SID=racdb#
su -
chown oracle.oinstall /u01/app -R


配置网络:

vi /etc/hosts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127.0.0.1  localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
# Public Network - (eth0)
192.168.3.50 stu50
192.168.3.52 stu52
# Public Virtual IP (eth0:1)
192.168.3.51 stu50-vip
192.168.3.53 stu52-vip
# Private Interconnect - (eth1 -> eth0:2)
10.0.0.50 stu50-priv
10.0.0.52 stu52-priv


配置eth0:2:

cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:2
DEVICE=eth0:2
BOOTPROTO=static
HWADDR=00:E0:4D:3B:0C:B2
IPADDR=10.0.0.50
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
ONBOOT=yes


配置hangcheck-timer:用于监视 Linux 内核是否挂起

vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180


自动加载hangcheck-timer 模块/u01/app/oracle/product/10.2.0/db_1

vi /etc/rc.local
modprobe hangcheck-timer


检查hangcheck-timer模块是否已经加载:

lsmod | grep hangcheck_timer


配置信任关系:

node1:192.168.3.50
su - oracle
ssh-keygen -t rsa
ssh-keygen -t dsa
cd .ssh
cat *.pub > authorized_keys
node2:192.168.3.52
su - oracle
ssh-keygen -t rsa
ssh-keygen -t dsa
cd .ssh
cat *.pub > authorized_keys
node1:192.168.3.50
scp authorized_keys oracle@192.168.3.52:/home/oracle/.ssh/keys_dbs
node2:192.168.3.52
cat keys_dbs >> authorized_keys
scp authorized_keys oracle@192.168.3.50:/home/oracle/.ssh/


测试信任关系:

node1:192.168.3.50
node2:192.168.3.52
ssh stu50
ssh stu52
ssh stu50-priv
ssh stu52-priv


准备公用卷:iscsi

rpm -ivh compat-db-4.2.52-5.1.i386.rpm
rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
rpm -ivh openmotif22-2.2.3-18.i386.rpm
node1 : 192.168.3.50 stu50 (iscsi server)


划分10G分区作为iscsi共享磁盘:
分区:/dev/sda5  5889        7105     9775521   83  Linux

iscsi 服务端:ClusterStorage目录下

rpm -ivh perl-Config-General-2.40-1.el5.noarch.rpm
rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.x86_64.rpm


Server目录下

rpm -ivh iscsi-initiator-utils-6.2.0.871-0.16.el5.i386.rpm
vi /etc/tgt/targets.conf
----------------------------------------
<target iqn.2011-01.com.oracle.blues:luns1>
backing-store /dev/sda9
initiator-address 10.1.1.0/24
</target>
----------------------------------------
vi /etc/udev/scripts/iscsidev.sh
----------------------------------------
#!/bin/bash
BUS=${1}
HOST=${BUS%%:*}
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
if [ -z "${target_name}" ] ; then
exit 1
fi
echo "${target_name##*:}"
----------------------------------------
c
chkconfig iscsi on
chkconfig iscsid on
chkconfig tgtd on
service iscsi start
service iscsid start
service tgtd start
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
iscsiadm -m discovery -t sendtargets -p 10.1.1.103
service iscsi start
fdisk -l


重新扫描服务器

iscsiadm -m session -u
iscsiadm -m discovery -t sendtargets -p 10.1.1.103
vi /etc/rc.local
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
service iscsi start


iscsi客户端配置 client : 10.1.1.103

rpm -ivh iscsi-initiator-utils-6.2.0.871-0.16.el5.i386.rpm
vi /etc/udev/rules.d/55-openiscsi.rules
-----------------------------------------------
KERNEL=="sd*",BUS=="scsi",PROGRAM="/etc/udev/scripts/iscsidev.sh %b",SYMLINK+="iscsi/%c"
-----------------------------------------------
vi /etc/udev/scripts/iscsidev.sh
----------------------------------------
#!/bin/bash
BUS=${1}
HOST=${BUS%%:*}
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
if [ -z "${target_name}" ] ; then
exit 1
fi
echo "${target_name##*:}"
----------------------------------------
chmod +x /etc/udev/scripts/iscsidev.sh
service iscsi start
iscsiadm -m discovery -t sendtargets -p 10.1.1.18 -l
service iscsi start
fdisk -l
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


对iscsi共享盘分区:

将iscsi共享分区变为裸设备:

vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw[1]", MODE="0660", GROUP="oinstall", OWNER="root"
KERNEL=="raw[2]", MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[3]", MODE="0660", GROUP="oinstall", OWNER="oracle"
KERNEL=="raw[4]", MODE="0660", GROUP="oinstall", OWNER="oracle"


分别在node1 & node2启动udev:

start_udev


分别在node1 & node2确认裸设备被加载:

[root@stu50 ~]# ll /dev/raw


总计 0

crw-rw---- 1 root   oinstall 162, 1 01-11 12:44 raw1
crw-rw---- 1 oracle oinstall 162, 2 01-11 12:44 raw2
crw-rw---- 1 oracle oinstall 162, 3 01-11 12:44 raw3
crw-rw---- 1 oracle oinstall 162, 4 01-11 12:44 raw4


使用CVU校验集群安装可行性:

./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose


安装clusterware软件(只需在一个节点做,但要手工将其它节点加入到群):

/mnt/clusterware/runInstaller


注意:在弹出要求运行root.sh脚本的对话框时先不要运行root.sh脚本先修改vipca和srvctl脚本,
不然运行脚本过程中调用java会报错!

su - oracle
vi +123 $CRS_HOME/bin/vipca


在123行 fi 后新添加一行:

unset LD_ASSUME_KERNEL
vi + $CRS_HOME/bin/srvctl


在export LD_ASSUME_KERNEL这一行后加

unset LD_ASSUME_KERNEL


在最后一个节点运行root.sh如果出现下面错误,请按下面蓝色字体部分解决!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Running vipca(silent) for configuring nodeapps
Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


注意红颜色部分!要按自己的网络配置修改(注意网络适配器名称和IP地址!不要盲目照抄!)!

cd /u01/app/crs_1/bin
#./oifcfg iflist
#./oifcfg setif -global eth0/192.168.0.0:public
#./oifcfg setif -global eth0:2/192.168.10.0:cluster_interconnect
#./oifcfg getif


如果两台实验机的网卡一个是eth0一个是eth1,那么按如下方法修改:

./oifcfg setif -node node1 eth0/:10.1.1.0:public
./oifcfg setif -node node1 eth0:0/172.20.1.0:cluster_interconnect
./oifcfg setif -node node1 eth0:1/172.20.1.0:cluster_interconnect
./oifcfg setif -node node2 eth1/:10.1.1.0:public
./oifcfg setif -node node2 eth1:0/172.20.1.0:cluster_interconnect
./oifcfg setif -node node2 eth1:1/172.20.1.0:cluster_interconnect
############ 效果 ########
[root@server bin]# ./oifcfg getif
eth0  10.1.1.0  node1  public
eth0:0  172.20.1.0  node1  cluster_interconnect
eth0:1  172.20.1.0  node1  cluster_interconnect
eth1  10.1.1.0  node2  public
eth1:0  172.20.1.0  node2  cluster_interconnect
eth1:1  172.20.1.0  node2  cluster_interconnect
############ 效果 ########


设置网络接口后在当前节点手工运行vipca

unset LANG
./vipca


vipca向导将资源启动后,查看各资源状态

cd $ORA_CRS_HOME/bin
./crs_stat -t


查看各资源详细信

./crs_stat
./crs_stat -p


clusterware软件安装成功之后备份一下ocr!

./ocrconfig -export /home/oracle/ocr.bak


安装数据库软件(只需在一个节点做,会出现多节点的选择选项):安装时选择只安装软件不键库

/mnt/database/runInstaller


clusterware管理:
查看voting disk位置:

#./crsctl query css votedisk


备份voting disk

dd if=voting_disk_name of=backup_file_name bs=4k


还原voting disk

dd if=backup_file_name of=voting_disk_name bs=4k


添加新的表决磁盘:

# crsctl add css votedisk <new voting disk path>


删除表决磁盘:

# crsctl delete css votedisk <old voting disk path>


如果所有节点上的 Oracle Clusterware 都已关闭,请使用 –force 选项:

# crsctl add css votedisk <new voting disk path> -force
# crsctl delete css votedisk <old voting disk path> -force


查看OCR的位置

#./ocrcheck


找到物理备份:

$ocrconfig -showbackup


检查ocr内容:

# ocrdump –backupfile file_name


检查 OCR 完整性:

$ cluvfy comp ocr -n all


OCR 会在以下时间自动进行备份:
每 4 小时:CRS 会保留最后 3 个副本。
每天结束时:CRS 会保留最后 2 个副本。
每周结束时:CRS 会保留最后 2 个副本。

更改自动备份的默认位置:

# ocrconfig –backuploc /shared/bak


还原 OCR 物理备份:

# crsctl stop crs
# ocrconfig –restore <CRS HOME>/cdata/jfv_clus/day.ocr
# crsctl start crs


手工备份:

/data/oracle/crs/bin/ocrconfig -export /data/backup/rac/ocrdisk.bak


还原逻辑 OCR 备份:

# crsctl stop crs
# ocrconfig –import /shared/export/ocrback.dmp
# crsctl start crs


检查 OCR 完整性:

$ cluvfy comp ocr -n all


停止crs:

/etc/init.d/init.crs stop


启动crs:

/etc/init.d/init.crs start


查看系统活动:

tail -f /var/log/message
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


手工卸载clusterware:如果clusterware安装失败可以使用下面方法卸载clusterware!安装成功就不要卸载了!脚本别瞎用!

cd /u01/app/crs_1/install
./rootdelete.sh
./rootdeinstall.sh
rm -fr /etc/ora*
rm -fr /etc/init.d/*.crs
rm -fr /etc/init.d/*.crsd
rm -fr /etc/init.d/*.css
rm -fr /etc/init.d/*.cssd
su - oracle
rm -fr $ORACLE_BASE/*




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论