自宅でのバックアップ体制の構築
作品DB等各サービスの機能追加情報や、技術系・面白系記事を中心に提供。
記事の投稿は基本Twitterでも告知させて頂いています。
連絡は作品DBの論客の方なら私書、DB外ユーザの方ならメール、Twitterで可能です。
アクセス記録[推移 / PV内訳(過去1日 / 過去1週間) / 外部アクセス元 (昨日 / 過去1週間) / ログイン論客足跡]
私書() 受 / / | 評価( /) 投票 /共: / | ファン登録 // | DB構築() | ブログ [書く] |
---|
=>前の記事 海外サービス紹介:: 記事投票サービス(?)reddit.com
1. 2009/09/23 「その他技術系 > バックアップ > 自宅でのバックアップ体制の構築」
[この書込みのみ表示(記事URL紹介用) / 編集 / 削除 / トラバ送信 / 共有分類に追加(タグ付け)]
1. 自宅でのバックアップ体制の構築
2. 自宅でのバックアップサーバーの選定
3. 期待できる効果
4. Windows上でのバックアップ処理の定期化の仕方
1. 自宅でのバックアップ体制の構築
本番環境では、2つのサーバーの間でバックアップを取り合っていますが(参照)、
・同じ環境にあるところではどんなことが起きるか分らない。別環境のところにもバックアップを設けたい
・毎日80万以上のブログ記事を収拾/検索対象化している皆声.jpの方は容量的に収まらなくなる日が近い
ということで、自宅の方でもサーバーのデータのバックアップをとるようにしました。
バックアップのデータの流れとしては以下の通り
本番サーバーA => 本番サーバーB(バックアップ/今のところ1日1回) => 外部HDD接続自宅サーバー |
なお、accessup.orgの方は、サーバーの中でHDDの二重化(RAID1)もされています。
自宅の外部HDDも、家庭機のHDDは壊れやすいのでHDDの二重化(RAID1)をされているものを選んでいます。
2. 自宅でのバックアップサーバーの選定
自宅のサーバー(の役割をさせるPC)は、
要件 | 考察 |
単にバックアップを行うだけ | PC自体は大して高いスペックでなくても大丈夫 / データ保存領域はPCではなく外部HDDに持たせるようにする |
家庭機のHDDは信頼性が周りの環境的にもスペック的にも低い | RAID 1(ミラーリングによる冗長性の確保)をしたい |
ずっと動かしっぱなし | PC自体の記憶領域はHDDよりもSSDの方が故障率が低く、また電力料金も低くて済む |
家で動かすという生活の場にあることを考慮する必要がある | 静音である方が良い |
・Netbookとしての価格の手頃さ(35,000円位/NetbookとはいえノートPCは安くなったなぁ)
・SSD搭載機である
・ファンがないことによる静音性
と上記の要件を満たす機体であった為、それを選びました。
外付けHDDはLAN接続をすることができるRAID1で2台のHDDでミラーリングが行われるものを買いました。容量はとりあえず1TB。HDDは値下がり速度も速いので、満タンになったらその時の時点の製品を買おうと思っています。
で、今色々とバックアップの設定をして調整している作業をしています。

少なくともこの用途には問題ない、期待通りの働きをしてくれています。
3. 期待できる効果
バックアップを使うというのは、緊急の事態ですが、少なくともこれによりデーターセンター側のHDD、サーバーが同時に逝ってしまったとしても、時間はかかるでしょうが自宅側のデータから復旧させることができる状態にはなりました。
確率的に言えば、例えばHDD1つの故障率がサーバー側が1年で5%、自宅側が1年で10%だとすると
サーバーA(HDD x 2/RAID 1)=2台のHDDが同時に壊れる故障率:0.05x0.05=0.0025 = 0.25%
サーバーB(HDD x 2/RAID 1)=2台のHDDが同時に壊れる故障率:0.05x0.05=0.0025 = 0.25%
外部HDD接続自宅サーバー(HDD x 2/RAID 1) =2台のHDDが同時に壊れる故障率:0.1x0.1=0.01=1%
サーバーAとサーバーBと自宅のHDDが同時に全滅する確率=0.0025 x 0.0025 x 0.01 = 0.0000000625 = 0.00000625%
と「一年間の間にそのまま直さないとしてHDDが全損する確率」をかなり下げることが出来ます。
まあ、要するに「最悪の障害」が起きたとしても、doblogやゆびとまのように、データ消失?といった事態にはならないような構造にはなっている筈...ということです。
サイトの持続性で言えば、HDD側の冗長性は取れているので(6HDDで/想定しうるダウンタイムの最小化にはもっと考えるべき点がありますが)、あとは人・技術的な面での冗長性をどうやって取れるようにするかですね。
4. Windows上でのバックアップ処理の定期化の仕方
ちなみに、家庭での外部HDDの直接接続の都合上、Windows機のままバックアップをとっているので、例えばrsyncコマンドをperlから呼び出すことで実行するとすると、毎日の処理は.plをperlで実行するとファイルの関連づけをして(テキストエディターでどうしてもタスクからだと実行されるようになってしまっている場合には、レジストリーエディターのregeditで.plとテキストエディターの関連づけを解除する)、それから
スタートメニュー→プログラム→すべてのプログラム→アクセサリ→システムツール→タスク
と行って、そこで定期的に実行する処理を定義する事になります。
なお、プログラムは他に同じバックアッププログラムが動いていることに気づいたら、処理を止めるという、重複稼働防止処理を入れる必要があります(万が一1日の間に終わらなかったら処理が積み重なって酷いことになってしまうので)。
コメントする |
---|
[他の記事も読む]
<=次の記事 rsync::リモートサーバー側の負荷を抑えてrsyncを実行する方法
=>前の記事 海外サービス紹介:: 記事投票サービス(?)reddit.com
・大分類が「その他技術系」の記事
・この論客の記事全て