红帽集群套件应用实例

红帽集群套件应用(实验版)

 

 

目标:在一台支持KVM的PC上,搭建基于RHCS(实现HA)、KVM(虚拟化)、GFS(共享存储)的web服务(使用UC的UChome,Discuz,开心农场)

硬件:支持KVM的PC一台

软件:RHEL5.4 X86_64  xampp-linux-1.7.3a   UC1.5.1_UCH2.0_DZ7.2_SC_GBK

 

一、搭建KVM

在机器上安装RHEL5.4 X86_64,

安装如下包

[root@kvm ~]# yum install kvm kvm-manager virt-*

桥接KVM的网卡到eth0

[root@kvm ~]# brctl addbr br0

[root@kvm ~]# brctl addif br0 eth0

以上两行重启失效

或者编辑ifcfg-eth0 和ifcfg-br0永久生效

 ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:D0:B7:07:BA:0F

ONBOOT=yes

BRIDGE=br0

 ifcfg-br0

DEVICE=br0

BOOTPROTO=static

IPADDR=172.24.100.100

NETMASK=255.255.0.0

ONBOOT=yes

TYPE=Bridge

 

关闭selinux     不然出qemu: could not open disk image 的错误

lsmod | grep intel  查 intel 因为我用的机器是intel的cpu    如没有模块

modprobe kvm

modprobe kvm-intel

 

二、创建virtual-machine

1、创建LV用于虚拟机的存储

在kvm宿主机上创建一个大小30G的lv,名为original。

[root@happy ~]# lvcreate -L 30G -n original forkvm

2、以original为存储安装一个RHEL5.4 X86_64系统,virtual-machine name为ori_X64

3、将ori_X64停下,对其使用的LV  original拍出3个快照卷

[root@happy ~]# lvcreate -s -L 8G -n tgt forkvm/original

[root@happy ~]# lvcreate -s -L 5G -n ws1 forkvm/original

[root@happy ~]# lvcreate -s -L 5G -n ws2 forkvm/original

4、使用快照卷建立新的虚拟机,分别名为tgt、ws1、ws2,tgt用来安装RHCS的管理端luci,并在其上导出targets(iscsi盘)作为集群的存储,ws1、ws2作为集群节点,安装ricci,并挂载tgt导出的targets作为存储,并且将存储转换为gfs。

修改这三台机器的/etc/sysconfig/network里hostname为对应主机名,在/etc/hosts里增加主机名跟ip的对应关系(因为没做DNS,所以改hosts文件),在tgt上做ntp server,让ws1、ws2和tgt同步时间。

/etc/sysconfig/network修改内容(以tgt为例):

HOSTNAME=tgt.sswans.com

/etc/hosts文件增加内容:

172.24.100.88   tgt.sswans.com

172.24.100.81   ws1.sswans.com

172.24.100.82   ws2.sswans.com

tgt机器:

分出两个2G的分区,hda5和hda6  作为iscsi导出的存储,实际上此处只会用到一个来做gfs,导出两个的目的是为了产生一个干扰,稍后会做说明。

安装scsi-target-utils.x86_64 包

[root@tgt ~]# chkconfig tgtd on #自动启动tgt服务

[root@tgt ~]# /etc/init.d/tgtd start #开启tgt服务

[root@tgt ~]# tgtadm --lld iscsi -o new -m target -t 1 -T iqn.2010-10.com.sswans:d1

[root@tgt ~]# tgtadm --lld iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/hda5

[root@tgt ~]# tgtadm --lld iscsi -o bind -m target -t 1 -I ALL

[root@tgt ~]# tgtadm --lld iscsi -o new -m target -t 2 -T iqn.2010-10.com.sswans:d2

[root@tgt ~]# tgtadm --lld iscsi -o new -m logicalunit -t 2 -l 1 -b /dev/hda6

[root@tgt ~]# tgtadm --lld iscsi -o bind -m target -t 2 -I ALL

为了让tgt机器重启之后能正常导出targets,tgt服务默认读取targets.conf文件

[root@tgt ~]# tgt-admin --dump > /etc/tgt/targets.conf

使用tgt-admin -s 检查tgt配置是否正确

安装luci.x86_64 包

[root@tgt ~]# chkconfig luci on

[root@tgt ~]# luci_admin init#初始化luci   生成ssl连接用的密钥

[root@tgt ~]# /etc/init.d/luci start

提示 Point your web browser to https://tgt.sswans.com:8084 to access luci

就是说等下通过https://tgt.sswans.com:8084这个网址来进行RHCS的管理

ws1、ws2机器:

[root@ws1 ~]# vim /etc/udev/rules.d/33-iscsi.rules         #内容如下

KERNEL=="sd[a-z]",PROGRAM="scsi_id -g -s %p",RESULT=="*beaf21",SYMLINK+="fgfs"

这里就是前面提到的iscsi干扰问题,在iscsi客户端挂targets的时候先检测到的iscsi盘会被挂为sda,依次就是sdb、sdc......,为了让挂出来的盘固定,避免数据写错盘而损坏,所以添加一个udev规则,让挂出来的scsi_id为beaf21的盘建立一个软连接到/dev/fgfs,这样对/dev/fgfs进行读写就不会弄错盘了。

在其中一个节点上,我用的ws1,将/dev/fgfs转成pv,vg,再建lv。

[root@ws1 ~]# pvcreate /dev/fgfs

[root@ws1 ~]# vgcreate forgfs /dev/fgfs

[root@ws1 ~]# lvcreate -l 100%FREE -n lv01 forgfs

[root@ws1 ~]# /etc/init.d/clvmd restart #重启clvmd 集群逻辑卷服务

[root@ws1 ~]# gfs_mkfs -J 64 -j 2 -p lock_dlm -t sswans:diskFGS /dev/forgfs/lv01

ws1、ws2上都建一个/opt/lampp目录

编辑/etc/fstab  添加一行

/dev/forgfs/lv01 /opt/lampp gfs defaults 0 0

注意:如果手动挂载的/dev/forgfs/lv01,在重启前一定得umount,否则导致服务停止不了,这是本身的bug,只能由fstab来挂载。

重启一下ws1、ws2两个节点,确定他们可以正常挂载/dev/forgfs/lv01。

在其中一个节点,我仍然用的ws1,下载xampp-linux-1.7.3a.tar.gz,

下载链接 http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz  

解压到/opt/lampp目录。

三、配置RHCS

 

创建一个新的集群,填好集群名,节点名,先View SSL cert fingerprints,绿色字表示ok,红色字表示有问题,然后submit。

确保ws1、ws2节点上的cman、rgmanager服务在系统启动时启用,可以在web页上打勾,也可以到节点上chkconfig on。

 

在ws1上,编辑/etc/cluster/cluster.conf,加上fence设备,使用fence_manual,手动fence。

               

       

将配置版本号改高一点 

config_version="13" name="sswans">

将配置发送给其他节点

[root@ws1 ~]# ccs_tool update /etc/cluster/cluster.conf

在web页的节点配置里将ws1、ws2的fence设置成刚添加的名为FC的fence设备。

添加failoverdomain,名为FD,带优先级,ws1为1,ws2为2,ws1优先,这是假设ws1的机器综合性能更好,如果实际中配置一致,则无需带优先级。


添加资源,添加虚拟IP


添加gfs文件系统


添加脚本资源

 

添加服务,把刚才添加的资源组合起来向外提供apache服务(是由xampp实现的,不是单纯的httpd)

 

 

6、这时候可以通过浏览器打开http://172.24.100.200,看到lampp的配置界面,通过如下命令设置lampp的安全密码。

[root@ws1 ~]# /opt/lampp/lampp security

访问http://172.24.100.200,进入到XAMPP的管理页面,查看安全状态


之后点击phpMyAdmin,进入到MySQL的管理页面,点击privileges  →  Add a New User,添加一个名为ucenter的用户,给予全局权限如下,等UC集成版安装好之后,可以将ucenter的全局权限去掉,指定只对UC的数据库有数据和结构的权限。


下载UC1.5.1_UCH2.0_DZ7.2_SC_GBK.zip    #UC的统一用户管理,UChome,Discuz论坛集成版

下载链接 http://download.comsenz.com/UC_UCH_DZ/UC1.5.1_UCH2.0_DZ7.2_SC_GBK.zip

将其解压到/opt/lampp/htdoc下,

浏览器中输入http://172.24.100.200/install/install.php  按步骤填好参数,完成UC的安装

还可以下载一个开心农场的php源码,将upload文件夹的内容放到/opt/lampp/htdoc/home下,在浏览器输入http://172.24.100.200/home/install/myinstall.php  按提示步骤安装,

修改/opt/lampp/home/template/default/header.htm文件,

  • 热闹
  • 之后加上

  • 开心农场
  • 在UChome作为管理员进入管理页面,更新缓存,UChome,Discuz,开心农场就都做好了。

     

    你可能感兴趣的:(Linux,Linux,redhat,红帽集群套件,集群,虚拟化)