最好的蒸汽火车:服务器集群――双机热备 基于Windows 2003系统的Oracle集群 - xunzh...

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 15:56:42
  转载请注明原文:
http://blog.csdn.net/xl_xunzhao/archive/2008/11/30/3413369.aspx1. A、B同时开 修改主机名、host文件 添加网卡 设置内网卡、外网卡 IP 
   主机名的修改务必在DC安装之前完成,否则安装了DC后再修改就会出错了。   A机:主机名: clusterA     
        内网卡heartbeat  IP:10.0.0.2      NETMASK:255.255.255.0
        外网卡public     Ip:192.168.33.11 NETMASK:255.255.255.0 Getway:192.168.33.1  DNS:127.0.0.1
   B机: 主机名: clusterB
        内网卡heartbeat  IP:10.0.0.3      NETMASK:255.255.255.0
        外网卡public     Ip:192.168.33.12 NETMASK:255.255.255.0 Getway:192.168.33.1  DNS:192.168.33.11   host文件应添加以下记录:
   192.168.33.11   clusterA.xunzhao.com
   192.168.33.12   clusterB.xunzhao.com
   2. A安装为域控制器 
  2.1 创建域账号并将其加入域管理组,这样才有权限对基于域的集群进行管理操作  正确设定密码
  2.2 在A上配置DNS,新建主机A、B;A不关机,开启B并将其升级为额外域控制器
  2.3 把B升级为额外域控制器,这样在接下来的配置过程中当cluserA关机的时候,cluserB才能顺利登陆,否则会出现找不到域控制器的错误,在升级过程中要用到2.1中创建的具有域管理权限的域账号。3. 创建共享磁盘(保持A、B都处于关机状态)   经验:曾经偷懒,先把磁盘创建并挂载到节点上(即“添加硬件->磁盘”或者直接编辑节点文件目录下的.vmx文件讲设备写进去),虽然在磁盘尚未初始化并分区,但实验成功不了,或者出现A节点分配好盘符并写入数据后,关闭A节点,在B节点看到的磁盘还是未初始化,如此重复。这种情况可以通过一下方式见证:节点文件目录下会有一个???-000001.vmdk(本例为asm03-000001.vmdk)的文件,如果你在分区之前看到这样的文件,那你就需要在VM中手工把两个磁盘设备删除掉,再重新添加,注意只能用VM删除而不能直接编辑.vmx文件,我认为这是VM要处理一些有一定关联性的信息。
感谢 http://bbs.chinaunix.net/viewthread.php?tid=926561
较早版本的VMware通常使用plainmaker.exe来创建共享磁盘,而较新版本的VMware安装目录下有一个vmware-vdiskmanager.exe文件,在cmd下运行该程序就可以创建虚拟磁盘了。
vmware-vdiskmanager.exe -c -s 4Gb -a lsilogic -t 0 D:\VMware\sharedisk.vmdk默认地,虚拟机加载磁盘后会将磁盘标记为“独占”,需要分别打开两台虚拟机的vmx文件,添加以下几行方能实现仲裁盘的共享。 disk.locking = "false" #(关闭锁定功能,这样才能实现共享,本实验的关键)
diskLib.dataCacheMaxSize = "0"scsi1.present = "TRUE"  #(启用总线)
scsi1.virtualDev = "lsilogic"scsi1:1.present = "TRUE"      #(启用磁盘,并分配1号总线的1号通道)
scsi1:1.fileName = "asm03.vmdk"  #(磁盘对应的物理文件)
scsi1:2.present = "TRUE"   #(启用磁盘,并分配1号总线的2号通道)scsi1:2.fileName = "asm04.vmdk"fileSearchPath = "I:\VMware\sles101;."  #(磁盘所在目录)
scsi1:1.redo = ""
scsi1:2.redo = ""#scsi1.pciSlotNumber = "35"  #(这句不要写,VM会自动分配)
  分别为A、B机添加磁盘,添加的新磁盘要满足以下条件方能符合集群需求, 配置前后保持A、B处于关机状态。 1)   共享磁盘不能和原来的系统盘在同一个共享总线上,如系统盘SCSI通道0,而共享磁盘属于SCSI通道1,不在一个共享总线上,符合集群需求2)   共享磁盘的仲裁磁盘和数据磁盘均位于SCSI通道1上,亦符合集群需求(可以添加两块硬盘,一块用于作仲裁盘,另一块作为数据盘;也可以添加一块盘,先分一个分区作为仲裁盘,剩下的暂时的不要分区,等后面配置应用系统的时候再分区,否则会导致仲裁盘出错)4. 添加仲裁盘并在A、B机分配同样的盘符
 4.1 保持B关机,启动A机并进入系统后,进入设备管理器的磁盘管理可以看到刚才新添加的磁盘,这时该磁盘还为初始化,不能使用。
 4.2 对磁盘初始化后,新建一个大小为500MB的分区并格式化为NTFS,为其分配盘符Q(Quorum),剩下的空间暂时不要对其进行任何操作。
 4.3 关闭A机,开启B机,务必让A机完全关闭后方可开启B机,在群集没有配置之前不能让A、B机同时处于开机状态,否则会造成仲裁盘的破坏。
 4.4 B机进入系统后,在设备管理器的磁盘管理中会认到4.2中B机已经操作过的磁盘,为已格式化的500MB空间分配盘符Q(务必保证A、B为其分配的盘符是一样的,否则仲裁出错,群集不能用!!)
 4.5 使A、B一开一关,确认二者都能正确地对Q盘进行读写操作。5.配置集群服务(先配置A机,因为A机为PDC,DNS服务由A机提供)
 5.1 保持B机关闭,启动A机,在DNS中新建名为cluster的主机,其IP为192.168.33.21,同时将此记录添加到A机的host文件中
     192.168.33.21   cluster.xunzhao.com
 5.2 在A机的开始 --> 管理工具 --> 群集管理器 --> 新建群集
     群集名为cluster,IP为192.168.33.21,用户名和密码就填写2.1中所创建的账号,确认下仲裁盘为Q盘。
 5.3 保持A机处于开机状态,开启B机,打开群集管理器 - 添加节点到群集 - 群集为“cluster.xunzhao.com" - 计算机名clusterB - 密码为2.1中设置的密码
 5.4 群集网络设置 把heartbeat网卡的属性设为“只用于内部群集通讯(专用网络)”,public网卡的属性设为“所有通信(混合网络)”。
 5.5心跳适配器优先化    5.5.1 由于群集服务总是尝试使用列于首位的网络适配器进行节点间的远程过程调用(RPC)通信。只有当群集服务无法使用第一个网络适配器进行通信时,才会使用列表上的下一个网络适配器。所以我们需要调整一下心跳适配器的优先级。  5.5.2启动群集管理器。右击群集名称,然后单击“属性”,在弹出的对话框中单击“网络优先级”选项卡。将Heartbeat Connection 上移至顶部。
6. 故障测试
 6.1 初级测试:移动组
 6.2 高级测试:手工模拟故障1次,结果应为自动恢复;手工模拟故障4次,则群集资源转移到另一个节点。
   此实验说明,群集节点的资源,在遇到初始故障后,能够自我修复,重新回到联机状态。如果初始故障次数超过3次,就不会自我修复了,而是会进行故障转移。 
 6.3 停止群集服务测试:在群集资源所在节点上停止“cluster service”,则资源自动转移到另一个节点上。
 6.4 意外断电测试:故障应成功转移到另一节点。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xl_xunzhao/archive/2008/11/30/3413369.aspx