カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■はじめに
 玄箱PROの使い方の一つとして NAS (Networked Attached Disk: ネットワーク接続型ディスク) があります。NAS として使うときに重要になるのはバックアップです。今回はバックアップに使えるソフトウェアと、バックアップ時に外付けディスクの電源を自動で ON/OFF する方法を紹介します。

R0010815bs.jpg
図1 完成した自動電源 ON 回路

■バックアップの意味
 バックアップには二つの意味があります。一つには、ハードディスクの故障に代表されるハードウェア障害に対する備えです。もう一つは、誤って消去してしまうなど人為的なミスに対する備えです。

■ディスクのミラーリング
 バックアップの方法はいくつかありますが、一つの方法がミラーリングと呼ばれる方法です。ミラーリングとは1台のディスクが壊れたときのために、同じ物を保存した別のディスク(コピー)を用意する方法です。常にミラーリングする方法として RAID 1 があります。常時ミラーリングしていると、バックアップ忘れがないメリットがあります。一方でハードウェア障害には対応できますが、即時に変更が反映されるため、人為的ミスには対応できません。

 そこで定期的にソフトウェアでミラーリングをする方法をとることにします。Windows でファイルをディレクトリ単位でミラーリングするには、WinSync2000*1 や、BunBackup*2 といったソフトウェアを利用すると便利です。Windows マシンから玄箱 PRO が SAMBA で共有している領域にバックアップをとることもできます。玄箱 PRO 上(UNIX マシン)では、rsync というソフトを使うとミラーリングが簡単にできます。

*1 WinSync2000:
http://hp.vector.co.jp/authors/VA015685/
*2 BunBackup:
http://homepage3.nifty.com/nagatsuki/bunbackup/bunbackup.htm

■rsync を使ったミラーリング
 rsync は UNIX でよく使われるファイル同期がとれるソフトウェアです。cp や tar を使ったコピーと違い、削除したファイルをコピー先から消すことや、更新されたファイルのみコピーすることで時間が短縮される、ローカルだけでなくネットワークを通してファイルを同期できるなどの特徴があります。Debian パッケージが用意されているのでインストールは、

apt-get install rsync

だけで済みます。/home 以下を /disk2/home 以下にミラーリングする場合の基本的な使い方は、

rsync -aHv --delete /home/ /disk2/home

とします。ここで注意が必要なのは /home の後ろについている / です。これがないと、/disk2/home/home ディレクトリが作成されることになります。--delete オプションがない場合は、rsync はコピー元のファイルが削除されたときも、コピー先からファイルを削除しません。そのためミラーリングする場合には必要になります。v は詳細なメッセージを表示するためなのでなくてもかまいません。--dry-run をつけると実際にはファイルの操作はしません。動作の確認のために使うことができます。

rsync -aHv --delete --dry-run /home/ /disk2/home

 一度、誤って消してもよいディレクトリを用意して動作を確認するとよいでしょう。

■電源のON/OFF
 ACアダプタの電源のON/OFFには半導体リレー (SSR: Solid State Relay) を使いました(図2)。低い電圧の直流で商用電源 (AC 100V) を ON/OFF 制御できます。玄箱PROから指令するために、秋月電子の FT245RL USB パラレル変換モジュールを使いました。
 回路図は図3のとおりです。SSR には、オムロンの G3MB-202P 5V を使っています。ほかの SSR を使う場合には、FT245RL の最大出力電流(2mA程度)と図2にある JC208SC (ジェルシステム) のように電流制限抵抗が外付けで必要なものもあることに注意してください。

R0010646s.jpg
図2 半導体リレー (SSR: Solid State Relay)の例


警告:この回路では商用電源 (AC100V) を取り扱います。感電やショートなどがないよう十分に注意し、自己責任で楽しんでください。

FT245RL_SSR.gif
図3 FT245RL を利用して商用電源を制御する回路

■回路の組み立て
 図4, 図5のように部品を用意しました。商用電源用には必ず商用電源用のコードを利用するようにし、電子回路用(耐圧30V以下など)の電線を利用しないでください。

R0010645s.jpg
図4 松下電器 ベター 小型コード・コネクタ (平形コード用) WH 451P と平形コード

R0010808s.jpg
図5 基板上に実装する部品 (FT245RL モジュール, ICソケット、抵抗とLED, SSR)

R0010809s.jpg
図6 基板を表から見たところ

R0010810s.jpg
図7 FT245RLモジュールの実装方向と、SSRの向き。SSRは文字が読める側を FT245RLモジュールに向ける

R0010811s.jpg
図8 基板裏面の様子

基板ができたら、平形コードを加工し配線しました。

R0010813bs.jpg
図9 平形コードの加工

R0010814bs.jpg
図10 平形コードを基板につける

 基板が完成したらテストの前にケースに組み込みます。感電防止です。用意したケースは100円ショップで購入したものです。基板を蓋側に両面テープで貼り付け、コードはケースに切り欠きをつくり、そこを通すことにしました。

R0010815bs.jpg
図11 完成した基板と用意したケース

R0010819bs.jpg
図12 基板は両面テープでケースに止める

R0010817bs.jpg
図13 平形コードをコネクタに止める

R0010830bs.jpg
図14 ケースの切り欠きにコードを通す

R0010829bs.jpg
図15 ケースに収めたところ

 動作テストの前にテスタで必ずショートしていないことをオス、メスとも確認します。火災などの原因になるので必ず確認してください。

R0010818s.jpg
図16 ショートしていないか必ず確認する

■動作テスト
 動作テストの前に環境を用意する必要があります。以前の記事を参考に環境を用意してください。プログラムは LED の点滅と同様に作成してあります。power245.c をダウンロードして以下でコンパイルしてください。

cc -o power245 -I/usr/local/include power245.c -L/usr/local/lib -lftdi -lusb
まずコンセントには何も挿さずにテストします。FT245RL を USB で玄箱PROにつなぎ、認識された後、

./power245 on

で LED が点灯し、

./power245 off

で LED が消灯すればOKです。
 つぎに、テスタで LED 点灯時、消灯時ともにショートしていないことを確認してください。LED点灯時にSSRを通したコネクタ間の配線で抵抗が多少あるのは無視してかまいません。OK なら、コンセントに負荷(電気スタンドなど)を接続し、 LED の点灯、消灯とともに、負荷が ON,/OFF できれば完成です。
 SSR の容量は 1A となっていますが、 0.5A 以下で利用するほうがよいでしょう。扇風機などのモータを使ったものは利用できません。

■バックアップ・スクリプト
 コンパイルした power245 を /usr/local/sbin にコピーし、以下のようなバックアップ・スクリプト
backup.sh を作成しました。電源を投入後、30秒待ち、/, /home を順にバックアップしています。USBハードディスクは、記事「玄箱PROのハードディスク交換」に従ってパーティションを作成し、用意したものです。

#!/bin/sh

/usr/local/sbin/power245 on

sleep 30

mount /disk2

rsync -aHvx --delete / /disk2

mount /disk2/home

rsync -aHv --delete /home/ /disk2/home

umount /disk2/home
umount /disk2

/usr/local/sbin/power245 off

mount コマンドを見て分かるように /etc/fstab には、以下の2行を追加しています。

/dev/sdb2       /disk2          ext3    noauto          0       0
/dev/sdb4       /disk2/home     ext3    noauto          0       0

 さらに backup.sh を cron から定期的に実行するようにすれば、節電しながら自動バックアップがとれる環境の完成です。
<光永 法明>

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: 外付けHDD に自動で電源ON/OFFしてバックアップ

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1768

コメントする

おすすめ書籍
Powered by
Movable Type 4.1