Remote DD或Raw-rsync

    这几天要做几个远程的Standby, 由于是在数据库用的是将要过时的裸设备(Oracle 12g要)上的, 发现以前最喜欢的方式不好用了. 最喜欢的是停止源端的Standby的恢复, 然后用rsync拷到远程的机器上, 以前面对的是Veritas文件系统, 因此很容易编写运行很稳定的脚本, 来自动创建Standby. 用一步一步搞的方式, 所需要的归档日志的空间也特别地小, 实在是网络不好(远程)时的最佳方案.

    目前的rsync不能用于我们这种情况的原因是, 在拷文件时, 在目标端会创建监时文件, 然后改文件名实现, 因此不适合于裸设备. 程序中改一下应当就可以了, 估计不难, 象我这样不是专业出身的人也能搞定这一段代码吧. 有意向准备改一个, 可以取名为raw-sync.

    基于rsync的代码改是最好的, 因为网络不好, 所以最想用它的自动压缩解压功能, 在过去几年的经验中, 这对于提升传输速度是十分有效的. 基于scp的代码也行, scp虽然在源端不生成临时文件, 但还是将目标端的文件重建了一下, 看开始拷时, 目标端的文件大小变成0就知道了.

    对于裸设备, 一直都推荐用dd, 因此写一个Remote DD也不错, 不过没有基础, 这一步有很高的难度, 至少这个名字很好.

    看来我的创意还不少, 虽然Oracle 12G要过时了, 但还没有见影呢, 得过好几年呢.

留言 (3)

顺便下了个rsync-3.0.4的代码,检查了一下,应当可以搞定,不是很难。
不过在裸设备上前部的保留字节部份就不能自动处理了,需要两边的裸设备的类型完全一致。

on source machine:

dd if=/dev/hda bs=16065b | netcat targethost-IP 1234

on target machine:

netcat -l -p 1234 | dd of=/dev/hdc bs=16065b

居然忘了netcat命令,这的确是个方法,但做成一个命令还是要方便一些。

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • Children enter primary school at the age of 7.
  • 孩子们7岁进小学.
  • Some students quit school due to poverty.
  • 一些学生因贫困而辍学.
  • There is fierce competition in the college Entrance Examination.
  • 高考竞争激烈.
  • He majored in Computers.
  • 他主修计算机.
  • She is working for her double major in English and Economics.
  • 她正在修英语和经济双学位.