RHCS+iscsi+集群逻辑卷 配置共享储存
服务对象为httpd

rhel 5.8
4台机器
192.168.1.100 文件系统服务端
三台高可用客户端
192.168.1.11
192.168.1.22
192.168.1.33

配置前准备:所有机器
  同步时间
  hosts文件保持一致
  可配置双机互信

 
  
  1. # Do not remove the following line, or various programs  
  2. # that require network functionality will fail.  
  3. 127.0.0.1  localhost.localdomain localhost  
  4. ::1  localhost6.localdomain6 localhost6  
  5. 192.168.1.100 target.kaka.cn target  
  6. 192.168.1.11  k1.kaka.cn k1  
  7. 192.168.1.22  k2.kaka.cn k2  
  8. 192.168.1.33  k3.kaka.cn k3  


  
三台节点上安装httpd
简单安装即可 yum安装
安装完毕测试一下 
没有问题关闭服务 
service httpd stop
并且关闭开机自动启动
chkconfig httpd off


在三个节点上安装rhcs需要的软件
yum install cman rgmanager gfs2-utils(gfs2软件包)

 
  
  1. 有一些依赖的包  
  2. Running Transaction  
  3.   Installing     : python-pycurl                                                                 
  4.   Installing     : openais                                                                                      
  5.   Installing     : perl-XML-LibXML-Common                                                        
  6.   Installing     : gfs2-utils                                                                            
  7.   Installing     : perl-XML-NamespaceSupport                                               
  8.   Installing     : perl-XML-SAX                                                          
  9.   Installing     : python-suds                                                               
  10.   Installing     : perl-Net-Telnet                                                                        
  11.   Installing     : pexpect                                                                       
  12.   Installing     : perl-XML-LibXML                                                                          
  13.   Installing     : cman                                                                              
  14.   Installing     : rgmanager  

  
   
安装system-config-cluster 包
图形化配置高可用集群工具
三个节点上安装在一台机器即可
我安装在192.168.1.11这台节点上

使用system-config-cluster配置一下
  为集群设定一个名字            web_cluster
  配置一个fence设备使用手动fence设备名字为  webfence
  将3个节点加入进来
  添加一个故障转移域
  添加两个资源
      VIP:192.168.1.254
      http:
  将两个资源添加服务中

我的上一篇博客有详细一点的操作

地址 http://vincekey.blog.51cto.com/815438/1074454

service cman start

service rgmanager start

启动服务看一下
 

用clustat命令   查看一下节点状态

 
  
  1. [root@k3 cluster]# clustat  
  2. Cluster Status for web_cluster @ Tue Nov 27 14:58:48 2012 
  3. Member Status: Quorate  
  4.  
  5.  Member Name                                                 ID   Status  
  6.  ------ ----                                                 ---- ------  
  7.  k1.kaka.cn                                                      1 Online, rgmanager  
  8.  k2.kaka.cn                                                      2 Online, rgmanager  
  9.  k3.kaka.cn                                                      3 Online, Local, rgmanager  
  10.  
  11.  Service Name                                       Owner (Last)                                       State           
  12.  ------- ----                                       ----- ------                                       -----           
  13.  service:webserver                                  k1.kaka.cn                                         started     

    
 
 
 =================================================================== 
 
192.168.1.100上安装 scsi-target-utils 包
yum -y install scsi-target-utils

在这台机器上我已经添加了一块50G的磁盘
就用这块盘当做共享存储

Disk /dev/sdb: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 
  
  1. [root@target /]# cd /etc/tgt/       配置文件目录  
  2. [root@target tgt]# ls                         
  3. targets.conf                        配置文件  
  4.  
  5. 先将配置文件备份一份  
  6. cp targets.conf targets.conf.bak  
  7. vim targets.conf  
  8. 开始配置  在文件中加入几行  
  9.  
  10.  
  11.     <target iqn.2012-12.cn.kaka:target-sdb>   
  12.              #direct-store /dev/sdb                 ##直接存储,通常指一个磁盘
  13.              initiator-address 192.168.0.0/24       ##指定intiaor只能是这个地址范围   
  14.              backing-store /dev/sdb                 ##后备存储,一般指一个分区,或lvm设备   
  15.              #incominguser hadoop redhat        ##定义基于账户认证Initiator,后面的是账号与密码   
  16.              #outgoinguser userA secretpassA    ##Initiator也可以验证target,这个target的账号密码   
  17.      </target>  
  18.       
  19. target 命名格式  iqn-name: iqn.yyyy-mm.<域名的反写>后面随意    
  20. 这台机器的主机名是   target.kaka.cn  改成  cn.kaka就好了后面的就无所谓了 

 
  
  1. 用下边命令查看一下  
  2. [root@target tgt]# tgtadm --lld iscsi --op show --mode target   
  3. Target 1: iqn.2012-12.cn.kaka:target-sdb  
  4.     System information:  
  5.         Driver: iscsi  
  6.         State: ready  
  7.     I_T nexus information:  
  8.     LUN information:  
  9.         LUN: 0 
  10.             Type: controller  
  11.             SCSI ID: IET     00010000 
  12.             SCSI SN: beaf10  
  13.             Size: 0 MB, Block size: 1 
  14.             Online: Yes  
  15.             Removable media: No  
  16.             Readonly: No  
  17.             Backing store type: null  
  18.             Backing store path: None 
  19.             Backing store flags:   
  20.         LUN: 1 
  21.             Type: disk  
  22.             SCSI ID: IET     00010001 
  23.             SCSI SN: beaf11  
  24.             Size: 53687 MB, Block size: 512 
  25.             Online: Yes  
  26.             Removable media: No  
  27.             Readonly: No  
  28.             Backing store type: rdwr  
  29.             Backing store path: /dev/sdb  
  30.             Backing store flags:   
  31.     Account information:  
  32.     ACL information:  
  33.         192.168.0.0/24 
  34.           
  35. LUN:1就是我们创建的  
  36. 正常没问题   关闭服务关闭开机自动启动
  37. service tgtd stop
  38. chkconfig tgtd off 

 


在k1,k2,k3上安装iscsi-initiator-utils 客户端工具   好像已经安装过了
service iscsi start  启动服务

连接服务器端target命令
[root@k3 cluster]# iscsiadm -m discovery -t sendtargets -p 192.168.1.100
192.168.1.100:3260,1 iqn.2012-12.cn.kaka:target-sdb

 
  
  1. 登录共享磁盘命令  
  2. iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l   
  3. -m        指定模式 man 一下   
  4. -t sendtargets  在discovery模式下使用   
  5. -p portal      指定target的IP与端口,如果是默认端口3260可省略   
  6. -l login       登录   
  7. -u logout     登出   
 
  
  1. [root@k1 iscsi]# iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l   
  2. [root@k1 iscsi]# fdisk -l  
  3. Disk /dev/sda: 214.7 GB, 214748364800 bytes  
  4. 255 heads, 63 sectors/track, 26108 cylinders  
  5. Units = cylinders of 16065 * 512 = 8225280 bytes  
  6.  
  7.    Device Boot      Start         End      Blocks   Id  System  
  8. /dev/sda1   *           1          13      104391   83  Linux  
  9. /dev/sda2              14       12761   102398310   83  Linux  
  10. /dev/sda3           12762       16585    30716280   83  Linux  
  11. /dev/sda4           16586       26108    76493497+   5  Extended  
  12. /dev/sda5           16586       16967     3068383+  82  Linux swap / Solaris  
  13.  
  14. Disk /dev/sdb: 53.6 GB, 53687091200 bytes  
  15. 64 heads, 32 sectors/track, 51200 cylinders  
  16. Units = cylinders of 2048 * 512 = 1048576 bytes  
  17.  
  18. 在k1节点上看到有一块50G的磁盘  
  19. 测试成功关闭服务禁止开机自动启动  
  20. service iscsi start  chkconfig iscsi off  
  21.  


安装lvm2-cluster,让gfs2支持卷组
输入下面一行命令
lvmconf --enable-cluster   将锁机制改为集群逻辑卷锁
service clvmd start     开启服务

开始创建逻辑卷 基本和正常创建逻辑卷一样

[root@k1 ~]# pvcreate /dev/sdb              创建物理卷
[root@k1 ~]# vgcreate lvmvg /dev/sdb    创建卷组
[root@k1 ~]# lvcreate -L 30G -n lvmlv lvmvg 创建逻辑卷
我创建了一个30G的逻辑卷

mkfs.gfs2 -p lock_dlm -t web_cluster:lvmss -j 3 /dev/myvg/mydata
格式化逻辑卷为集群逻辑卷格式并制定3个日志文件 因为有三个节点
web_cluster是集群服务名
lvmss随意起的 只要是一个唯一的名字就可以

 
  
  1. 结果如下:  
  2. [root@k1 ~]# mkfs.gfs2 -p lock_dlm -t web_cluster:lvmss -j 3 /dev/lvmvg/lvmlv   
  3. This will destroy any data on /dev/lvmvg/lvmlv.  
  4.  
  5. Are you sure you want to proceed? [y/n] y  
  6.  
  7. Device:                      /dev/lvmvg/lvmlv  
  8. Blocksize:                   4096 
  9. Device Size                  30.00 GB (7864320 blocks)  
  10. Filesystem Size:            30.00 GB (7864318 blocks)  
  11. Journals:                    3 
  12. Resource Groups:         120 
  13. Locking Protocol:           "lock_dlm" 
  14. Lock Table:                  "web_cluster:lvmss" 
  15. UUID:                        69396B42-A43F-652F-1077-88D10B3036D1 
  16.  

然后在各节点挂载此卷 因为之前建立的高可用服务是http服务
所以挂载目录挂载到网页的默认位置
mount /dev/lvmvg/lvmlv /var/www/html/
里面创建个文件
echo "GFS lvm" > /var/www/html/index.html

一个节点上修改此文件 其他节点就不能修改了

查看一下网页