1.环境及背景介绍

th045、th046环境部署heartbeat+drbd+mfsmaster,两个节点做高可用,th045当前是主,DRBD meta data分区使用的/dev/sdb1,空间太小,之前出过故障,当磁盘满时服务会直接宕掉,故准备扩容,更换drbd分区磁盘

2.目标

切换th045、th046的元数据目录使用/disk12,当前/disk12已经从mfs中下线,已创建分区/dev/sdm1,准备切换,即DRBD meta data分区使用的磁盘/dev/sdb1改为/dev/sdm1

3.操作步骤:

步骤一 th046切换目录

$ 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

之后会进入同步,此过程对服务无影响,等待同步完成后,进入第二步

步骤二 切换mfs master为th046

$ service heartbeat stop

说明:主节点停止heartbeat,服务会自动切换,vip会自动漂移至th046,并启动mfsmaster机mfscgisrv,在此过程中客户端会读写阻塞,大概20s,服务正常后如下操作

$ service heartbeat start

步骤三 th045切换目录

#操作类似步骤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

之后会进入同步,此过程对服务无影响,等待同步完成后,进入第四步

步骤四 扩容磁盘并切换mfs master为th045

由于小磁盘扩容大磁盘后大小未变大,还是20G,因此准备扩容,由于文件系统时ext4,不能在线resize,需要停服
1.卸载mfs客户端(防止停服导致机器压力增大)

$ umount -lf /mfs_live

两个master节点也挂载了mfs存储,需要首先卸载mfs,否则当服务停掉后,mfs客户端会阻塞,系统会慢慢被拖垮
2.停服(th046)

su - mfsmfsmaster stop

4.3.扩容(th046)

cp -rp /mfsmetadata/mfsmaster_metadata /disk1/      #备份,以防万一exitumount -lf /mfsmetadata/mfsmaster_metadatae2fsck -f /dev/drbd0resize2fs /dev/drbd0service heartbeat stop

等待服务迁移完成

service heartbeat start

4.测试及服务恢复

df -hmfsmount -H 10.105.132.222 /mfs_live

4.总结:

  1. 此步骤为正确的切割步骤,实际操作中出现好多意外,例如1.更换磁盘后,磁盘空间未按照预期扩大;2.停服时未卸载mfs客户端,导致服务器变卡,切割失败等

2.在停服过程中,部分使用mfs存储的服务会宕掉,如依赖了mfs的jdk的服务可能会宕掉。目前排查原因是服务会定期从jdkload下jar包,如果恰好jdk目录不可用了,一般会有jvm致命异常

3.由于广告mfs元数据存在此套mfs存储中,当停服时间过长时可能会导致广告mfs宕掉,故首先将mfs迁出

©著作权归作者所有:来自51CTO博客作者似氺流年的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持

更多相关文章

  1. 微服务+异步工作流+ Serverless,Netflix 决定弃用稳定运行 7 年的
  2. 深度:边缘和5G对服务器的需求
  3. Forefront TMG+路由器后Internet不能正常访问内网的Web服务器和
  4. ITSS运行维护标准认证的好处
  5. centos 7.6 yum搭建open***服务端以及客户端
  6. 服务器指纹识别之 DNS TXT
  7. nodejs搭建本地服务器
  8. 磁盘空间不足的解决办法
  9. 查看服务器性能工具

随机推荐

  1. android 使控件透明
  2. Android中对NFC的实现代码分布在如下几个
  3. android定位布局
  4. android layout_weight了解
  5. Android修改自己程序字体的方法详解
  6. Android:解决RadioGroup中RadioButton的图
  7. Android 常用组件,的常用类型
  8. Android开发EditText属性
  9. Android之ActivityManager与Proxy模式的
  10. Android Studio中使用android:src="@draw