LinkStation 同士を同期させる手順を書いてみました。
はじめに
今まで NAS として 500 GB の LS-500GL を使っていたのですが、一眼レフの RAW ファイルが溜まりすぎて残りが少なくなってしまいました。「そろそろ新しいのが欲しいなぁ」と思い、Amazon を散策していたところ、LS-CH1.5L が 2 万円だったので買ってしまいました。
というわけで、今は 2 つ NAS があるのですが、データを同期させようということで、色々やってみました。
まずは SSH でログインできるようにする
ハック欲のある方は、このセクションを読み飛ばしてください :-)
私はネットを適当に探して見つけた、acp_commander というツールを使いました。これを使うと、一発で telnet 接続までできるようになりますが、失敗した際は自己責任で、というツールです。わけ分からない人は使わない方が良いと思います……、保証は利かなくなると思いますので。
このツール自体は Java で書かれているので、java コマンドが使えれば良いと思います。そして、以下のコマンドをぽちぽち打ち込むと telnet が使えるようになります。
acp_commander
WINDOWS> java -jar acp_commander.jar -t-o
root のパスワードが空になりますので、お好みのものに変えておきましょう。
このままでは sshd が立ち上がっていないので、まずは sshd_config を書き換えます。
/etc/sshd_config
root@LS-CHL6CB:~# diff -uNr /etc/sshd_config{.orig,}
--- /etc/sshd_config.orig Fri Sep 5 18:41:59 2008
+++ /etc/sshd_config Sat Oct 17 16:31:34 2009
@@ -10,8 +10,8 @@
# possible, but leave them commented. Uncommented options change a
# default value.
-#Port 22
-#Protocol 2,1
+Port 22
+Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
@@ -33,8 +33,8 @@
# Authentication:
#LoginGraceTime 2m
-#PermitRootLogin yes
-#StrictModes yes
+PermitRootLogin yes
+StrictModes yes
#RSAAuthentication yes
#PubkeyAuthentication yes
@@ -52,7 +52,7 @@
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
-#PermitEmptyPasswords no
+PermitEmptyPasswords yes
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes立ち上げるには % /etc/init.d/sshd.sh start とします。そして最後に、毎回 sshd が立ち上がるように設定をすれば完了です。
/etc/init.d/rcS
root@LS-CHL6CB:~# diff -uNr /etc/init.d/rcS{.orig,}
--- /etc/init.d/rcS.orig Wed Apr 22 18:20:34 2009
+++ /etc/init.d/rcS Sat Oct 17 16:34:03 2009
@@ -86,7 +86,7 @@
#
echo "** step3 **"
-for cmd in diskmon.sh drivecheck.sh ftpd.sh atalk.sh httpd.sh smb.sh clientUtil_servd.sh bonjour.sh lsprcvd.sh daemonwatch.sh cron.sh checkconfig.sh ups.sh pwrmgr.sh
+for cmd in diskmon.sh drivecheck.sh ftpd.sh atalk.sh httpd.sh smb.sh clientUtil_servd.sh bonjour.sh lsprcvd.sh daemonwatch.sh cron.sh checkconfig.sh ups.sh pwrmgr.sh sshd.sh
do
exec_sh ${cmd}
doneリモートと同期する
これで無事に ssh 接続ができるようになり、色々できるようになりました。と、ここで最初の目的である「2 台の LinkStation を同期させる」に戻ります。
同期させるには rsync というコマンドを用います。これは、標準でバックアップの際に使われているコマンドと思われます。LinkStation の /mnt/disk1/ 以下に共有フォルダがありますので、お好みのディレクトリ名を指定してください。
まずは同期元の LinkStation に入って、rsyncd の設定をします。
/etc/rsyncd.conf
root@LS-GL8DE:~# diff -uNr /etc/rsyncd.conf{.orig,}
--- /etc/rsyncd.conf.orig 2009-10-24 14:52:43.246092000 +0900
+++ /etc/rsyncd.conf 2009-10-24 14:08:43.256092000 +0900
@@ -1,3 +1,7 @@
uid = root
gid = root
use chroot = yes
+
+[from]
+ path = /mnt/disk1/share/.
+ read only = yesここまで来たら、同期先の LinkStation でコマンドを打ち込むだけです。
rsync で同期する
# rsync -avP rsync://相手の IP アドレス/share/ /mnt/disk1/share/
まとめ
この同期作業で初めて rsync コマンドを使いました。ホスト間同期とか無くても生活できましたし……。なので、勉強がてら、いじってみるという経緯がありました。
最初は rsync プロトコルを使わずに行っていたのですが、転送速度が思った以上に上がらず、リンクアップがうまくいっていないのかと悩みました。暫くして、ps コマンドを眺めたところ ssh 転送を行っていたため、こいつを止めれば良いのではないか、ということで rsync プロトコルを使うに至りました。
- rsync over ssh: 1.25 MB/s = 10 Mbps
- rsync: 9.00 MB/s = 80 Mbps
Jumbo Frame も有効にしていますが、HDD アクセスがボトルネックなのかなーと、諦め気味です。
This article is modified at 2009-10-24 15:26:43.
Related Entries
- ナスを買った (2006-12-29)
Trackbacks
Trackback URI: http://blog.c--v.net/trackback/2009/10/24/1
There is no trackback.
There is no comment.