CentOS7基于pacemaker+corosync集群(如何使用gfs2和clvmd实现数据一致性及在线扩容问题)

 每日运维   2019-01-16 20:41   2980 人阅读  0 条评论

节点准备

		IP	主机名
	192.168.1.51	node1	192.168.1.52	node2	192.168.1.40	storage		##环境已经准备好啦,设备也共享出来了,此实验中不需要任何操作此机器, 如何配置此参看https://boke.wsfnk.com/archives/349.html

配置集群

第一:修改各节点主机名,hosts,关闭selinux和firewalld第二:在所有node节点安装集群软件
	yum install pcs fence-agents-all -y	#安装pcs会附带安装pacemaker,corosync,quota第三:在各个node节点启动pcsd
	systemctl enable pcsd.service		#设置开机自动启动
	systemctl start pcsd.service		#立即启动第四:集群各个node节点之间进行认证
	#为两个node节点账户设置密码(账户是hacluster),密码必须要一致
	passwd hacluster	#配置认证(下面表示认证通过)
	pcs cluster auth node1 node2		#后面接的是主机名[root@node1 ~]# pcs cluster auth node1 node2Username: haclusterPassword: node1: Authorizednode2: Authorized第五:创建一个名为webcluster的集群
	pcs cluster setup --name webcluster node1 node2		#在node1和node2上创建一个群集,只需要在一个node上执行

	#pcs在执行以上命令时会生产corosync.conf及修改cib.xml文件,corosync.conf问corosync的配置文件,cib.xml为pacemaker的配置文件。这两个配置文件是集群的核心配置,重装系统时建议做好这两个配置文件的备份。第六:启动群集
	pcs cluster start --all		#启动群集
	pcs cluster enable --all	#设置集群自动启动
	pcs cluster status		#查看集群状态

安装gfs2,与clvmd

第一:在各个node节点上安装gfs2,与clvmd工具
	yum install -y lvm2-cluster gfs2-utils
	
	lvmconf --enable-cluster	#重启节点
	reboot

在各个node节点上配置挂载ISCSI设备
参看此文章https://boke.wsfnk.com/archives/360.html

配置使用gfs2文件系统,实现数据一致性

#第一:查看所挂载的磁盘id,并进行配置(以下步骤,只需在一个node节点上执行即可)
	cat /proc/partitions 
[root@node1 ~]# cat /proc/partitions
major minor  #blocks  name

   8        0   33554432 sda   8        1    1048576 sda1   8        2   32504832 sda2  11        0    1048575 sr0 253        0   30400512 dm-0
 253        1    2097152 dm-1
   8       16    4193060 sdb   8       17    4192036 sdb1


	ll /dev/disk/by-id | grep sdb[root@node1 ~]# ll /dev/disk/by-id | grep sdb
lrwxrwxrwx 1 root root  9 10月 25 10:01 scsi-23237636464633731 -> ../../sdb
lrwxrwxrwx 1 root root 10 10月 25 10:01 scsi-23237636464633731-part1 -> ../../sdb1

	pcs stonith create scsi-shooter fence_scsi devices=/dev/disk/by-id/scsi-23237636464633731-part1 meta provides=unfencing
	pcs property set no-quorum-policy=freeze

	pcs stonith show scsi-shooter#第二:添加所需的资源。 它可以设置在一个节点上。 (以下步骤,只需在一个node节点上执行即可)
	pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true

	pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true

	pcs constraint order start dlm-clone then clvmd-clone
	pcs constraint colocation add clvmd-clone with dlm-clone
	pcs status resources#第三:创建卷与GFS2共享存储和格式。 它可以设置在一个节点上。 在本例中,它设置在深发展和 创建分区,设置使用fdisk LVM类型 。 
	pvcreate /dev/sdb1
	vgcreate datavg /dev/sdb1
	lvcreate -n lvdata1 -L 1.5G datavg

	mkfs.gfs2 -p lock_dlm -t webcluster:san -j 2 /dev/datavg/lvdata1#第四:添加共享存储集群资源。 它可以设置在一个节点上。
	pcs resource create fs_gfs2 Filesystem \
device="/dev/datavg/lvdata1" directory="/mnt" fstype="gfs2" \
options="noatime,nodiratime" op monitor interval=10s on-fail=fence clone interleave=true

	pcs resource show

	pcs constraint order start clvmd-clone then fs_gfs2-clone

	pcs constraint colocation add fs_gfs2-clone with clvmd-clone

	pcs constraint show#第五:确保GFS2文件系统是安装在一个活跃的节点,也确保GFS2坐骑将搬到另一个节点如果当前活动节点将下来。
	df -hT

在线扩展逻辑卷(在其中任何一个node节点上执行就行)

	lvs	#先查看[root@node1 tmp]# lvs
  LV      VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao---- 28.31g                                                    
  lv_swap VolGroup -wi-ao----  3.20g                                                    
  lvdata1 datavg   -wi-ao----  1.50g

	扩展
	lvextend -L +300M /dev/datavg/lvdata1
	resize2fs /dev/datavg/lvdata1			#你会发现此命令报错,那是因为使用了gfs文件系统,这个命令不是管理gfs的,

	再次查看[root@node1 tmp]# lvs
  LV      VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao---- 28.31g                                                    
  lv_swap VolGroup -wi-ao----  3.20g                                                    
  lvdata1 datavg   -wi-ao----  1.79g


	查看df挂载情况(发现还是没有变成1.79)[root@node1 tmp]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root                       28G  887M   26G   4% /
tmpfs                 939M   32M  908M   4% /dev/shm/dev/sda1             477M   28M  425M   7% /boot
/dev/mapper/datavg-lvdata1                      1.5G  388M  1.2G  26% /tmp

	需要同步gfs(此操作,只需要在其中任何一个节点执行就可以了,因为数据一致性问题已经解决了)
	gfs2_grow /dev/datavg/lvdata1	再次查看(发现,已经正常了)[root@node1 tmp]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root                       28G  887M   26G   4% /
tmpfs                 939M   32M  908M   4% /dev/shm/dev/sda1             477M   28M  425M   7% /boot
/dev/mapper/datavg-lvdata1                      1.8G  388M  1.4G  22% /tmp


本文地址:https://linux365.cn/103.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?