RHCS+iscsi+集群逻辑卷 配置共享储存
服务对象为httpd
rhel 5.8
4台机器
192.168.1.100 文件系统服务端
三台高可用客户端
192.168.1.11
192.168.1.22
192.168.1.33
配置前准备:所有机器
同步时间
hosts文件保持一致
可配置双机互信
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
- 192.168.1.100 target.kaka.cn target
- 192.168.1.11 k1.kaka.cn k1
- 192.168.1.22 k2.kaka.cn k2
- 192.168.1.33 k3.kaka.cn k3
三台节点上安装httpd
简单安装即可 yum安装
安装完毕测试一下
没有问题关闭服务
service httpd stop
并且关闭开机自动启动
chkconfig httpd off
在三个节点上安装rhcs需要的软件
yum install cman rgmanager gfs2-utils(gfs2软件包)
- 有一些依赖的包
- Running Transaction
- Installing : python-pycurl
- Installing : openais
- Installing : perl-XML-LibXML-Common
- Installing : gfs2-utils
- Installing : perl-XML-NamespaceSupport
- Installing : perl-XML-SAX
- Installing : python-suds
- Installing : perl-Net-Telnet
- Installing : pexpect
- Installing : perl-XML-LibXML
- Installing : cman
- 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命令 查看一下节点状态
- [root@k3 cluster]# clustat
- Cluster Status for web_cluster @ Tue Nov 27 14:58:48 2012
- Member Status: Quorate
- Member Name ID Status
- ------ ---- ---- ------
- k1.kaka.cn 1 Online, rgmanager
- k2.kaka.cn 2 Online, rgmanager
- k3.kaka.cn 3 Online, Local, rgmanager
- Service Name Owner (Last) State
- ------- ---- ----- ------ -----
- 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
- [root@target /]# cd /etc/tgt/ 配置文件目录
- [root@target tgt]# ls
- targets.conf 配置文件
- 先将配置文件备份一份
- cp targets.conf targets.conf.bak
- vim targets.conf
- 开始配置 在文件中加入几行
- <target iqn.2012-12.cn.kaka:target-sdb>
- #direct-store /dev/sdb ##直接存储,通常指一个磁盘
- initiator-address 192.168.0.0/24 ##指定intiaor只能是这个地址范围
- backing-store /dev/sdb ##后备存储,一般指一个分区,或lvm设备
- #incominguser hadoop redhat ##定义基于账户认证Initiator,后面的是账号与密码
- #outgoinguser userA secretpassA ##Initiator也可以验证target,这个target的账号密码
- </target>
- target 命名格式 iqn-name: iqn.yyyy-mm.<域名的反写>后面随意
- 这台机器的主机名是 target.kaka.cn 改成 cn.kaka就好了后面的就无所谓了
- 用下边命令查看一下
- [root@target tgt]# tgtadm --lld iscsi --op show --mode target
- Target 1: iqn.2012-12.cn.kaka:target-sdb
- System information:
- Driver: iscsi
- State: ready
- I_T nexus information:
- LUN information:
- LUN: 0
- Type: controller
- SCSI ID: IET 00010000
- SCSI SN: beaf10
- Size: 0 MB, Block size: 1
- Online: Yes
- Removable media: No
- Readonly: No
- Backing store type: null
- Backing store path: None
- Backing store flags:
- LUN: 1
- Type: disk
- SCSI ID: IET 00010001
- SCSI SN: beaf11
- Size: 53687 MB, Block size: 512
- Online: Yes
- Removable media: No
- Readonly: No
- Backing store type: rdwr
- Backing store path: /dev/sdb
- Backing store flags:
- Account information:
- ACL information:
- 192.168.0.0/24
- LUN:1就是我们创建的
- 正常没问题 关闭服务关闭开机自动启动
- service tgtd stop
- 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
- 登录共享磁盘命令
- iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l
- -m 指定模式 man 一下
- -t sendtargets 在discovery模式下使用
- -p portal 指定target的IP与端口,如果是默认端口3260可省略
- -l login 登录
- -u logout 登出
- [root@k1 iscsi]# iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l
- [root@k1 iscsi]# fdisk -l
- Disk /dev/sda: 214.7 GB, 214748364800 bytes
- 255 heads, 63 sectors/track, 26108 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 12761 102398310 83 Linux
- /dev/sda3 12762 16585 30716280 83 Linux
- /dev/sda4 16586 26108 76493497+ 5 Extended
- /dev/sda5 16586 16967 3068383+ 82 Linux swap / Solaris
- Disk /dev/sdb: 53.6 GB, 53687091200 bytes
- 64 heads, 32 sectors/track, 51200 cylinders
- Units = cylinders of 2048 * 512 = 1048576 bytes
- 在k1节点上看到有一块50G的磁盘
- 测试成功关闭服务禁止开机自动启动
- service iscsi start chkconfig iscsi off
安装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随意起的 只要是一个唯一的名字就可以
- 结果如下:
- [root@k1 ~]# mkfs.gfs2 -p lock_dlm -t web_cluster:lvmss -j 3 /dev/lvmvg/lvmlv
- This will destroy any data on /dev/lvmvg/lvmlv.
- Are you sure you want to proceed? [y/n] y
- Device: /dev/lvmvg/lvmlv
- Blocksize: 4096
- Device Size 30.00 GB (7864320 blocks)
- Filesystem Size: 30.00 GB (7864318 blocks)
- Journals: 3
- Resource Groups: 120
- Locking Protocol: "lock_dlm"
- Lock Table: "web_cluster:lvmss"
- UUID: 69396B42-A43F-652F-1077-88D10B3036D1
然后在各节点挂载此卷 因为之前建立的高可用服务是http服务
所以挂载目录挂载到网页的默认位置
mount /dev/lvmvg/lvmlv /var/www/html/
里面创建个文件
echo "GFS lvm" > /var/www/html/index.html
一个节点上修改此文件 其他节点就不能修改了
查看一下网页
本文出自 “vincekey” 博客,谢绝转载!