当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 实施系统软硬件环境硬件:p4 2.4G,80G,512M DDR宿主机系统:win2000pro sp4虚拟机软件:Vmware GSX Server 3.1安装Vmware GSX Server 3.1和Redhat AS3.0的基本系统1.安装

 实施系统软硬件环境

硬件:p4 2.4G,80G,512M DDR

宿主机系统:win2000pro sp4

虚拟机软件:Vmware GSX Server 3.1

安装Vmware GSX Server 3.1和Redhat AS3.0的基本系统

1.安装Vmware GSX Server3.1

相信大家都安装过workstation,过程都差不多,这里就不多废话了,有一点要提醒大家注意的是,VMware GSX Server2.5无法打开Vmware workstation4.52虚拟出来的系统,GSX Server2.5比4.52出来的要早,所以。。。。。。。

2.安装Redhat AS3.0

切记安装上xwindows桌面系统,设置此系统hostname为linux1,ip为10.0.0.155

3.COPY并配置另一套AS3.0系统将安装的第一套系统的文件复制到另一个文件夹,用编辑器打开rhel3.vmx文件修改displayName?=?"Linux1"到"Linux2"

然后修改此系统的虚拟硬件配置,将网卡删除如下图所示,进行此步的原因是因为从第一套系统COPY过来的文件如果同时运行,两个系统的MAC地址会发生冲突由于将网卡删除,所以必须删除后启动第二套系统,启动过程中kudzu进程会提示系统有多余的配置文件(就是已经被删除网卡的配置文件),选择将多余的配置文件删除,然后再关闭linux2系统,重新给linux2添一块网卡。再启动linux2

启动linux2,启动过程中,由于重新添加了网卡,所以系统检测到了它,再重新配置网卡,设置linux2 IP地址为10.0.0.156,其它同 linux1。(注:这样有人可能会觉得麻烦,不过网卡MAC地址冲突,这也是没办法的事,谁让咱们偷懒不想再重装一套系统呢)

这时候检查以下各文件,修改主机名,网络配置文件

#vi?/etc/sysconfig/network

将HOSTNAME=linux1改为HOSTNAME=linux2

#vi?/etc/hosts

将10.0.0.155 linux1修改为10.0.0.156 linux2

(注:有些朋友可能会问,怎么不直接把hosts文件里把linux1,心跳地址都写进去,其实我现在这么做是为了让文档更清晰些,到下一步的时候再添加这些,虽然稍微麻烦点,但是可以避免一些朋友看不明白)

这样两套完整的AS3.0的系统就配置成功,进入第二阶段

二、使用Vmware虚拟出HA必需硬件设备,并进行配置

1.给两个系统各虚拟一个新的网卡

关掉两个系统,给两系统各一个增加以网桥方式工作的网卡,方法与第一图类似

2.创建共享磁盘

给HA系统创建共享磁盘sdb,大小为500M(自定义),如下图所示

先打开linux1系统的设置,创建磁盘,磁盘文件名为,share.vmdk 选中Allocate all disk space now这一选项

建议将新加磁盘的装入点设为scsi 1:0,如下图所示,这就是系统的裸设备

然后打开linux2的设置,同样给linux2添加共享磁盘,不过这次选择已经存在的磁盘,使用的共享磁盘就是刚才为linux1创建的那个磁盘,如下图所示

同样在Configuration?editor?里面修改共享磁盘的”Vitual?disk?node”为scsi?1:0

这样,就给两个系统各创建了一个新网卡,又创建了一个共享磁盘。由于系统启动的时候会锁定磁盘,所以当启动linux1后共享磁盘被锁定了,linux2就起不来了,因此必须做一下设置,用编辑器打开两个Vmware文件夹的rhel3.vmx文件,最后增加一行:

Disk.locking?=?false

这样硬件就配置好了

3.配置新添加的网卡

启动linux1系统,系统在启动时候会检测到新添加的网卡,选择配置,将第二块网卡的IP设置为192.168.123.1,其它默认

修改linux1系统的/etc/hosts文件,改后内容如下

10.0.0.155 linux1

192.168.123.1 linux1

10.0.0.156 linux2

192.168.123.2 linux2

同时启动linux2系统,设置方法同linux1

4.配置共享磁盘

在linux1在shell里运行

#fdisk /dev/sdb //注使用parted也可以

将添加的共享磁盘,分为两个区:sdb1和sdb2,各250M大小

在两台服务器上分别编辑/etc/sysconfig/rawdevices文件,将分区绑定到裸设备。

#vi?/etc/sysconfig/rawdevices

加入

/dev/raw/raw1 /dev/sdb1

/dev/raw/raw2 /dev/sdb2?

重启服务

#service?rawdevices?restart

启动完成后执行

#raw –qa,会显示以下内容

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2: bound to major 8, minor 18

格式化共享磁盘,每个块大小为4K

mkfs.ext3 -j -b 4096 /dev/sdb1

mkfs.ext3 -j -b 4096 /dev/sdb2

注明:使用-b选项将磁盘区块设置为4K,过小的区块会导致磁盘检查的时候耗费过多的时间

然后在linux2里修改/etc/sysconfig/rawdevices同上,然后重新启动rawdevices服务,raw –qa检查系统

至此,硬件准备工作完成

三、安装并配置基本的HA系统

在这里我们只将AS3.0自带的CLUSTER服务配置好,涉及到具体的http,ftp,mysql,oracle的HA服务会在下一部分介绍

安装确认系统内安装了AS3.0的HA软件包

我们在这里要用到的软件包主要有两个,clumanager和redhat-config-cluster

请用rpm –q 命令检查系统是否安装这两个软件包,如果没有安装可以通过以下方法安装

使用ISO或光盘,AS3.0共有八张光盘,我们平时常用的只有前四张,另外有四张扩展光盘,其中扩展光盘的第三张是集群软件,还包括了IPVS

等软件,从光盘上安装,如下图或者通过网络上下载到这两个软件包进行单独安装

rpm --Uvh clumanager-..rpm

rpm --Uvh redhat-config-cluster-.noarch.rpm

注:网络上比较多的是src软件包,下载下来以后得使用rpmbuild命令进行重新编译,然后在安装

开始基本的HA配置

在linux1系统上,启动xwindows,我这里是gnome,开始运行配置工具

选择左下角图标 => 系统设置 =>服务器设置 => Cluster(或者在命令行里运行#redhat-config-cluster)

[!--empirenews.page--]

出现以下画面(图里左上角乱码是因为我用的是远程XWINDOWS,设置有问题)

下一步操作,点菜单栏里的群集->配置

出现下图所示

在Cluster Name处可以更改你设置集群的名字,在这里我设置为test_cluster

然后我们开始添加集群内的成员,点菜单栏->新建 如下图所示

(注:此时保证列表处选中Members,才可以出现下面内容)

将两台机器Ip都填写进去,如下图

在这里选中菜单栏里的cluster->shared state,可以查看裸设备设置,如下图

点击确定继续

然后打开菜单栏clusterdaemon properties出现以下窗口

这个窗口就是集群的配置窗口,详细的说明请查看redhat的官方文档

有一个说明的就是中间的那个滑动条,就是配置服务器探测等待15秒,我们不能设的太小,这里我们就默认使用15秒

在clumembd这个窗口里选中Enable Broadcast Heartbeating然后点确定,这时候会弹出一个窗口提示,因为我们配置的就是双节点的HA,所以不

用管它,直接点确定然后在cluster configuration选择保存后退出此窗口

在菜单栏 群集启动本地群集守护进程,稍等一会儿,就会出现以下状态

这里就显示在linux1上的cluster配置成功

然后我们就要配置linux2了,配置linux2其实很简单,将linux1系统下/etc/cluster.xml文件COPY到linux2的/etc/目录下就可以了

(注:cluster.xml是在安装完两个软件包的时候不会产生,它是在第一次运行redhat-config-cluster命令的时候产生的,和AS2.1里的cluster.conf储存内容相同,只不过换了格式而已。这就是集群主要的配置文件,一定要确保集群上每个节点的此文件都是相同的,另外在redhat的官方文档上强烈警告用户:不要去手动的修改这个xml文件,)

将此文件copy上linux2以后,在linux2命令行里执行

#service clumanager start

系统显示执行成功,再稍等一会儿,你就会发现在linux1上出现了变化,如下图

启动关闭集群服务的命令是service clumanager start | stop

(注:如果你在配置完成以后不想用图形界面监控节点运行,在shell里运行

#clustat –i 10 / / 状态监控,每10秒中刷新一次

出现如下结果

Cluster Status - test_cluster 13:57:22

Cluster Quorum Incarnation #1

Shared State: Shared Raw Device Driver v1.2

Member Status

------------------ ----------

10.0.0.155 Active <-- You are here

10.0.0.156 Active

Service Status Owner (Last) Last Transition Chk Restarts

-------------- -------- ---------------- --------------- --- --------

这样,一个没有包含任何服务的“裸”的集群系统就配置成功了,因为它没有包含任何应用,也没有什么意义,下一步我们就在上面配置一个大家最常用的http服务来测试一下

四、举例说明:配置HTTP Server的HA服务

1.给http服务增加共享磁盘

磁盘上将存储两个系统上apache共用的程序文件,也就是说,把apache的DocumnetRoot放到这个共享磁盘上,创建方法同创建裸设备时一样,请注意,这个共享磁盘的作用不同于上面的裸设备

2.创建共享磁盘加载点,配置两台机器上的http服务

启动两台机器,我这里新添加硬盘为sdc,我以ext3格式将其格式化,在每个机器的根目录下创建文件夹www,为apache的web目录,同时将创建的sdc1分区加载到/www目录下

#mkdir /www

#mount /dev/sdc1 /www //这一步只在linux1上进行就行

然后安装apache,这就不用多说了吧,指出一点是,两台机器上的apache安装必须完全一样,包括配置文件,安装完成后,修改httpd.conf,将其根目录指向/www,我这里是用的是AS3.0自带的apache2.0的RPM包,

在linux1上,进入/www目录,在此目录下保存一个index.html作测试使用

这样,两台机器上的http服务就完全配置完成

3.配置基于此集群的http服务

在linux1的xwindows,启动集群配置工具(参看上),增加名为httpd的服务如图点菜单栏"新建"服务名为”httpd”,检测时间间隔设置为4秒,httpd服务的启动脚本就是apache的启动脚本,我这里使用的是rpm包默认安装的脚本 /etc/rc.d/init.d/httpd

点"确定",就增加了一个服务如下图所示

如上图所示,选中httpd这个service,单击菜单栏的”Add Child”,出现如下图

先给httpd服务增加共享设备Add Device,设备点为我们创建的sdc1,加载点为/www,格式为ext3,模式为”rw”读写模式,点确定,在给此服务添加一个IP地址,这个IP 就是客户浏览器访问的IP,我们设置为10.0.0.157,掩码同网络设置,这里设置为255.0.0.0,广播地址设置为10.0.0.255

这样就完全添加成功了,如下图

保存设置,回到集群监控状态

以上所有操作均是在linux1上进行,现在为保证linux1和linux2集群配置相同,将linux1的/etc/cluster.xml复制到linux2的/etc/cluster.xm

l,同时启动两台机器上的集群服务,再次查看监控状态图,就发现有新的服务添加了,点击上面的"启用"及"运行"此服务,HTTP服务就开始运行了

这样,整个集群下的http服务就配置完成,并开始运行了

五、对配置好的服务进行简单的测试

1.基本功能的测试

在win的机器上IE里输入10.0.0.157,你就可以看到你准备在/www目录下的测试页

2.故障测试  任意的关闭掉其中一台机器,你就会发现10.0.0.157依然可以访问,你用ssh工具去连接这个IP地址,就会发现你连接的就是现在正在运行的机器了。

3.手动的去关闭apache服务,集群软件依然会将apache服务启动起来,也就是说:此时的服务由集群软件控制,而不是人为去控制了,除非你将clumanger服务停掉。

六、后记

使用AS3.0的集群软件,配置还是相当灵活的,在其官方文档上,就举例说明了如何里用这个软件来配置Oracle、MySQL、Samba、NFS、 HTTP等多种服务,我也正在准备去配置一下Oracle的HA服务。由于本人水平有限,本文里肯定有不少错误,其实有的地方我也是一知半解,有错误的地方请大家指出,最近无事,我一直在研究集群、负载均衡这方面的东西,下一步就是作研究一下lvs了,对此感兴趣的朋友可以一起来研究研究,Email: xushli@163.net。[!--empirenews.page--]

在CU里混了两年多了,第一次认真的写篇东西,真是惭啊。。。。。。。。

转载时请保留作者的个人信息,谢谢[/quote]

------------------------------------------------------------------------------

此篇文章于前日写的那篇文章相对应,其实在console下redhat也提供了一组强大

的配置命令,其中最主要的就是redhat-config-cluster-cmd这个命令,此外还有

clusvcadm,clushutdown等多个命令,下面我们就对照上一篇文章用控制台下的命令将

配置重新做一边.

1、列出当前集群名字

redhat-config-cluster-cmd --cluster

2、设置当前集群名字为“test_cluster”

redhat-config-cluster-cmd --cluster --name='test_cluster'

3、显示当前裸设备状态

redhat-config-cluster-cmd –sharedstate

4、添加一个集群节点,名字为“10.0.0.155”

redhat-config-cluster-cmd --add_member --name=10.0.0.155

5、修改一个节点名字由member2到member3

redhat-config-cluster-cmd --member=member2 --name=member3

6、删除一个名为member3的节点

redhat-config-cluster-cmd --member=member3 --del_member

7、列出当前集群内的服务

redhat-config-cluster-cmd –services

8、添加一个名为httpd的服务

redhat-config-cluster-cmd --add_service --name=httpd

9、列出名为httpd的这个服务下的子节点

redhat-config-cluster-cmd --service=httpd

10、设置httpd服务的相关信息,检测时间,启动脚本等等

redhat-config-cluster-cmd --service=httpd \

--checkinterval=15 \

--userscript=/etc/rc.d/init.d/httpd

11、删除名为httpd的集群服务

redhat-config-cluster-cmd --service=httpd \

--del_service

12、列出httpd服务的ip地址

redhat-config-cluster-cmd --service=httpd \

--service_ipaddresses

13、设置httpd的对外服务IP地址为10.0.0.157

redhat-config-cluster-cmd --service=httpd \

--add_service_ipaddress \

--ipaddress=10.0.0.157

14、设置对方服务ip的掩码地址及广播地址

redhat-config-cluster-cmd --service=httpd \

--service_ipaddress=10.0.0.157 \

--netmask=255.0.0.0 \

--broadcast=10.0.0.255

15、删除httpd服务的10.0.0.157的这个IP地址

redhat-config-cluster-cmd --service=httpd \

--service_ipaddress=10.0.0.157 \

--del_service_ipaddress

16、列出httpd服务的设备

redhat-config-cluster-cmd --service=httpd \

--devices

17、给httpd服务添加共享磁盘sdc1

redhat-config-cluster-cmd --service=httpd \

--add_device \

--name=/dev/sdc1

18、设置共享磁盘的参数

redhat-config-cluster-cmd --service=httpd \

--device=/dev/sdc1 \

--mount \

--mountpoint=/www \

--fstype=ext3 \

--options=rw \

19、启用10.0.0.155节点上的httpd服务

clusvcadm -e httpd -m 10.0.0.155

20、禁用10.0.0.155节点上的httpd服务

clusvcadm -d httpd -m 10.0.0.155

21、停止10.0.0.155节点上的httpd服务

clusvcadm -s httpd -m 10.0.0.155

更多命令请在控制台执行以下命令

#man redhat-config-cluster-cmd

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2023年9月21日 /美通社/ -- 去年年底,ChatGPT诞生,凭借强大、精准的自然语言理解和生成能力,令全球用户为之一震。 自此,各行各业纷纷投身大模型研发竞赛,掀起新一轮技术创新热潮。金融行业更是如此。如...

关键字: 模型 GPU PD 多模

(全球TMT2023年9月8日讯)第24届中国国际光电博览会将于2023年9月6日-8日在深圳举行。三安集成出席,与行业同仁分享最新动态。在同期举办的2023 CIOE&YOLE国际论坛上,三安受邀在光收发器&...

关键字: 光电 集成 VCSEL PD

帕博利珠单抗在中国境内迎来首个基于特定生物标志物状态而不基于肿瘤类型的适应证 上海2023年9月8日 /美通社/ -- 默沙东(默沙东是美国新泽西州罗威市默克公司的公司商号)宣布,其PD-1抑制剂帕博利珠单抗(商品名:...

关键字: PD DM SI TE

在未来的5-10年里,液晶材料仍然会是显示面板行业的主流发展方向。 上海2023年8月31日 /美通社/ -- 为了深入了解液晶材料的技术及应用,近日,网易科技以新一代智能液晶调光技术为主题,对飞凯材料全资子...

关键字: 液晶 PD 液晶材料 HC

广州及苏州生产基地产品均实现"出口"零突破 北京2023年8月21日 /美通社/ -- 百济神州(纳斯达克代码:BGNE;香港联交所代码:06160;上交所代码:688235)是一家全球性生物科技公...

关键字: 神州 代码 TI PD

新产品可为实验室测试提供灵活性,并能够提高PIC设计精度,从而加快上市时间 加利福尼亚州山景城2023年3月3日 /美通社/ -- 为提高对工艺技术的熟悉程度并增加光子集成电路(PIC)的可及性,OpenLight 今...

关键字: LIGHT PEN PD PIC

中国国家药品监督管理局(NMPA)批准百泽安®(替雷利珠单抗)联合化疗用于一线治疗PD-L1高表达的晚期或转移性胃或胃食管结合部腺癌 中国北京、美国麻省剑桥和瑞士巴塞尔2023年2月24日 /美通社/ -- 百...

关键字: 神州 PD BSP RATIO

北京2023年2月20日 /美通社/ -- 近日,淮海智算中心携手浪潮信息进行了超大规模参数AI大模型训练性能测试,实测数据表明,千亿参数规模的自然语言AI单体大模型在淮海智算中心计算平台上的训练算力效率达53.5%,刷...

关键字: 模型 AI AI模型 PD

中位随访三年数据显示,欧狄沃辅助治疗组患者的无病生存期、尿路外无复发生存期、无远处转移生存期和无二次进展生存期对比安慰剂组均获得显著改善 所有随机人群中,欧狄沃组的无病生存时间依然维持是安慰剂组的两倍以上; ...

关键字: TE CK PD BSP

欧狄沃是首个且目前唯一经全球III期临床研究证实,用于尿路上皮癌辅助治疗可显著降低患者术后复发风险的PD-1抑制剂。 与对照组相比,欧狄沃用于肌层浸润性尿路上皮癌辅助治疗可使全人群患者的中位无病生存期(DFS)...

关键字: BSP PD CK AD
关闭
关闭