NASを設定してみた。
たまに自宅でMac間でファイルをコピーしたいと思うときがあり、FreeBSDなMicroserverにZFSなNFSを設定しているのですが、小さいファイルのコピーが多いので、わざわざMicroserverを起動するほどの事でもなく、中古MIPSルーターにUSB HDを接続してNFSサーバを設定してみました。
ファームはもちろんFreeBSD/12-CurrentでZRouterでビルドしてこのためにnfs_serverというprofileを追加してみました。
netatalkもちょっと見てみたのですが、ビルドが面倒なのであきらめました。Mac OS Xになってnfsも使えるようになったので、nfsではなくnetatalkにするメリットってあるのでしょうか?
一般的にNASは24時間稼働することが一般的のようですが、自分の場合それほど使わないのに24時間運転はかなり無駄に思います。このため通常時はNFSは起動せずに、ボタンを押すとNFSをONにして、もう一度ボタンを押すとOFFになるようにしてみました。OFFの状態ではストレージのUSBハードディスクの電源を落とせますし、本体の電源をそのまま落としても問題ありません。先日書いたevdevについてのメモはこのための下調べでした。
#!/usr/local/bin/mruby
led = 17
nfs = 0
gpio = BsdGpio.new(0)
gpio.setflags(6, BsdGpio::OUTPUT)
gpio.set(led,1)
`killall mountd`
bin = File.open("/dev/input/event0", "rb")
while ev = bin.read(24)
typecode = ev[16,4].unpack("S*")
val = ev[20,4].unpack("L*")
if typecode[0] == 0x04 then
if val[0] & 0x02 == 0x02 then
p "AOSS"
if nfs == 0 && File.exist?("/dev/da0") then
`mount /dev/da0 /mnt`
`mountd -r`
gpio.set(led,0)
nfs = 1
else
mo=`showmount | grep -v -c "^Hosts"`
mo.chop!
if mo.to_i == 0 then
`killall mountd`
`umount /mnt`
gpio.set(led,1)
nfs = 0
end
end
elsif val[0] & 0x04 == 0x04 then
p "USB"
elsif val[0] & 0x08 == 0x08 then
p "RESET"
end
end
end
ディスクはnewfsでufsにしてあります。
showmountでマウント中のホストを確認し、ある場合は停止できなくしています。
ストレージは昔買って使っていなかったIDE 3.5Inc,160Gが入ったUSB HDを使いました。中にはMaxtorが入っているのですが、このハードディスクはとても熱をもつので、常時稼働はさけたいと思っていました。良い利用方法が見つかりました。
このハードディスクは昔懐かしい、IED 3.5incのディスクが入ったUSBドライブなのですが、結構な発熱しているので、完全に電源断にしたいと思ったのものひとつの理由です。
このMIPSルーターのSOCはAtherosのチップで、sys/mipsでatherosは一番活発にメンテされていてUSBやEthernetも十分安定しています。
ワットチェッカーで消費電力を調べてみました。
状態 | 消費電力 |
---|---|
NFS OFF | 3W |
NFS ON | 18W |
電源 OFF | 0W |
NFS OFFを忘れて電源を落としてしまうと次ぎにONにするときにmountできなくなるので、そのときはcliでfsckを実行します。
NFS OFFの時にもEthernetのSwitchとして機能しているので、3Wも無駄になってるわけではありません。
何よりこの仕組みの良いところは完全に電源を遮断できるところです。私は就寝前にネットワーク関係は電源を落としているので深夜帯は0Wで運用できます。
最近のNASは省エネ化が進んでいるようですが待機中に0Wにすることは不可能です。明示的なON/OFFにまさる節電方法は無いように思います。
1000baseTで接続されたMACからファイルを書き込むと落ちてしまうので、コンソールを確認したところkern.ipc.nmbclustersが足りてませんでした。とりあえず1220から5000にしたら、落ちないようです。
Author And Source
この問題について(NASを設定してみた。), 我々は、より多くの情報をここで見つけました https://qiita.com/yamori813/items/b8e3274d0b2eab71ef89著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .