0
点赞
收藏
分享

微信扫一扫

0689-1.4.0-CDSW目录迁移变更技术手册

作者:吴国柱


文档编写目的

CDSW使用一段时间以后,Master节点的/var/lib/cdsw目录挂载的是单块磁盘没有做raid等数据备份而且已经运行时间长达两年,因此为规避磁盘低概率损坏造成数据丢失风险,现准备将该目录的数据进行迁移至做了raid且空间更大的磁盘中。


由于现有/var/lib/cdsw存储的数据量已经高达3T之巨,为了不影响业务需要在规定时间内(5小时)将数据进行迁移,需要选择一种快速的迁移手段进行迁移,本文将对linux现有的数据迁移同步工具rsync进程模拟测试。


  • 变更步骤

1.使用rsync将根分区下的/var/lib/cdsw目录下的数据在CDSW服务正常使用情况下;同步至/dev/mapper/vg_data0-lv_data0 分区的/data0目录下

2.将CDSW服务停掉检查根分区下的/var/lib/cdsw目录是否还有进程在操作,如果没有则使用相同的命令再同步一次,这一次会同步更新差异文件。

3.将/dev/mapper/vg_data0-lv_data0挂载到/var/lib/cdsw目录下,启动服务。


  • 变更环境

1.RedHat7.2

2.跨盘迁移


测试前集群检查


服务正在运行


0689-1.4.0-CDSW目录迁移变更技术手册_递归

0689-1.4.0-CDSW目录迁移变更技术手册_数据迁移_02


从上图可知,/var/lib/cdsw有进程在操作。


0689-1.4.0-CDSW目录迁移变更技术手册_递归_03


有session在打开,有作业在运行。

目录挂载情况


0689-1.4.0-CDSW目录迁移变更技术手册_数据迁移_04


服务不停止限速迁移

3.1 服务不停止数据迁移


这个过程由于有服务在使用(有作业在运行)因此为了不影响业务对该迁移进行限速最高速度不超过50M/s,测试步骤及结果如下:


time rsync -ac --partial --bwlimit 800000 --delete  /var/lib/cdsw/ /var/lib/cdsw1


经过限速,对磁盘的读取速度都没有超过限速阈值。


#!/bin/bash
#nohup time rsync -ac --partial --bwlimit 800000 --delete /var/lib/cdsw/ /var/lib/cdsw1 2>&1 &
#nohup date 2>&1 &

参数解析:--partial:短点续传-a : --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD-c: 打开校验开关,强制对文件传输进行校验--bwlimit 800000:限速80M/s--delete: 删除那些DST中SRC没有的文件。


3.2 修改文件测试


在服务停止前对cdsw文件进行修改,待停止服务进行数据搬迁到新设备作为检查依据。


0689-1.4.0-CDSW目录迁移变更技术手册_数据迁移_05


服务停止不限速迁移

4.1 停止作业及服务


1.停止作业;停掉集群上所有作业。


0689-1.4.0-CDSW目录迁移变更技术手册_递归_06

0689-1.4.0-CDSW目录迁移变更技术手册_递归_07


2.停掉cdsw服务;停止CDSW集群


0689-1.4.0-CDSW目录迁移变更技术手册_数据迁移_08

0689-1.4.0-CDSW目录迁移变更技术手册_递归_09

0689-1.4.0-CDSW目录迁移变更技术手册_数据_10


服务已经停止


4.2 数据迁移


1.检查/var/lib/cdsw目录是否还有进程在操作。


lsof +D /var/lib/cdsw



0689-1.4.0-CDSW目录迁移变更技术手册_递归_11


该目录下已经没有进程在操作。


2.数据目录搬迁,此次搬迁为更新上一次有服务在使用且发生变化的文件;因为没有服务在使用,此次不用限速,操作如下:


time rsync -ac --partial --delete  /var/lib/cdsw/ /var/lib/cdsw1


参数解析:-a: --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD-c: 打开校验开关,强制对文件传输进行校验--delete: 删除那些DST中SRC没有的文件。--partial: 短点续传


3.将挂载点/var/lib/cdsw和/var/lib/cdsw1进行umount


umount /var/lib/cdsw
umount /var/lib/cdsw1


4.将/var/lib/cdsw挂载到/dev/sdb


mount /dev/sdb /var/lib/cdsw
mount /dev/sdc /var/lib/cdsw1


4.3 启动CDSW服务


回到CM启动CDSW服务


0689-1.4.0-CDSW目录迁移变更技术手册_数据_12


服务正常


0689-1.4.0-CDSW目录迁移变更技术手册_数据_13


可以登录cdsw


0689-1.4.0-CDSW目录迁移变更技术手册_数据_14


验证数据


0689-1.4.0-CDSW目录迁移变更技术手册_数据迁移_15


4.4 执行任务测试


执行spark Pi进行测试


0689-1.4.0-CDSW目录迁移变更技术手册_递归_16

程序运行完成,测试成功。




举报

相关推荐

0 条评论