系统版本:
RHEL5.4
将
selinux
关闭,刷新
iptables -F
配置
yum
仓库
192.168.2.10 target.a.com
宿主机
192.168.2.20 node1.a.com
节点
(
虚拟机
) initiators
192.168.2.30 node2.a.com
节点
(
虚拟机
) initiators
安装
scsi, luci
和
iscsi, ricci
套件
宿主机
/node1/node2:
vim /etc/hosts
192.168.2.10 target.a.com target
192.168.2.20 node1.a.com node1
192.168.2.30 node2.a.com node2
并修改三台的
hostname
。
target # yum install scsi* luci -y (luci
套件是宿主机集群
web
接口
)
target # luci_admin init
设置密码
target # chkconfig luci --level 35 on (
设置开机启动
)
target # chkconfig tgtd --level 35 on (
设置开机启动
)
target # service luci start
target # service tgtd start
fdisk /dev/sda //
新建一个分区用来做共享磁盘。
tgtadm --lld iscsi --op new --mode target --tid=1 --targetname iqn.2011-10.com.a.target:disk
tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/sda2
增加一个
lun
块设备提供给
node
tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=192.168.2.0/24
//
创建一个
acl
访问控制链接
允许
192.168.2.0
网段的用户可以使用。
并把它们写入
/etc/rc.d/rc.local
进行开机启动
tgtadm --lld iscsi --op show --mode target //
通过
show
来查看共享快信息。
node1# yum install iscsi ricci �Cy
service iscsi start
node1# chkconfig iscsi --level 35 on
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-10.com.abc.node1
iscsiadm --mode discovery --type sendtargets --portal 192.168.2.10
发出一个发现指令去连接
192.168.2.10
iscsiadm --mode node --targetname iqn.2011-10.com.a.target:disk --portal 192.168.2.10 --login
允许登陆到
192.168.2.10
上面
node1# service ricci start
node1# chkconfig ricci --level 35 on (
设置开机启动
)
做完后就可以通过
fdisk �Cl
观察到本地磁盘多了一块
/dev/sdb
硬盘。
node2
上边和
node1
配置一样,就不多说了。
使用
web
界面生成集群配置文件
cluster.conf
在宿主机中访问
https://192.168.2.10:8084
直接是,进入登陆页面
输入
luci
帐号密码,进入家目录。创建集群
cluster2
这个集群的名称无所谓,但是 不能用cluster这个名称.
然后在
node1
主机上面把存储设备的文件系统创建为
gfs
文件系统
.
步骤
:
・
在其中一个
node
上把共享磁盘分区
・
partprobe /dev/sdb //
重新读取分区表,这一步需要在两个
node
节点上都做
・
pvcreate /dev/sdb1
建立物理卷
・
vgcreate vg01 /dev/sdb1
建立卷组
・
lvcreate -L 2000m -n lv01 vg01
建立逻辑卷
・
把逻辑卷格式化为
gfs
文件系统。
・
gfs_mkfs -p lock_dlm -t cluster1:lv01 -j 3 /dev/vg01/lv01 //cluster1
必须是你创建的集群名
・
重启逻辑卷守护进程
service clvmd restart
测试:
1
,在俩个
node
上都建立挂在点
mkdir /mnt/cluster
2,
并把逻辑卷都挂载上
mount /dev/vg01/lv01 /mnt/cluster
3,
在其中一个
node
上的挂在点内创建文件和
http
页面,切换到另一个
node
,可以看到共享的信息。从而实现共享存储。
测试完成后,建立
fence
设备
进入检索页面后,创建集群钥匙
然后直接提交
创建失败恢复域,修改某一个
node
的优先级,越小越优先:
添加一个
fence
设备
我们用的虚拟机做的宿主机,所以fence设备要选 virtual machine fencing
把这个
fence1
应用到各个
node
上边,两个node主机都应用.
点击进入
node1.a.com,
添加
fence
设备
同样,点击node2,添加fence设备.
应用之后需要添加群集资源:
资源有:
1
:
群集
ip
2
:群集
gfs
文件系统
3
,
script
然后添加集群服务 service:
把存在的
3
个资源都添加到服务中:
提交后完成集群的配置。
然后在
node
主机上配置
web
服务器,可以通过手动切换
node
也可以通过模拟服务器系统坏掉,另一个
node
自动启动
http
服务。
yum install -y httpd
安装完后不需要启动就行。
在
node
主机上可以通过
clustat
静态察看集群节点的状态
也可以
clustat -i 1
动态观看
也可以通过日志察看
也要注意观察宿主机上的共享磁盘挂载各个
node
上的情况
通过
ip add list
可以看到群集地址
顺便说一下
fence
设备的用处:
配置
fence device,
这里使用的是虚拟机,所以类型是
Virtual Machine Fencing,
将名字取名为
vmfence.
如果使用的是真机,可选择对应的类型
(
核心在于解决高可用集群在出现极端问题情况下的运行保障问题,在高可用集群的运行过程中,有时候会检测到某个节点功能不正常,比如在两台高可用服务器间的心跳线突然出现故障,这时一般高可用集群技术将由于链接故障而导致系统错判服务器宕机从而导致资源的抢夺,为解决这一问题就必须通过集群主动判断及检测发现问题并将其从集群中删除以保证集群的稳定运行,
Fence
技术的应用可以有效的实现这一功能
总结的可能不全,大家不懂得都可以来一起讨论。热烈欢迎,其实本人也才学linux不久。。。。