Linuxサーバー間のデータバックアップ
去年もありましたが、ある客先のLinuxサーバーのOSが古くなったので新しいOSに入れ替えることになりました。
この客先にはメインサーバーと今は稼働していないセカンドサーバーがあるので、とりあえずセカンド機を当家に送ってもらったんですが、、
やっぱりハードが古くて新しいOSを入れるのはムリ。
そこで、先日も買った「HP Proliant MicroServer N54L」を新規購入して、これにCentOS7を入れてメイン機と交換することになりました。
ただ、やはりセカンドサーバーを置いてメインサーバーのデータのバックアップを取り、イザってときに備えたいとのオーダー。
今稼働しているメインサーバーも送ってもらったセカンドサーバーとほぼ同時期のものなんでOSの入れ替えはムリそう。
なのでもう1台新規に買ってハードを完全に入れ替えることになるんですが、その前にLinux間のデータのバックアップは久しぶりなんで、ちゃんと稼働出来るか当家のサブ機でテストしてみることに。
サーバーの仕様はPHP+ACCESS+Mysqlによる顧客管理システムがメインです。
…まぁ、この辺は僕の得意技ですからね。。w
届いた「HP Proliant MicroServer N54L」にCentOS7とサーバーツール類をインストール・設定。
それから、今稼働しているメインサーバーからデータをコピーするんですが、今稼働しているシステムは古いシステムなのでPHPもMysqlも文字コードがEUC-JPになってます。
このPHPプログラムとMysqlを全てUTF-8に変換してからコピー&インポート。
この文字コード変換は何回かやってるんでサクッと(ホントはphpが文字化けしちゃってphp.iniの設定でけっこう手間取りましたが、、w)終了。
次に当家のサブ機(CentOS7もサーバーツール類もインストール済み)を客先のセカンドサーバーテスト用として設定変更。
データをコピーしてサクッと終了、、
と思ったら、再起動するとネットワークが繋がらない!?
ここでまたまた引っかかっちゃいました。
あちこちチェックして最後に発見。
ネットワークデバイス「ifcfg-eno1」が何故か起動してませんでした。w
「/etc/sysconfig/network-scripts/ifcfg-eno1」のONBOOTがnoになってたんで、ここを「ONBOOT=yes」に書き換え、ネットワークを再起動してOK。
これでサブ機の設定も完了。
次にデータのバックアップ設定。
データのバックアップについては、Windowsでもそうなんですが僕はRAID等のミラーリングは基本的に使いません。
1日に1~数回自動(または手動)でバックアップを取るようにしています。
Linuxの場合は手動って訳にはいかないんで、Cron等で毎日自動的にバックアップを取れるようにします。
ただ、Linuxサーバー間のデータのバックアップは、以前やったときに設定がけっこう大変だったわりにはうまく稼働しなかったりしてかなり苦労しました。
そこでちょっと調べてみると、今はいろんなツールがあるんですね。
見つかったバックアップツールをいくつかチェックした結果、Linuxサーバー間で自動的にバックアップを取るには「rsync」が使いやすそうです。
これをサブ機にインストールし、サブ機から新しく組んだメインサーバーに接続してバックアップを取ってみることにしました。
まぁ、ちょいと面倒な設定はありましたが、何とか設定完了。
バックアップスクリプトを作って実行させてみると、けっこう時間がかかってアレ?失敗したか?って感じでしたが、、w
rsyncは差分バックアップが取れるんで、初回はデータの読み込みに時間がかかってただけでした。
…確かにギガ単位のけっこうな量のデータがあったんで。。
スクリプト終了後、バックアップが取れているのを確認し、PHPとACCESSからサブ機に接続して正常に動作することも確認、、
と思ったら、WEBスクリプトのデータは取れていたんですが、MySQLのデータベースはNG。
まぁ、良く考えたらMySQLのデータはmysqldump等でバックアップして、それをセカンドサーバーのMySQLデータベースに復元って手順を踏まないとムリでした。
そこでMySQLデータ用のバックアップスクリプトを別に組んで対応。
これでバックアップのテストをすると、今度はMySQLのデータもバッチリバックアップ出来ました。
後は毎日自動的にバックアップを取れるように、これらのスクリプトをcron.dに登録しちゃいます。
翌日サブ機のデータを確認すると、チャンとバックアップ出来てました。
これでrsyncを使ったバックアップのテストが完了しました。
お仕事とは言え、やっぱりLinuxをいじるのは楽しいですね。
なかなか正常に動いてくれなくて青くなって悩むのもそれはそれで楽しいし、やっと原因を突き止めてうまく動作してくれると最高に気持ちイイ~♪
久しぶりに食事も忘れて没頭しちゃいました。w