カテゴリー「ReadyNAS」の2件の記事

2012年2月25日 (土)

ReadyNAS Ultra2でMyDNSを更新するシェル

家でサーバー公開するなら、変動するIPアドレスに対応するためダイナミックDNSを利用する事になります。
PCで作ったサーバーならDiCEを使えば良いですが、NASなのでそういうわけにもいきません。
ReadyNASならアドオンもあるのですが、どうやらDynDNS用? ただDynDNSは有料化されたらしくイマイチです。

で、個人的に前から使っていたMyDNSを更新するシェルを作ってみました。

まずはReadyNAS Ultar2にログインできるようにします。

「Enable Root SSH アクセス」
http://www.readynas.com/ja/?p=3492

これのx86をダウンロードしてReadyNAS Ultra2のFrontview>アドオン>追加 でファイルを選び、「アップロードしベリファイする」を押します。
インストールが終わっても特にFrontviewに変化はありませんが以下のようなメールが届きます。
--------------------------------
Successfully enabled root SSH access. The root password is now the same as your admin password.
--------------------------------
んでrootでadminのパスワードでログインにできるようになります。

SSHでどうログインするかですが、Macならばターミナルが使えます。
シェル>新規リモート接続
にて「セキュアシェル(ssh)」にReadyNAS Ultra2のIPアドレスを入れて、rootで接続します。
Ssh

で、ログインすれば/rootに入ります。
ここに以下のファイルを作成。
mydns.sh
--------------------------------
/usr/bin/wget http://www.mydns.jp/login.html --http-user=あなたのID --http-passwd=あなたのパスワード -t 1 -nd -q -O mydns.html
/bin/rm -f mydns.html
--------------------------------

つまりはwgetを使ってMyDNSにHTTP-BASICでアクセスしてIPアドレスを更新します。
wgetに与えた引数の意味としては
アクセスするアドレス:http://www.mydns.jp/login.html
あなたのID:--http-user=あなたのID
あなたのパスワード:--http-passwd=あなたのパスワード
試行回数1回:-t 1
ディレクトリは作成しない:-nd
ログを表示しない:-1
出力ファイル名:-O mydns.html

といった感じです。
別にアドレスとID、パスだけでも問題なく動きますがなんとなくで他の設定も入れてみました。
んで、取得したファイルは特に不要なのでrmで消す、というシェルです。

ファイルを作成したら
--------------------------------
chmod 755 mydns.sh
--------------------------------
とかで実行可能にします。

これをcronで定期的に実行します。
が、ReadyNAS Ultra2の場合はエディターをviに変えないといけないようなので
--------------------------------
EDITOR=vi
export EDITOR
--------------------------------
とします。

んで
--------------------------------
crontab -e
--------------------------------
と実行すると

--------------------------------
# m h dom mon dow command
--------------------------------
と最初に書いてあるので、viで以下のように追加します。

--------------------------------
# m h dom mon dow command
33 0-23/3 * * * /root/mydns.sh >/dev/null 2>&1
--------------------------------
これで3時間毎の33分(0:33、3:33、6:33…)にmydns.shを実行します。
最初の33が「分」の設定で33分という事です。
次のが0から23の間に3つおき、つまり3時間毎になります。0-23は結局は24時間なので「*/3」でも可能です。逆に時間帯を指定して「9-21/3」とすれば9時から21時の間で3時間毎となります。

なぜ33分なのかというと…なんとなく一般的に0分に更新するという設定をしている人が多そうな気がするので、そうすると0分にMyDNSにアクセスが集中する事になります。
なんかそれは申し訳ないなーという事で、例えばこの例では33分にしてみました。私の使っている実際のシェルではさらに別にしてます。

最後の「>/dev/null 2>&1」は出力をメールせず捨てます。
ただ、そもそもReadyNAS Ultra2ではmailが使えない気がするので放置でもいい気もするけど余計なゴミの可能性を出さないという事で捨ててます。
逆に、更新でエラーとなったときだけメールして欲しい気もしますが、その場合はmailをインストールする所から始めないといけない気がします。


これでMyDNSのIPアドレス更新が定期的に実行できます。
ググってみるとParl等で色々とあるようですが、wgetならかなりシンプルなんじゃないかと思うんですがいかがでしょう?

ReadyNAS Ultra2購入

ReadyNAS Ultra2を買いました!

Photo

買ったものは「ReadyNAS Ultra2 iSCSI対応 2スロット デスクトップ型ネットワークストレージ RNDU2000」の4TBモデル、「RNDU2220」です。
フツウはHDDなしのRNDU2000を買うと思うのですが、タイの洪水のせいか今HDDが高いです。
1TBで8000円以上します。RAID1で2台入れる事を考えると16000円です。
うーん、まぁしょうがないかと思っていたら、4Tバイトモデルが39,800円。HDD無しが25,800円なのでその差14,000円。安い上に容量倍。タブン洪水前に出荷されたものなんでしょう。とにかくオトクなので買いました。

昔からサーバー建てたりNAS置いたりしてたんですが、まぁ大抵1,2年で壊れます。さほどアクセスは多くないはずですが24時間動いているのはやはり過酷なんでしょう。
サーバーはRAID5でしたが、HDDじゃなくてRAIDカードが壊れてどうにもならなくなったし、NASはIOデータもバッファローも使ってみましたが一長一短というよりは一短二短と言いたいくらいで機能もスピードも足りない。
で、バッファローのLink Stationが壊れたので次をどうするか探していました。

QNAPやThecusがお買い得で人気もあるようですが、これとReadyNAS Ultra2の3つで色々調べて最終的にReadyNAS Ultra2にしました。出来る事はほとんど同じような感じですが、コントロールパネルの微妙な違いを自分の好みで選んだ感じです。

Link Stationが壊れそうな時に急いで丸ごとコピーしておいたHDDから今度はReadyNAS Ultra2にコピーする訳ですが…いやめっちゃ速い。Link Stationの時は全部で100時間くらいかかった気がするんですが、今回は5時間くらいで全部コピーできてしまった。
まぁLink Stationも買ったばかりのときは速いので、今後使い続けてどうなるかですけど、それにしても圧倒的に速い。

中身はLinuxらしく、色々いじりがいもありそうなので楽しそうです。


その他のカテゴリー