HP570G2+msa1000+windows2kads+ORACLE8I 做双机热备1、硬件基础HP 570G2服务器两台,每台两块网卡(自带HP3162/100M网卡,另各添加一块HP3132/100M网卡) 服务器本地各有块SCSI 36G硬盘。
HP SAN磁盘阵列柜型号MSA100 F200 1台Cisco100M交换机1台磁盘系统规划,服务器磁盘分3个区各10G盘符为C、D 、E cd 为NTFS格式C盘为系统D盘为oracle程序目录E为FAT32格式,(做GHOST备份:) )阵列柜为Y盘作为oracle的数据库文件位置,数据库SID为orcl。
2:软件基础:Windows2000 advance serveroracle8i(8.1.7.0.0)企业版oracle failer safe (3.3.2版,oracle网站可下载,本用于oracle9i的,在E文网站看到有人说是兼容8I的,加上老3.2.2版本的oracle install程序打不开,只能用8i的install程序安装,所以......)oracle程序安装在每个服务器的D盘d:\oracle\ora81 下面3、各设备的连接方式和IP地址分配:服务器之间用心跳线(就是双机直连的那种跳线)连接,作用2台机器集群服务的互相监控通信。
服务器分别与交换机连接(我选择HP3162网卡与交换机相连,HP3132网卡作为心跳线的连接)。
连接心跳线的2块HP3132网卡为10.10.10.1010.10.10.11 对外提供服务的2块网卡IP 为192.168.0.10 192.168.0.11 微软集群的虚拟Ip为192.168.0.15服务器分别与阵列柜连接(使用2G光纤跳线),特别注意,SAN阵列柜自带一个FC 口的模组,另选配了一个2/3 FC HUB 模组(就是自带带2个FC口,无其它特别之处。
) 实际我们只是用2/3 FC HUB 模组连接2台服务器,由于我们SAN前面板我们只安装了一个控制模块,后面只有一个模组可用(咨询HP工程师得到的答案)所以,请把安装在后面的2/3 FC HUB模组的位置,对着前面控制模组的位置从后面安装进去,这样就可以了,另外一个不可用的模组上的2个灯为黄色闪烁,呵呵,你可拔下它,扔掉,也可就这样不管,能不能再退给HP啊?哪位告诉我,这样也太浪费了,上万人民币呢!: )4、服务器安装(安装系统) 首先在BIOS中选择OS为windows2000/windows2003,然后用HP服务器自带的BOOT CD引导服务器,出现图形界面的向导,点击Setup图标,选择OS类型,选择OS分区大小,我分了10G空间,选择安装win2kadserver,输入CD-KEY,放入win2kADS安装光盘,剩下的安装过程就都是自动的了。
(安装FC卡驱动和SAN驱动) 安装OS完毕,放入HP SAN的support sofware CD 安装FC卡的驱动程序(不必安装HP的array config utility 因为服务器OS安装时HP已经自动都安装好了,而且是最新版本),reboot,然后使用hp的磁盘阵列柜软件(array config uitly)将阵列柜的磁盘做raid5或使用默认推荐raid ADG格式(advance Data Guard,谁能告诉我这是不是HP公司自己开发的专用阵列格式啊!)。
(配置SAN磁盘) 在管理工具-计算机管理-磁盘管理中,看服务器找到的SAN磁盘是否为基本磁盘,如果是动态磁盘,请降级为基本磁盘,然后创建磁盘分区-为主分区-盘符为Y 分区格式为NTFS 使用快速格式化,同时也创建好本地磁盘剩下空间的分区D、E盘,调整好各个光驱和硬盘的盘符。
(配置活动目录) 第一台机器配置成为域管理器,域名。
接交换机HP3262网卡ip设置为192.168.0.10,心跳线HP3132网卡设置为10.10.10.10第二台机器安装win2kadserver,加入到域,也成为域控制器,ip设置为192.168.0.11,及10.10.10.11,同时把在管理工具-计算机管理-磁盘管理中把SAN中的磁盘盘符改为和第一台一致Y盘,把本地磁盘同样按照第一台服务器的分区和盘符设置更改为一致。
5. 操作系统集群两台服务器分别安装window网络集群服务组件(特别注意,请把"添加删除windows 组件" "网络服务"中的“简单TCP/IP服务”一同加上,主要是要使用其中的“windows Time”服务,记得在2台服务器其中都把windows time选为自动启动,主要原因是微软cluster service 的依赖关系中有一项是依赖windows time服务的)不加上windows time 服务系统日志中总会有关于time服务的一些错误。
)第一台配置windows集群服务,将集群名称设为xcluster1。
其中注意选择你做心跳线的hp3132网卡作为集群内部网络的私有通信,选择hp3162网卡作为公共网络访问或者公私混合访问的通信均可。
第二台配置windows集群,加入到集群xcluster1。
对两台机器集群进行简单切换测试。
6.oracle安装两台机器分别安装oracle,,自定义安装,不建立数据库,好像安装到14%就有个错误,忽略掉就可以,不影响使用。
在第一台机器上安装数据库,数据库文件、控制文件、日志文件放在阵列柜(也就是在创建数据库过程中把所有带有路径的都改为Y盘)(我这儿是y:\oracle\data)。
将第一台机器关闭或从集群中脱机,在第二台机器上安装数据库,然后创建数据库等放到同一目录下,此安装路径与创建数据库的参数多要与第一台机器上完全一样(先把Y盘上第一台机器生成的数据库文件删除掉,否则,oracle无法在同一位置创建数据库的)。
7.安装ofs(oracle failer safe)把oracle8i的所有服务都改为手动,因为这些服务将由mscs中的Group来管理两台机器分别安装ofs,安装完毕,reboot。
修改2台服务器win2k系统中的HOSTS文件,里面都增加一行192.168.0.14 cluster1保存退出。
修改安装在D盘的listener.ora 和tnsnames.ora 把其中的HOST后面的参数都换成192.168.0.14确保2台机器的ORCL数据库中的INIT.ORA文件参数一致,如需要修改oracle orcl中internal的账号,请同时修改2台机器的internal账号密码为一致(好像通过拷贝pwdORCL.ora这个密码文件来同步无效,有谁知道原因?)1:需要用专用命令ORAPWD(操作系统级命令)修改internal的密码2:登陆sqlplus,alter user sys identified by <new password>;;在oracle8i的菜单中找到OFS管理器,打开,启动新建组组名oracle,下一步增加虚拟IP地址,NETWORK HOSTNAME中输入cluster1,IP地址192.168.0.14会自动出现在下一列,下一步完成。
在OFS菜单中找到verify 先verify cluster 如果前面集群OK的话,这儿结果应该是OK 的,然后在资源组中的2个单独的节点里选择第一台机器的standalone resources 中的数据库,我这儿是orcl,然后同样选择校验,出现一堆错误添加组建,点击fix按钮修复掉,选中另一台机器的standalone resources 中的数据库,同样校验一次,仍然一堆错误,Fix 掉(我这样来回校验2个独立数据库,好像永远都有需要Fix的错误,谁知道为什么??反正我反复几次以后,就不管了它)然后在刚才新建的oracle组中点击右键,add resources to group 出现向导,选择增加oracle database,然后,在下拉列表中选者一个ORCL 然后下面的所有ORCL的参数都自动出现,点击完成,然后是一堆自动配置过程的进度提示,有什么需要copy数据库的提示之类的,点击YES 创建完成。
2台机器中standalone resources 中的数据库资源都消失掉了,出现在新建的oracle组中,然后在oracle组中添加一项通用服务oracleserviceORCL 进去,然后就一切都好了(特别注意,一定要添加此项oracleserviceORCL服务,否则,远程客户端永远也连不上的,这可是苦熬一天一夜后才找到这个原因的,好痛苦啊:()。
8.调试。
通过netstat -an 来看是192.168.0.14中否有1521的监听用客户端连接测试9.倒数据在这里首先应查看原有库的表空间,而后在双机系统中建立相应的表空间,而后用exp导出原有数据,用imp导入到现有数据库.否则,如果原系统表空间装在d盘,而双机在y盘,那么exp和imp导入导出的数据不完整,imp有大量的错误日志.补充:不用OFS是有问题的,虽然更简单,因为MSCS只探测ORACLE SERVICE,如果手工shutdown 掉ORACLE,MS的SERVICE是不会停止的,这样MSCS依然认为ORACLE是正常的,但是客户端却怎么也连不上数据库了,这样的好处是你可以shutdown数据库然后冷备份:)。
用了OFS就不一样了,OFS启动了一个服务FOR MSCS,这个东西来监听ORACLE INSTANCE,只要实例一出问题,会立刻造成切换,甚至你多次密码错误,也会造成PENDING。
记得有次装了OFS,但没用,然后卸了,但是系统替换掉了MS的一个DLL文件(估计是ORACLE探测器),居然也能管INSTANCE,后来也没深究。