最新

おおいわのこめんと (2006-06)


2006-06-26

[Comp] 定期バックアップ

久々の日記は仕事場の雑用のお話。

えーと、自前マシンはまぁ dvd+rwtools で DVD-R にでも焼いて自分で保管しておけばいいんですが、 共用サーバのデータの重要性が日に日に増してきているので*1、 いい加減「思いつきスケジューリング」じゃなくて定期的にバックアップとらなきゃー、というわけ。いまさら。

前いた大学の研究室は8連装のチェンジャーつきテープドライブが装備されていて、 1年下の後輩のU君が頑張って書いたスクリプトで週1回がりがりバックアップを取っていたわけだが、 意外とテープデッキって入手性が悪いんで、故障時にニッチもサッチもいかなくなるのが怖い。 実際、上記のデッキが死んだときは、数ヵ月の間ずっと僕が手作業でユーザを3群に分けて、 容量が平均化するように3本のテープに手動バックアップする羽目になった。 まぁ、復旧に関しては非常時には大学の情報科学科ならまだ建物中走り回ればどこかに代替機見つかるけどね……。

で、今の秋葉原だとそういうわけにもいかないので、 入手性以上に被災時の復旧性を考えて選んだのが USB2.0 のハードディスク。最近はやたら容量でかいしね。これを 複数台でローテーションすることで、故障時の被害を回避することにした。 ただ、利便性良すぎて「誰でも繋げば即データ取り放題」状態になってしまうので、 それはちと困る。*2 というわけで、暗号化だ!

少なくとも今の gnupg って実はフィルタとして使えて、超巨大ファイルを暗号化しても メモリや /tmp を食い潰したりしないんで、結構うまく使えることが実験で判ったので、 一念発起して perl スクリプトを書いてみた。 バックアップ対象は複数あって、かつ (例えば subversion のように) バックアップ手順が決まっているものもあるので、その辺りはカスタマイズできるようにした。

メインプログラムは Perl でパイプと fork と wait を怪しく使いまくりの 読みにくいスクリプト(苦笑)で、scripts ディレクトリに例えば job1, job2, job3 と シェルスクリプトを3つ置いておくと、順番に実行して

  • job1 の標準出力は暗号化して /mnt/backup/backup-yyyymmdd-hhmmss-job1.gpg
  • job2 の標準出力は暗号化して /mnt/backup/backup-yyyymmdd-hhmmss-job2.gpg
  • job3 の標準出力は暗号化して /mnt/backup/backup-yyyymmdd-hhmmss-job3.gpg
  • 全部の標準エラー出力はまとめて暗号化して1本のメールで通知、ログとして保存

といった感じに保存してくれる。それぞれのファイルは triple DES 以上 + RSA で暗号化されているので 読み出してもそう簡単には内容を盗めない。ついでに言えば、暗号化前の tar データは USB ディスクのどこにも (ちなみに本体HDDにも) 書いてない。我ながら結構いい感じ。

これと、USB HDD に対応する /dev/sd? を自動的に見つける小さなプログラムを組み合わせることで、 USB HDD を繋いで root でコマンド1つ叩くと、HDD検出→マウント→暗号化バックアップ→アンマウント まで 全自動で行く環境ができあがった。なかなか満足。

あとは、sudo なり専用アカウントなりを組み合わせて、SE さんが何も考えずに実行できるようにしておけば、 自分で面倒なことは何も考えなくて良くなるかな。*3

[Comp] ブロードバンドルータ

最近仕事とか自宅とかでやたらとルータを買いまくりなのだが、 どうも1万円以下のルータで気に入ったものが無い。どれもこれも微妙に機能が欠けてたりする。 僕の勘違いだといいんだけど、気が付いたところでは

  • PLANEX の BRL-04FMX: DHCP リースのリストが一覧できない。
  • メルコのやつ全般: ちょっと設定いじるとすぐにリブートがかかる。 NAPT + PPPoE とかだとその際に全部接続が切れる。
  • Linksys BEFSR41C: ログを有効にすると、全 TCP/UDP 接続の記録が相手先情報込みで大量に SNMP trap として出力される。 欲しいのは接続・切断・ファイヤウォールのパケット破棄の記録だけなのだが、 それだけを取得することができない。 あと、非サポートとはいえ SNMP のパケット流量データが明らかに変。
  • (番外)PLAT'home OMS400: いや、最近安定してますけど(笑)、 さすがに今日の日記には価格的にもオーバースペックでしょ(笑)。

という辺りが不満不満。勘違いじゃねーか、というツッコミ歓迎。

逆に、とりあえず欲しい機能としては、

  • 100Mbps 近くまではそこそこちゃんと出る。
  • PPPoE
  • NAPT, stateful firewall (但し、長時間の TCP 接続がやたらと切れたりしない)
  • TCP/UDP ポート変換付きの内向き静的 NAT 設定
  • 接続・切断・ファイヤウォールの拒絶動作 が syslog に出る
  • DHCP サーバ、現在リース状態が一覧できる (CGI or CLI) インタフェース
  • (できれば) SNMP で通信量が取れて、MRTG とかで監視できる
  • やたらとリブートしたりしない(笑)
  • 安定している(笑)
  • とりあえず 9800 円以下(笑)

位の割と基本的な機能ばかりだし、個々の項目は割と満たしているものが多いんだけど、 なんで全部満たしているものがないのかなぁ……。

耳より情報募集中 :-)。

*1 内部用 Wiki、最初は飲食店探索した結果を集積するゆるーい場所だったんですけど(笑)。昨年4月には UDX どころか秋葉原ヨドバシ&Atre vie すらなくて、昼飯食う場所の選択肢は重要だったんでね。

*2 もちろんテープだって本当はそうなのだが、現実的な意味での敷居の高さはやっぱり違うよね。

*3 その気になれば、USB HDD を繋いだだけで全自動でバックアップが完結、というのも可能だな。

本日のツッコミ(全2件) [メッセージを送る]

Yuuna [うちにあまっているMN8300Wを9800円で売りましょうか:) ]

Otaki [メルコは本当、ちょっと設定変えたりすると切れるよね。 同じく探しているのでご希望に叶うのがあれば小耳に入れます:) ..]


大岩 寛 (おおいわ ゆたか) <yutaka@oiwa.jp.nospam ... remove .nospam> .

Copyright © 2005-2014 Yutaka OIWA. All rights reserved.
Posted comments and trackbacks are copyrighted by their respective posters.

記事の内容について (Disclaimer / Terms and Conditions)