DBをdumpしたものや画像データをかためたものを深夜に別のサーバからWinSCPのコンソールでダウンロードしているのですが、
その最中にHTTPでサービスにアクセスすると非常に重く、タイムアウトしてしまうことがあります。
topコマンドでCPU使用率やロードアベレージをチェックしてみたところ、CPU使用率はsshdが10%前後、httpdで5%前後、ロードアベレージは1.5~2.5くらいをキープしていました。
ファイルの総サイズが約3GBと非常に重いため、1時間半以上時間がかかってしまっています。
短期的な解決策(ダウンロード中も問題なく閲覧できるようにする)と、長期的なバックアップ体制についてどのようにするのがベストでしょうか。
よろしくお願いします。
>その最中にHTTPでサービスにアクセスすると非常に重く
ダウンロードのためにサーバの回線帯域が一杯になっているのだろう。
>ファイルの総サイズが約3GBと非常に重いため、1時間半以上時間がかかってしまっています
毎回フルバックアップファイルをダウンロードナンセンス。
バックアップサーバを用意し、LAN内でバックアップすべき。
3,000,000,000 Bytes = 24,000,000,000 Bits / 5400 Sec
= 4,444 kbps = 4M/bit
ダウンロード中は4.4Mの帯域で上限に達しているようです。
ネットワーク環境やサーバー環境が分からないと何とも言えないのですが、仮に専用のサーバーハウジング環境の場合は、まず、帯域上限を10Mに増やす。または、ダウンロードは早朝のアクセスの少ない時間帯域に自動的に行うように処理を変更すれば現状のオペレーションでも特に問題は発生しないかと思います。
クライアントにlinuxサーバーを用意した上で、サーバー側のファイルをhtdocsの公開領域に早朝に自動コピーするスクリプトを組んだ上でクライアント側のcrontabで0 5 * * * wget http://foo.bar/filename.com と登録しておけば、後は自動的にバックアップをやってくれます。この時間帯であれば、特にアクセスが重くなっても問題は発生しないでしょう。
というか、バックアップの方法はいくらでもあるのですが、あなたの環境が個人を対象としたレンタルサーバーのような安価なサービスを利用したものか、企業向けのハウジングサービスを利用したものなのかが分からないと何とも言えないです。
ありがとうございます。企業向けのハウジングサービスを使っています。
企業向けのハウジングサービスは、①レンタルサーバー型(最近はクラウドとも呼びます)と②ラックスペースを貸すものに2分されます。レンタルサーバー型だと、自由にバックアップ用のサーバーを置く自由度は少ないでしょう。ラックスペースを借りている場合は各サーバーに2本のLANケーブルをつなぎ、1本を公開回線のハブに、もう1本をプライベートアドレスの内部LANに結線した上で、ハウジング内の内部LANにバックアップ専用のサーバーを置き、NFSで各サーバーにマウントさせた上で、定時バックアップのバッチジョブのスクリプトを組めば、事は済みます。
また、それだの手間をかけることができな、または技術的に難易度が高いと感じる場合には、バックアップをしたいサーバーに1TB超の容量を持つUSB接続の外付けHDを接続した上で、後は、これまで同様にリモートからただし、バックアップ先はラック内の外付けHDに行うという手もあります。
バックアップファイルを用いて、別環境に同じ環境をコピーしたい場合には、ラックから外付けHDを外して、持ち帰ってくればいいわけです。これは単純な方法ですが、安価であり案外、強力です。
ありがとうございます。LAN内にバックアップサーバを用意し、差分バックアップに切り替えます。