Qnapで使用したディスクで不良セクタ発生中

Read More

先日購入したQnap用のHDDが早くも故障してしまった。

どうにもこうにもダメだ。

先日も一度読み取りエラーが出てしまい。使えなくなった状態になったのだがその後不良クラスタを修復するプログラム(HDAT2)で回復したけど結果としてダメだったようだ。

1366769552619

残念。
3Tの容量ともなると故障率が高いのだろうか。災難だ。

スクリーンショット 2013 04 29 8 30

さすがに二回目なのでどうしようもないのかな。

一度修復後にきちんとフォーマットしなかったのもまずかったのかもしれない。普通にそのまま使ってしまったせいで不良クラスタのポジションにRAIDが読み取りに行ってエラーだった可能性もある。

それにしても最近は、色々自作のものがないので家で何もできなくて困りますね。デスクトップが一台くらいないと色々遊べない。小さいマイクロボードのIntelマシーンでもほしくなりますが普段使わないしね。

さて、とは言えもうひとつ買うか。RAIDであるという安心感でここにしか無いデータが結構出来てしまったのが怖い。

QNAP 第8回: [MAC]NAS領域の自動マウント

Read More

今回はNASを上手く利用するために、Macの基本機能であるautomountの仕組みについて書いてみたいと思います。

Qnap(NAS)の領域を使用することを考えた場合、Macbookはノートパソコンなのでいつでもオンラインであるかは不明です。ちょっと外で利用して、帰宅して使いたいという時にも使えるようにしてあるのがベストです。よくサイトで見る情報だと、「ログイン時の実行」の中の処理で共有ドライブを利用できるようにしているものもありますが automount の機能を使ったほうがスムースではないかと思います。

MacOSXのautomountも一般的なLinuxなどのautomountと同様の機能を備えているので細かくはネットでググってみると同じような感じで色々出てくると思います。最終的には、ちょっとうまく行かない部分もあり強引に解決してしまっています。ですが一応ウマくは動いているので設定を載せておきます。

automountを使用するためには幾つかの設定ファイルを用意する必要があります。 /etc/以下に auto_master , autofs.conf などがあります。また今回の設定を個別に定義するためにあ auto_afp というファイルを新たに用意しました。

やりたいことは、Qnap(Nas)上の共有ドライブを、ホームディレクトリ以下に自動的にマウントさせます。

autofs.confはautomountの設定を担っていますが今回は特に変更をしていません。

atuo_masterにはauto_afpを参照す設定を記載します。

#
# Automounter master map
#
+auto_master		# Use directory service
/net			-hosts		-nobrowse,hidefromfinder,nosuid
/home			auto_home	-nobrowse,hidefromfinder
/Network/Servers	-fstab
/-			-static
/-			auto_afp	-nosuid,nobrowse

最後の行に auto_afp という設定を参照する、その時には -nosuid , nobrowseというオプションでマウントを行うということを記載します。例えば -fstab とあれば個々の部分は fstab の設定を見るという感じです。

auto_afp

/Users/name/Share -fstype=afp ://name:[email protected]/Share

このように記載します。色々マニュアルを見ると /User/name/Shareを先に特定のユーザで作成しておくとそのユーザとして自動的にmountされるという記載も見ましたがそれは上手く動きませんでした。 rootユーザが先にmountしてしまった場合一般ユーザでは見れない権限になってしまうという問題があります。この問題が解消されている、、はずでしたが結局わかりませんでした。

補足ですがauto_afpを作成せずにfstabに記載することもできます、その際は

192.168.1.100:/Share  	/Users/name/Share url automounted,url==cifs://name:[email protected]/Share 0 0

このように記述します。

ここで再起動すると私のmacbookの場合にはrootで自動的にマウントされてしまいます。この場合でも5分経つとTimeoutでアンマウントされますが(autofs.confの設定)使いづらいです。
先に書いたように本来は権限をもつユーザでマウントしてくれるのが良いですが難しいので起動時にスクリプトでアンマウントするようにしてしまいます。

Macの場合、自動起動をするためには /Library/StartupItemsという場所に設定を置くことになります、内容としてはinit.dなどの感じです。

name@hostname:/Library/StartupItems$ du -a
8	./AutoFs/AutoFs
8	./AutoFs/StartupParameters.plist
16	./AutoFs

フィアルとしてはこのようなものを用意します。名前はなんでもいいですがディレクトリ名とスクリプト名は揃えるルールです。

AutoFs

[ccn_bash]
#!/bin/sh

. /etc/rc.common

# Refarence
# http://qiita.com/items/5ef36bd62b88c9e8197e
#
LOG=/tmp/000.data

StartService () {
sleep 30
date >> $LOG
umount /Users/name/Share >> $LOG 2>&1
if $? -eq 0 ; then
echo “umount success .. ” >> $LOG
else
echo “umount failed .. ” >> $LOG
fi
su – name -c “ls /Users/name/Share” >> $LOG 2>&1

}

StopService () {
umount /Users/name/Share
}

RestartService () {
StopService
StartService
}

RunService “$1”

[/ccn]

簡単に書いています。とりあえずumountして、普段使うnameユーザでマウントしなおしています。sleepをしているのはそのまま実行するとまだディスクにアクセスなどができないでエラーになるためです。

StartupParameters.plist
[ccn_xml]


Description
AutoFs
OrderPreference
Late
Provides

AutoFs

[/ccn]

こちらは定形のフォーマットです。このように記載します。

上記の設定がうまくできて入れば再起動後にnameユーザでマウントされています。またネットワークが切断などをされていても再度使う際に自動的にマウントして利用することができるので便利です。」

2013 04 03 3 55 2

上記のように、左側のペインにドライブをドロップしておくとアクセスしやすくて便利です。

Qnap 第7回: 「Privoxy」を利用した広告ブロックを使う

Read More

せっかくのホームサーバ的な機能が使えるのでもう少し進めてみます。 Qnapではパッケージ管理ソフトとして qpkgという機能がありますがもっとlinuxライクに使うために ipkgというものがあります。(これもQpkgから導入出来ます)

このiPkgを使用することでさらに機能を増やすことができます。

家で利用するにあたって子どもたちに有害なサイトを見せなくしたり、また同じサイトへのアクセスを高めるためにキャッシュを利用したりということができます。残念がら ipkgに入っているソフトでは出来ないのですがオンラインでのウィルススキャンなども可能になります。セキュリティなども問題になる昨今ですのでいずれは設定しておきたいですね。

今回は、ipkgがすでに用意されている広告ブロック(Privoxy)をコンテンツフィルタ(dansguardian)について設定をしてみたいと思います。本来はコンテンツフィルタからウィルス検知も出来たり squidとURLフィルタリングを組み合わせたりすることもできます。

準備

スクリーンショット 2013 03 27 1 37

QPKGからまずはOptware-ipkgを導入します。これでパッケージ管理ソフトのipkgコマンドを利用することができるようになります。あまり高機能ではありませんがひと通りのことができます。

ipkg update
ipkg list
ipkg install (pakage name)

上記のような感じで使っていけば問題ないです。

広告ブロック (Privoxy) 

このソフトウェア自体は、単体でデーモンとして動作します。ユーザからのリクエストをPrivoxyで受信してその後後方のProxyサーバ(squid)へ転送するという流れです。Squidは必須ではありませんが若干でもキャッシュの有効性を信じて利用します。

正確には広告ブロックではなくて、Webのコンテンツ情報を書き換えるフィルタリングソフトです。フィルタの機能を利用して広告などの情報をブロックするのに利用します。コンテンツを参照した際、URLが *.action ファイルの定義にマッチすると該当するフィルタ *.filter が適応されてブラウザに返答します。この処理部分は正規表現で記載できるのが便利です。

Privoxyの導入/設定

# ipkg install privoxy

これで導入ができます。導入されたモジュールは /opt 以下に導入されています。設定ファイルは /opt/etc/privoxy/conifg に該当します。

listen-address  192.168.2.245:8118
buffer-limit 8192
forward	/	127.0.0.1:2345
forward 192.168.2.245	.

基本、そのままで動くのですがIPアドレス(これはローカルアクセスがディフォルトなので外部から接続できるように変更します。また後方のproxyにつなげるために forwardを追加します。2つ目のforwardは、仮にsquidが停止していた場合、qnapの管理画面にアクセスができなくなるのを防ぐために記載しています。

自動起動の設定

Qnapの自動起動は若干複雑です。他のサイトにも乗っていますが /tmp/config/autorun.sh という箇所に記載することになります。この際、この/tmp/configという場所に特定のデバイスが使用されるので注意します

今回の機種は 219のため記事を参考にすると

mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config

という感じで行うことになります。起動させるのは /opt/sbin/privoxy となります。

設定を追加する

実際にどのようになるのか追加してやってみます。したの画像はiPhoneでまとめサイトにアクセスした際に表示されています。これをフィルタリングしてみます。

写真 Skitch キャンバス

設定の仕方は色々ありますが簡単な方法で user.action に追加してみましょう

{ +block }
*.livede55.com*
*.bbchat.tv*
*.microad.jp*
*.maido3.*
*.accesstrade.net*
*.yicha.jp*

このようなブロックアクションを追加してみてください。広告自体のURLをしらなければいけないのが注意です。その他色々な広告のURLなどはネットに情報として上がっているので探してみるのともいいかと思います。

写真 Skitch キャンバス

再度アクセスするとこのような感じで広告が消えているのがわかります。

長くなるので一旦広告ブロックの Privoxyだけで終わっておきます。別のエントリーでコンテンツフィルタについても書きたいと思います。 子供がある程度大きくなった場合など有害なサイトをブロックする意味でも導入しておきたい機能です。

今回は Privoxy とバックエンドで Squid を併用していますが iOSなどブラウザでタブが移動するとリロードになる感じのはそれなりに恩赦を感じるのではないでしょうか? 


目次