(うわ、5年ぶり?の投稿か…)
LS520Dからの置き換えでLS720D(1202)を購入。これで4代目。
初めてNASを導入したのはかれこれもう20年前くらいか…初代からBuffalo NASを使い続けている。
ここ数ヶ月、先代LS520Dが数日毎にフリーズするようになり騙し騙し使っていたのだが、起動しなくなった2代目からLS520Dへのデータ移行に非常に苦労したので、今回はまだ生きているうちにリプレース。
※あの時は2代目からドライブを抜き、PC内にLinuxの仮想マシンを構築して接続、rsyncでデータをPC内に吸い上げ、今度は別途用意した外付けHDDへ転送。LS520Dのダイレクトコピーが使い物にならず(後述)、まだSSHアクセスの情報も無く、仕方なく有線1Gbpsファイル共有のカメ足速コピーで凌いだ。
所感
正直だいぶガッカリしている。
先代LS520Dで苦労していたところが全く改善されていない。
ダイレクトコピーが使い物にならない
先代LS520Dでも同じ現象が起きていたのだが、ダイレクトコピーを開始すると早いときは数分、遅くとも数時間で本体がフリーズする。
Buffaloさん、ちゃんとテストしてる??
おそらく少量、小容量なら問題無いのだろうが、数十GBを超えると何度やっても全然ダメ。
コピー元はBuffaloの4TB外付けHDDと、トランセンドのUSB3.2 256GBメモリー。どちらも同じ結果。
お粗末なWEBアクセス
データ移行、整理のためWEBアクセスでフォルダやファイルの移動を行っているのだが…
(異なる共有フォルダ間の移動は、PCの共有経由で行うとコピーになるので時間がかかる)
本体内での「移動」なのにメチャメチャ時間がかかる!いったいどういうこと??
WEBアプリケーションの使用言語に用意されているファイル・フォルダ移動処理を使えば、一瞬…とまでは言わずとも、どんなに大量でも数分あれば終わるはずだ。数十分、数時間もかかることはあり得ない。
移動処理中の画面を見ていると、どうやらフォルダ階層を再帰的にたどってファイル・フォルダをひとつひとつ処理しているように見える。
なんでそんなことしているのだろう??あまりにお粗末だ。
というわけで、またしてもSSHアクセスが必要になった。
(こんなことしなくて済めばいいのに…)
SSHアクセス
LsLoverさんのレビュー(LS720D0402)がたいへん参考になりました。感謝。
以下、具体的なコマンドを整理したので、共有します。
※Java、acp_commander については省きます
sshd_config
HostKeyの設定が邪魔になるので、コメントアウトしてデフォルト値に戻す
java -jar acp_commander.jar -t <LS720DのIPアドレス> -ip <LS720DのIPアドレス> -pw <adminのパスワード> -c "sed -i 's/^HostKey/#HostKey/g' /etc/ssh/sshd_config"
起動スクリプト
ドハマリした箇所。ここをコメントアウトしないと起動スクリプトが走らない。※sftpを使いたい方はこれではダメかも
java -jar acp_commander.jar -t <LS720DのIPアドレス> -ip <LS720DのIPアドレス> -pw <adminのパスワード> -c "sed -i '/SUPPORT_SFTP/,/fi/ s/^/#/' /etc/init.d/sshd.sh"
sudoの設定
LS720DはどうもSSH rootログインができないっぽいので、adminからsudoできるようにする。NOPASSWDはお好みで。
java -jar acp_commander.jar -t <LS720DのIPアドレス> -ip <LS720DのIPアドレス> -pw <adminのパスワード> -c "sed -i 's/#%admin ALL=(ALL) ALL/%admin ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers"
sshdの起動
java -jar acp_commander.jar -t <LS720DのIPアドレス> -ip <LS720DのIPアドレス> -pw <adminのパスワード> -c "/etc/init.d/sshd.sh start"
これでSSHアクセスができるようになります。
ユーザーはadminでアクセスしてください。
ssh admin@<LS720DのIPアドレス>
なお、これらの変更は再起動とともに消え失せて元に戻ります。
なので以下のようなシェルスクリプトを作っておくとよいでしょう。
#!/bin/bash
sed -i 's/^HostKey/#HostKey/g' /etc/ssh/sshd_config
sed -i '/SUPPORT_SFTP/,/fi/ s/^/#/' /etc/init.d/sshd.sh
sed -i 's/#%admin ALL=(ALL) ALL/%admin ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
/etc/init.d/sshd.sh start
start-sshd.sh などとして共有フォルダに置いておけば、再起動後は以下のようにすればSSHアクセスができるようになります。
java -jar acp_commander.jar -t <LS720DのIPアドレス> -ip <LS720DのIPアドレス> -pw <adminのパスワード> -c "/mnt/array1/<共有フォルダ名>/start-sshd.sh"