th045、th046环境部署heartbeat+drbd+mfsmaster,两个节点做高可用,th045当前是主,DRBD meta data分区使用的/dev/sdb1,空间太小,之前出过故障,当磁盘满时服务会直接宕掉,故准备扩容,更换drbd分区磁盘
切换th045、th046的元数据目录使用/disk12,当前/disk12已经从mfs中下线,已创建分区/dev/sdm1,准备切换,即DRBD meta data分区使用的磁盘/dev/sdb1改为/dev/sdm1
$ dd if=/dev/zero bs=1M count=1 of=/dev/sdm1 #对于新磁盘首次会报错,需要执行此命令 $ vim /disk1/drbd-8.4.3/etc/drbd.conf #修改配置更换磁盘 /dev/sdb1 改为 /dev/sdm1 $ service drbd restart $ drbdadm detach r0 $ drbdadm create-md r0 $ drbdadm attach r0
之后会进入同步,此过程对服务无影响,等待同步完成后,进入第二步
$ service heartbeat stop
说明:主节点停止heartbeat,服务会自动切换,vip会自动漂移至th046,并启动mfsmaster机mfscgisrv,在此过程中客户端会读写阻塞,大概20s,服务正常后如下操作
$ service heartbeat start
#操作类似步骤1
$ dd if=/dev/zero bs=1M count=1 of=/dev/sdm1 $ vim /disk1/drbd-8.4.3/etc/drbd.conf /dev/sdb1 改为 /dev/sdm1 $ service drbd restart $ drbdadm detach r0 $ drbdadm create-md r0 $ drbdadm attach r0
之后会进入同步,此过程对服务无影响,等待同步完成后,进入第四步
由于小磁盘扩容大磁盘后大小未变大,还是20G,因此准备扩容,由于文件系统时ext4,不能在线resize,需要停服
1.卸载mfs客户端(防止停服导致机器压力增大)
$ umount -lf /mfs_live
两个master节点也挂载了mfs存储,需要首先卸载mfs,否则当服务停掉后,mfs客户端会阻塞,系统会慢慢被拖垮
2.停服(th046)
su - mfs mfsmaster stop
4.3.扩容(th046)
cp -rp /mfsmetadata/mfsmaster_metadata /disk1/ #备份,以防万一 exit umount -lf /mfsmetadata/mfsmaster_metadata e2fsck -f /dev/drbd0 resize2fs /dev/drbd0 service heartbeat stop
等待服务迁移完成
service heartbeat start
4.测试及服务恢复
df -h mfsmount -H 10.105.132.222 /mfs_live
2.在停服过程中,部分使用mfs存储的服务会宕掉,如依赖了mfs的jdk的服务可能会宕掉。目前排查原因是服务会定期从jdkload下jar包,如果恰好jdk目录不可用了,一般会有jvm致命异常
3.由于广告mfs元数据存在此套mfs存储中,当停服时间过长时可能会导致广告mfs宕掉,故首先将mfs迁出