Rsync2 brings me a extra bonus, how to?

Links: http://www.dbatools.net/experience/extra_bonus_by_rsync2.html

    For good DBAs, everything are same except the database name, while for bad DBAs, everything are different except the database name. Of cause we have good DBAs, but we still hit some problems. There are a lot of database hosts running on different version of Solaris, the database is begin bigger and bigger, when build standby, how to easily copy the data files from one host to another host?

    We have different data centers, the network speed is limited, so we need a tool with zip features, and must be robust and controlable. So rsync is very good for this, because of:

1, The -z option can zip the data.
2, Rsync is very robust, it's an open source and free tools.
3, Rsync have return code to indicate whether succeed or not.

    The first problem is large file support. We start to expand data files (>2GB), and start to use large data files (>2GB), the rsync on some old version are not compiled with 64bit IO library.

    The second problem is that some time rsync can hang and never exit by it's self. The timeout option only work for client-server mode, not work for peer-to-peer mode.

    As we have a common directory holding some useful script on every database host, I start to recompile the rsync with a new name rsync2, and check the working directory to the common directory. It avoid our SA to update rsync at every host, a lot of time saved.

    And I also add some code to rsync source code, to change the TCP-Window setting and timeout setting of TCP/IP in peer-to-peer transfer mode. TCP-Window make the rsync2 copy more faster, and timout make the new rsync2 never hang any more.

    This is really helpful to our DBA team, to our operation team, so finally I got a extra bonus for rsync2.

Post a comment

« Previous | Main | Next »

Powered by
Movable Type 3.36