实验环境
redhat6.5版本
主机名 | ip |
---|---|
172.25.42.1 | server1 |
172.25.42.2 | server2 |
172.25.42.3 | server3 |
主机foundation42.ilt.example.com | 172.25.42.252 |
主机,server1与server2本地解析
172.25.42.252 foundation42.ilt.example.com
172.25.42.2 server2
172.25.42.1 server1
172.25.42.3 server3
server1安装ricci与luci
[root@server1 ~]# yum install ricci luci -y
[root@server1 ~]# chkconfig luci on##使得luci与ricci开机自启
[root@server1 ~]# chkconfig ricci on
[root@server1 ~]# /etc/init.d/ricci start##开启ricci服务
[root@server1 ~]# passwd ricci##设置ricci密码
server2安装ricci
[root@server2 ~]# yum install ricci -y
[root@server2 ~]# chkconfig luci on##使得ricci开机自启
[root@server2 ~]# /etc/init.d/ricci start##开启ricci服务
[root@server2 ~]# passwd ricci##设置ricci密码
主机安装fence服务
[root@foundation42 cluster]# yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
[root@foundation42 cluster]# fence_virtd -c##执行该命令进入fence的管理
其余选项回车即可,修改接口为主机网桥即可
Replace /etc/fence_virt.conf with the above [y/N]? y##选择y保存设置
该图为fence设置中的文件
我们需要建立上图所示文件,目录名和文件名必须与fence_key的文件完全一致
[root@foundation42 cluster]# mkdir /etc/cluster
[root@foundation42 cluster]# cd /etc/cluster
[root@foundation42 cluster]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1##执行该命令生成文件fence_xvm.key
[root@foundation42 cluster]# scp fence_xvm.key root@172.25.42.1:/etc/cluster/ ##上传该文件至server1与server2的/etc/cluster目录
[root@foundation42 cluster]# scp fence_xvm.key root@172.25.42.2:/etc/cluster/
查看生成网页
https://172.25.42.1:8084 ##网页中输入该地址查看结果
用户为root
密码为设置的ricci密码
进入create页面选择create选项生成如下图所示信息(也可以自己设置)
完成后该界面如下所示:
若成功,server1与server2会重新启动,代表我们的连接已经构建好,可以进行服务的控制了。
集群资源的建立和使用
先建立Fence Device
name可任意起:
分别建立sercer1与server2的nodes模块:
Add Fence Method的Name栏任意就好
Add Fence Instance的domain选择server1与server2的UID即可(保证不重复)
建立Domin如下所示:
建立resourcesr:
我选择的是ip与apache
添加ip
添加apache
servervices group:
整合服务,将ip与apache添加到新建的组中
客户机测试:
可以看到目前是server2在提供解析
关闭server2http服务:
[root@server2 ~]# /etc/init.d/httpd stop
Stopping httpd:
客户机由于vip迁移无法获得解析:
迁移完成后再次测试并查看设备集群服务:
利用数据库和文件共享对页面进行管理
给server3添加额外的一块硬盘/dev/vda
server3安装服务
[root@server3 ~]# yum install -y scsi-*
[root@server3 ~]# vim /etc/tgt/targets.conf##修改配置文件
[root@server3 ~]# /etc/init.d/tgtd start
修改配置文件backing-store后目录为/dev/vda
server1服务
[root@server1 ~]# yum install -y iscsi-initiator-utils.x86_64
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.42.3
Starting iscsid: [ OK ]
172.25.42.3:3260,1 iqn.2019-07.com.example:server.target1
[root@server1 ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2019-07.com.example:server.target1, portal: 172.25.42.3,3260] (multiple)
Login to [iface: default, target: iqn.2019-07.com.example:server.target1, portal: 172.25.42.3,3260] successful.
[root@server1 ~]# mkfs.ext4 /dev/sdb##格式化共享文件
[root@server1 ~]# yum install -y mysql-server#安装mysql服务
[root@server1 ~]# mount /dev/sdb /var/lib/mysql/##挂载文件至mysql目录下
[root@server1 mysql]# /etc/init.d/mysqld start##生成数据目录作为保存文件
[root@server1 mysql]# ll
total 20488
-rw-rw---- 1 mysql mysql 10485760 Jul 21 14:22 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Jul 21 14:22 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Jul 21 14:22 ib_logfile1
drwx------ 2 mysql mysql 4096 Jul 21 14:22 mysql
srwxrwxrwx 1 mysql mysql 0 Jul 21 14:22 mysql.sock
drwx------ 2 mysql mysql 4096 Jul 21 14:22 test
[root@server1 mysql]#cd
[root@server1 mysql]#umount /dev/sdb##卸载挂载
server2服务
[root@server1 ~]# yum install -y iscsi-initiator-utils.x86_64
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.42.3
Starting iscsid: [ OK ]
172.25.42.3:3260,1 iqn.2019-07.com.example:server.target1
[root@server1 ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2019-07.com.example:server.target1, portal: 172.25.42.3,3260] (multiple)
Login to [iface: default, target: iqn.2019-07.com.example:server.target1, portal: 172.25.42.3,3260] successful.
[root@server1 ~]# yum install -y mysql-server#安装mysql服务
网页配置
添加domains
添加resources
整合资源建立资源组
点击‘Add Resource’将resources模块中新建的三个资源(IP,Filesystem,Script)加入资源组即可
测试:
clustat查看服务运行情况,可以看到dabdata在server1运行,跳转到/var/lib/mysql查看是否可看到文件。
[root@server1 mysql]# /etc/init.d/mysqld stop##关闭server1的dbdata
Stopping mysqld: [ OK ]
再次查看服务状态可以看到dbdata在server2上运行
两个服务都有独占性,即在server1或server2上只允许本身运行,不允许其他服务运行。
在选择服务运行时,若够选了“Run Exclusive”该选项,则只能运行该服务。
可以看到服务zhangyu运行在server1,服务dbdata运行在server2
当我使得dbdata服务在server1上重新运行时会怎么样呢?
可以看到dbdata无法在server1上运行。
文件共享
首先在网页中关闭集群的服务,然后执行如下命令
[root@server1 ~]# lvmconfig --enable-cluster
[root@server1 ~]# pvcreate /dev/sdb
[root@server1 ~]# vg cn
[root@server1 ~]# lvcreate -L 4G -n demo cn
若lv无法建立则执行如下命令
[root@server1 ~]# clvmd -R
[root@server1 ~]# lvscan
[root@server1 ~]# mkfs.gfs2 -t aicheng:mygfs2 -p lock_dlm -j 2 /dev/cn/demo##格式化
然后在网页中添加服务
删除dbdata服务并删除resource中的systemcfile文件
然后在resources中建立新的文件如下所示
在组中建立新的资源组dbdata并添加新的file,IP与script资源。
查看集群服务状态
我们先挂载lv至server1的/mnt/下
在server2查看mysql下文件并建立新文件file
在server1查看/dev/cn/demo依旧可以看到file1