スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

バックアップ手法

システム開発をして、当然そのシステムから何らかのデータを産み出すわけだけど、障害があった時や間違って自分で消しちゃった時とか、その他色々な面から、バックアップというものを定期的にする必要があります。

↑自分で間違って消しちゃうって事は本当にある事なのよー!
実は俺もやった事があるorz
あとは自分の書いたプログラムのミスで消しちゃったりとか。

まぁバックアップは用意して無駄になるものではないから、システムとかに限らず、開発中のソースとかも色々な資料とかも定期的にバックアップしましょうねと。

で、ここからが本題。

バックアップってのはそのマシンがそのマシンのデータをそのマシンの中に作るのが普通なわけだけど(もしかしたら普通じゃない?)、そのマシンがぶっ壊れたらバックアップは何の意味も成さないので、バックアップしたデータをバックアップ専用のサーバーに転送する。
勿論、バックアップ専用サーバーがぶっ壊れたらそれも何の意味も無いわけだけど。

まぁ最低限別のサーバーにもバックアップのコピーを転送するのが良い。
その時の転送方法として、今ではFTPとrsyncを使っている。

けど、FTPがやたらと重い。というか転送速度が遅い。
実稼動しているサーバーからバックアップを取らなきゃ意味がないので、それらのサーバーからFTPをしてるんだけど、その時の負荷は急上昇。

そうするとバックアップのFTPの時間だけそのサーバーのサービス(例えばApacheとかMySQLとか)の反応が著しく悪くなる。バックアップの為だから仕方ないといえば仕方ないけれど、出来ることなら負荷は下げたい。

そのサービスを使ってるユーザーからしても、アクセスしたら「現在メンテナンス中です」とかいきなり出てきたら腹立つだろうし。

そんなわけでもう一つのrsyncという方法があるんだけど、FTPはクライアントからサーバーに対して送信するのに対して、rsyncはクライアントからサーバーに対して受信するよう試みる。

転送時間を計ると圧倒的にrsyncの方が速い。
FTPはなんでこんなに遅いんだろう的な感じ。
WAN越しに1GB弱のファイルを転送するのに、FTPだと30分くらいかかるんだけど、rsyncだと5分程度で終わる。

WAN越しだからルートの問題もあると思うし、絶対的な事実と言えないんだけど、rsyncの方が速い気がする。

FTPサーバー側はデフォルトの設定だけど、チューニングしないと良いパフォーマンスが得られないのか、それともFTPよりrsyncの方が速度が速いのか?

今のところFTP経由でバックアップサーバーに転送しているから、もし転送手段を変更するなら全てのサーバーに対してやらなきゃいけないなぁ。
それは結構大変だからもっと調べてその中の最良の方法にしないと・・・。

そんなこんなだから、最近Cベースのネットワークプログラミングにハマってたりする。良い意味でも悪い意味でも。
スポンサーサイト

この記事のトラックバックURL

http://kgworks.blog47.fc2.com/tb.php/100-190eaddd

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

テクノラティ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。