收藏 分销(赏)

linux-ibm下使用RHCS搭建双机环境.doc

上传人:二*** 文档编号:4742630 上传时间:2024-10-11 格式:DOC 页数:37 大小:1.47MB 下载积分:5 金币
下载 相关 举报
linux-ibm下使用RHCS搭建双机环境.doc_第1页
第1页 / 共37页
本文档共37页,全文阅读请下载到手机保存,查看更方便
资源描述
Linux下使用RHCS搭建双机环境 案例所属系统: 无 案例平台环境: Red Hat Enterprise Linux 5.5 64位,Red Hat Cluster Suite V5 应用部署: 无 环境搭建详细过程: 一、概述 RedHat Enterprise Linux 3.0和4.0中对应的的RHCSv3/v4支持的最大节点数为16,RedHat Enterprise Linux 5.0对应的RHCSv5支持的最大节点数为128。 RedHat高可用集群组成: Cluster Configuration System (CCS):集群配置系统,以管理cluster.conf档案 Cluster Manager (CMAN):集群管理器 Distributed Lock Manager (DLM):分布式锁管理器 Fence:输入/输出系统围栏系统(栅设备) 。本例中使用IBM的BMC作为fence设备。默认用户名USERID密码PASSW0RD (是零不是O)。 Resource Group Manage (rgmanager):资源组管理器,用来监督、启动和停止应用、服务和资源 Quorum Disk:仲裁磁盘 system-configure-cluster:图形化工具来管理集群中的多个机器 二、环境搭建与配置步骤 1、操作系统安装 ※Red Hat的详细安装步骤在这里就不重复了,但有几个需要注意的步骤: ①在进行文件系统的分区是除了/boot沿用传统的分区方式,其余的文件系统均采用LVM进行分配和管理。如下图所示: ②Red Hat Enterprise Linux V5把RHCH套件集成在系统安装镜像中,在选择安装系统组件的时候需要选中clustering选项,如下图所示: 准备工作: 1.配置bonding: 新建/etc/sysconfig/network-config/ifcfg-bond0,内容如下: DEVICE=bond0 BOOTPROTO=static IPADDR=192.168.3.11 NETMASK=255.255.255.0 BROADCAST=192.168.100.255 ONBOOT=yes TYPE=Ethernet 编辑要绑定的真实网卡eth0 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes 编辑要绑定的真实网卡eth1 # vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes 配置绑定模式: 编辑 /etc/modules.conf 文件,加入如下一行内容以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0加入下列两行 # vi /etc/modules.conf alias bond0 bonding options bond0 miimon=100 mode=1 primary=eth0 说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,共有0、1、2、3四种模式,常用的为0,1两种:mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,默认情况下只有一块网卡工作,另一块做备份,primary指定启动后active的网卡。 重新启动网络服务应用刚才的配置 # service network restart Bringing up interface bond0 OK Bringing up interface eth0 OK Bringing up interface eth1 OK Bringing up interface eth2 OK # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0c:29:f8:64:e1 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0c:29:f8:64:eb 2.修改/etc/hosts文件,添加节点的主机名和IP地址。在两台主机上该文件必须一致。 # vi /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.3.11 elndb1 10.1.1.1 elndb1 192.168.3.10 elndb 192.168.3.12 elndb2 10.1.1.2 elndb2 3.给共享存储LVM分区,建立逻辑卷和仲裁磁盘 (1)检查当前服务器硬盘和共享存储的情况(主机elndb1上执行) [root@elndb1 /]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 20860402+ 8e Linux LVM Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Disk /dev/sdc: 104 MB, 104857600 bytes 64 heads, 32 sectors/track, 100 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes (2)发现共享存储/dev/sdb,将其分区 [root@elndb1 /]# fdisk /dev/sdb Command (m for help):p Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System 可以看到,当前没有分区,我们输入n,建立一个新的分区 Command (m for help): n Command action e extended p primary partition (1-4) 由于我们要把oracle的数据库建立在共享磁盘上,没有其他用途,所以,我们只建立一个主分区即可,输入p Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-261, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): Using default value 261 输入p查看一下: Command (m for help): p Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 261 2096451 83 Linux 注意:因为要建立动态磁盘系统,以使GFS格式化磁盘阵列柜后可以动态调整分区大小,因此需要将刚建立的主分区类型更改为8e,即lvm类型的动态磁盘分区 输入t Command (m for help): t Selected partition 1 Hex code (type L to list codes): 输入8e Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) 输入p Command (m for help): p Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 261 2096451 8e Linux LVM 输入w,保存一下。 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 激活刚刚创建好的分区 [root@elndb1 /]# partprobe (3) 在服务器2上检查自动识别的LVM分区(服务器1上的分区操作,服务器2应可以自动识别) # chkconfig clvmd on # service clvmd status # service clvmd start (4)动态磁盘的建立 注意:以下A、B、C、D步骤只在服务器1上操作,步骤E需要在服务器1与2上都做。 A:建立物理卷 [root@elndb1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created [root@elndb1 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name rootvg PV Size 19.89 GB / not usable 19.49 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 636 Free PE 0 Allocated PE 636 PV UUID tpIqar-w86b-9x7j-JKkS-BOkz-mBKu-srRlLb "/dev/sdb1" is a new physical volume of "2.00 GB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 2.00 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 3ZcmC2-FAb0-rqE2-Lpar-FQdE-swT2-MJaNij B:建立逻辑卷组,卷组名为vgelndb1 [root@elndb1 ~]# vgcreate vgelndb1 /dev/sdb1 Volume group "vgelndb1" successfully created [root@elndb1 ~]# vgdisplay /dev/cdrom: read failed after 0 of 2048 at 0: Input/output error --- Volume group --- VG Name vgelndb1 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 2.00 GB PE Size 4.00 MB Total PE 511 Alloc PE / Size 0 / 0 Free PE / Size 511 / 2.00 GB VG UUID uddDSL-upUI-tUP9-ZEix-DSAm-xKim-qbU5xG --- Volume group --- VG Name rootvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 11 VG Access read/write VG Status resizable MAX LV 0 Cur LV 10 Open LV 10 Max PV 0 Cur PV 1 Act PV 1 VG Size 19.88 GB PE Size 32.00 MB Total PE 636 Alloc PE / Size 636 / 19.88 GB Free PE / Size 0 / 0 VG UUID WwsD1o-nCv6-FNOg-nsu4-55fr-AjgY-LjYS7P C:建立逻辑卷 注意,逻辑卷大小要小于物理卷的大小(下面有说明),名字是,lvelnoradb1,逻辑卷组名是刚才建立的vgelndb1 [root@elndb1 ~]# lvcreate -L 2000M -n lvelnoradb1 vgelndb1 Logical volume "lvelnoradb1" created [root@elndb1 ~]# lvdisplay /dev/cdrom: read failed after 0 of 2048 at 0: Input/output error --- Logical volume --- LV Name /dev/vgelndb1/lvelnoradb1 VG Name vgelndb1 LV UUID piHcbd-cjb5-zgNt-Sm7E-exII-G6JF-QU5Nlk LV Write Access read/write LV Status available # open 0 LV Size 1.95 GB Current LE 500 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:10 说明: ①建立逻辑卷时,大小要小于上面建立物理卷的大小,我是这么理解的,至于小多少可以建立成功,要试验一下,如果建立不成功,就将容量减小一点.物理卷与逻辑卷大小的关系,因为时间问题,没完全弄清楚. ②在服务器1建立的物理卷、逻辑卷组以及逻辑卷,在服务器2上都应该自动识别.因为我们已经安装了cluster与GFS服务,所以,服务器1的分区操作,在服务器2检查时,建议先重新启动一下clvm服务.在服务器1与服务器2上,pvdisplay、vgdisplay、lvdisplay看到的应该一致,如果服务器2上无法看到与服务器1上相同的信息,或者报错,那么大多是因为clvmd服务没有启动,关于clvmd服务,实际上就是基于cluster(集群)的lvm服务,lvm是什么,大致意思是动态磁盘管理吧!使用命令 service clvmd status检查clvm状态,使用service clvmd restart重新启动clvmd服务. D:用GFS协议格式化刚才建立的逻辑卷lvelnoradb1 [root@elndb1 ~]# mkfs.gfs -p lock_dlm -t SCN:lvelnoradb1 -j 2 /dev/vgelndb1/lvelnoradb1 This will destroy any data on /dev/vgelndb1/lvelnoradb1. Are you sure you want to proceed? [y/n] 输入y Device: /dev/vgelndb1/lvelnoradb1 Blocksize: 4096 Filesystem Size: 446404 Journals: 2 Resource Groups: 8 Locking Protocol: lock_dlm Lock Table: SCN:lvelnoradb1 Syncing... All Done 说明: -p lock_dlm 定义为DLM锁方式,如果不加此参数,当在两个系统中同时挂载此分区时就会像ext3格式一样,两个系统的信息不能同步; -t SCN:oracle :DLM锁所在的表名字,SCN应与cluster.conf中Cluster的name相同;oracle,按Redhat售前工程师的说法,GFS格式化的要是静态磁盘,可以是任意名字,而要是lvm的动态磁盘,则必须是逻辑卷名; -j 2 :GFS分区中最多支持多少个节点同时挂载,本例就2个oracle数据库,所以值为2. /dev/vgelndb1/lvelnoradb1 :准备要格式化的逻辑卷分区 E:将逻辑卷分区/dev/oracle10g/oracle mount到某个目录 本项目的oracle库建在/oradata上,所以,建立相关目录(此步骤需要在服务器1与服务器2上都做) [root@elndb1 /]# mkdir oradata [root@elndb1 /]# mount -t gfs /dev/vgelndb1/lvelnoradb1 /oradata 查看挂载的分区 [root@smsdb01 /]#df –h 注意:如果出现下面的错误,无法mount mount: permission denied 检查/etc/cluster/cluster.conf文件,尤其是cluster configure工具里的service management里的Faildomain Domain是不是选择了定义的Faildomain Domain的名字,如smsdbHP. 另外,可以用demsg命令以及tail –f /var/log/messages检查系统错误消息与监控日志,帮助查错. 4.使用mkqdisk命令创建仲裁磁盘 [root@elndb1 proc]# mkqdisk -c /dev/sdc1 -l elnqdisk mkqdisk v0.6.0 Writing new quorum disk label 'elnqdisk' to /dev/sdc1. WARNING: About to destroy all data on /dev/sdc1; proceed [N/y] ? y Initializing status block for node 1... Initializing status block for node 2... Initializing status block for node 3... Initializing status block for node 4... Initializing status block for node 5... Initializing status block for node 6... Initializing status block for node 7... Initializing status block for node 8... Initializing status block for node 9... Initializing status block for node 10... Initializing status block for node 11... Initializing status block for node 12... Initializing status block for node 13... Initializing status block for node 14... Initializing status block for node 15... Initializing status block for node 16... [root@elndb1 proc]# mkqdisk -L mkqdisk v0.6.0 /dev/disk/by-path/pci-0000:02:07.0-scsi-0:0:0:0-part1: /dev/sdc1: Magic: eb7a62c2 Label: elnqdisk Created: Sun Jun 13 15:07:17 2010 Host: elndb1 Kernel Sector Size: 512 Recorded Sector Size: 512 5.检查cman、rgmanager、clvmd、gfs几个服务是否已经加到系统自启动服务中 # chkconfig --list|grep cman # chkconfig --list|grep rgmanager # chkconfig --list|grep clvmd # chkconfig --list|grep gfs 如果没有的话,执行下列命令将其加入到系统服务中 # chkconfig --add cman # chkconfig --add rgmanager # chkconfig --add clvmd # chkconfig --add gfs # chkconfig cman on # chkconfig rgmanger on # chkconfig clvmd on # chkconfig gfs on 6.查看启动集群的几个服务的运行状态,停掉两台机器上cluster的所有服务 # service cman status # service rgmanager status # service clvmd status # service gfs status # service cman stop # service rgmanager stop # service clvmd stop # service gfs stop 查看/usr/share/system-config-cluster/FaildomController.py文件,第213行是否少一个“=”,该问题为cluser自身bug。 开始配置Cluster:(使用的是RHCSV5版本的system-config-cluster工具) 1.在Xwindow下运行 # system-config-cluser 或者依次执行System->Administration->Server Settings->Cluster Management, 打开图形化配置工具: 2.选择Create New Configuration按钮,然后输入文件名点和仲裁磁盘的相关信息,然后点击“确定”。 3.选中Cluster Nodes,这里就是加入成员节点的,点击Add a Cluster Node,输入elndb1点OK,如下图,Node Name需要和/etc/hosts文件中配置的机器名相同 同理加入elndb2。 4.选中Fence Devices,点击Add a Fence Device,如下图,Fence设备需要根据实际情况进行选择配置,这次安装中用IBM IPMI lan管理,修改后的IP是192.168.3.21,用户名是USERID,密码是PASSW0RD, 点OK。 5.选中刚添加的节点elndb1,点Manage Fencing For This Node,弹出对话框,点Add a New Fence Level,再选中左侧的Fence-Level-1,点Add a New Fence to this Level,弹出下面对话框 同样方式配置elndb2的fence设备。 6.创建失效域,添加对应节点,如图,选中Failover Domains,点击右下角的Create a Failover Domain。在弹出的对话框中输入失效域的名称,这里我们输入eln_failover保存后。 7.将失效域成员节点添加进去 右边的两个打勾选向分别是 "RestrictFailover Domains members" 以及 "Priotitzed List"。如果妳只有两台, 打勾第一项“Restrict Failover Domains members” 就可以了,这项是只允许这两台做轮替。另外一项"Priotitzed List"则是在你有两台以上的服务器,需要分别设定轮替的优先级时需要的。当你打钩"Priotitzed List"后可以使用"Adjust Priority" 调整多节点的替换优先级 8.创建资源组 选中Resources,点击右下角的Create a Resources,这里选择Create a Resource,然后选择IP Address,填写Float IP进去。 9.创建服务 选中Service,点击右下角的Create a Service,在弹出的对话框中创建Service,如下图 依次增加要切换的服务即可。 在这里需要提醒各位最好将服务脚本放置在IP下面,只有网卡起来了才 能服务,逻辑上才正确。 操作流程:选择Create a new resource for this service 然后选择IP Address,这样地址资源就加载好了,选中刚建立的地址,再在下面选择Attach a new Private Resource to the Selection,这里选择Script并添加我们需要服务的脚本。 10.保存配置并同步到备机 点击 Send To Cluster按钮,如下图所示 也可以通过以下命令来同步集群两台主机的配置: [root@elndb1 ~]# scp /etc/cluster/cluster.conf elndb2: /etc/ cluster/cluster.conf The authenticity of host 'elndb2 (134.33.141.202)' can't be established. RSA key fingerprint is d2:17:1e:73:4e:ae:fc:ff:3c:ec:66:0e:76:b0:76:17. Are you sure you want to continue connecting (yes/no)? 输入yes Warning: Permanently added 'elndb2,134.33.141.202' (RSA) to the list of known hosts. root@elndb2's password: 输入主机2的密码: cluster.conf 100% 1669 1.6KB/s 00:00 10、最终的cluster.conf文件内容应该如下结构: [root@elndb1 cluster]# cat cluster.conf <?xml version="1.0" ?> <cluster config_version="2" name="eln_cluster"> <quorumd device="/deb/sdc1" interval="1" label="elnqdisk" min_score="3" tko="10" votes="3"> <heuristic interval="2" program="/bin/bash" score="1"/> </quorumd> <fence_daemon post_fail_delay="0" post_join_delay="3"/> <clusternodes> <clusternode name="elndb1" nodeid="1" votes="1"> <fence> <method name="1">
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服