变更 目录_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.跨盘迁移

测试前集群检查

服务正在运行

c31cc7d80c664449b294793aa5a04037.png
ed40a40908e7fb850755edf07741039c.png

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

26693ca37f21f60eb9a385392fcfccd2.png

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

目录挂载情况

d90c6f613b8370c748a2127cb5c2a04a.png

服务不停止限速迁移

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文件进行修改,待停止服务进行数据搬迁到新设备作为检查依据。

3a8e64532be3f49ec0f003d8481f53d2.png

服务停止不限速迁移

4.1 停止作业及服务

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

1d5cb72b0f3479c1014fb05117d343e5.png
de6a366f0a7d32b6901ae8f5d7376451.png

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

80ccbefabb77d52da8a0cc271f64f3bd.png
7826799f28e8447b292ae27e932f784d.png
12ce26d9f131bb90c90e5d224762becc.png

服务已经停止

4.2 数据迁移

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

lsof +D /var/lib/cdsw
7f073301a9cabf568c3b1da62ae7439b.png

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

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/cdswumount /var/lib/cdsw1

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

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

4.3 启动CDSW服务

回到CM启动CDSW服务

46ac99b8220dd1af10e440be8df2ad17.png

服务正常

d1e363a191fdfa17dc13d69ff4a79909.png

可以登录cdsw

80bea0e4618225afe487edf407ea2a99.png

验证数据

46e3b6d650e745bff75591c34ad2c192.png

4.4 执行任务测试

执行spark Pi进行测试

bed48f6ba583a76e9fa0691c5fc0874a.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值