この広告は365日以上更新がないブログに表示されます。

Posted by 滋賀咲くブログ at

RAID1NASの構築

2014年12月16日

1TBのHDDがぼちぼち一杯になったので、増設を考える。

同時に前々から冗長性を持たせたいとも思ってたので、RAID1にしてみる。

RAIDケースとしてはRS-EC32を選択。なんか安定感がありそうだったので。

内臓HDDはWDのREDの3TB。これの二本でRAID1を構築する。

RAID1モードへの切り替えは、ケースにHDDと電源をさした状態で切り替えボタンを3秒長押し。説明書にやり方は書いてある。

つないでみると2TBのHDDと認識されてしまったので、この辺を参考にGPTというディスクタイプに変更して3TBのNASとして認識させた。

sdparmコマンドを使ってcronで定期的にスピンダウンさせるようにしている。

あと、前回VBSで書いたTVRockの録画後の処理のスクリプトで、保存先フォルダの名前が化けてファイル移動が失敗する場合がありました。ファイル名の後に空白があった場合の処理を追加しました。


Set objFileSys = CreateObject("Scripting.FileSystemObject")

Set objParm = Wscript.Arguments

Set objRE = CreateObject("VBScript.RegExp")
objRE.Pattern = " +\\$"

WScript.Echo objParm(1)

Dim saveFolder
saveFolder = objRE.Replace(objParm(1), "\")

If Not objFileSys.FolderExists(saveFolder) Then objFileSys.CreateFolder saveFolder

nows = Right("0000" & Year(Now()) , 4 ) & Right("0" & Month(Now()) , 2) & Right("0" & Day(Now()) , 2)
nows = nows & Right("0" & Hour(Now()) , 2)& Right("0" & Minute(Now()) , 2) & Right("0" & Second(Now()) , 2)

outputFileName = saveFolder&objParm(2)&".ts"
If objFileSys.FileExists(outputFileName) Then outputFileName = saveFolder&objParm(2)&"_"&nows&".ts"


objFileSys.MoveFile objParm(0), outputFileName

Set objFolder = objFileSys.GetFolder(objParm(1))
txtFiles = ""
For Each objItem In objFolder.Files
txtFiles = txtFiles&objItem.Path&Chr(9)&objItem.Size/1024/1024&"MB"&vbCrLf
Next

Set objDrive = objFileSys.GetDrive("y:\")
textBody = objParm(0)&" saved."&vbCrLf&vbCrLf _
& "move to "&objParm(1)&vbCrLf&vbCrLf _
& txtFiles&vbCrLf _
& "Y:\"&vbCrLf _
& "all:"&Chr(9)&FormatNumber(objDrive.TotalSize/1024/1024/1024, 0)&"GB"&vbCrLf _
& "use:"&Chr(9)&FormatNumber((objDrive.TotalSize-objDrive.FreeSpace)/1024/1024/1024, 0)&"GB"&vbCrLf _
& "free:"&Chr(9)&FormatNumber(objDrive.FreeSpace/1024/1024/1024, 0)&"GB"

Set objMail = CreateObject("CDO.Message")
objMail.From = "(Fromアドレス)"
objMail.To = "(Toアドレス)"
objMail.Subject = "tvrock log"
objMail.TextBody = textBody
objMail.BodyPart.Charset = "iso-2022-jp"

strConfigurationField ="http://schemas.microsoft.com/cdo/configuration/"
With objMail.Configuration.Fields
.Item(strConfigurationField & "sendusing") = 2
.Item(strConfigurationField & "smtpserver") = "(SMTPサーバ名)"
.Item(strConfigurationField & "smtpserverport") = 465
.Item(strConfigurationField & "smtpusessl") = true
.Item(strConfigurationField & "smtpauthenticate") = 1
.Item(strConfigurationField & "sendusername") = "(メールアドレス)"
.Item(strConfigurationField & "sendpassword") = "(メールアカウントパスワード)"
.Item(strConfigurationField & "smtpconnectiontimeout") = 60
.Update
end With

objMail.Send

Set objMail = Nothing
Set objDrive =Nothing
Set objFolder = Nothing
Set objParm = Nothing
Set objFileSys = Nothing



LinuxでUSB接続でCSのチューナーが見つからない…

2014年09月26日

という記事。

24時間稼働させているLIVAがあるので、何をさせるのがいいのか考えたときに深夜アニメの録画サーバはどうかと思った。

しかし2コアの2Gなので性能的に同時録画は厳しいという書き込みをちらほらと見かける。(ギリギリいけたとの報告も)
それなら1つのチャンネル専用にすればいいということで、加入しているワンランク上ののAT-X専用の録画サーバにすることを考えた。

CS放送である。ちなみにアンテナは無いのでSD画質である…。

ということでチューナーを探す。

しかしこれがどうも見つからない。

Linux、USB、BS/CSチューナーという組み合わせが見つからない。

Windows8を買って入れてしまう方が手っ取り早いのかなと思い始めている…。

どうせなら秋クールまでに整えたいとも考えていたが、現状でも普通にBDレコーダーで録画していて別にそれに不満は、無いっちゃ無い(PC上で操作したほうが色々快適なんだろうけど)。

しばらく様子見。この辺がLinux対応してくれないかなあ…。


LIVAを買って色々したい

2014年09月20日

自宅のNASが遅い。

BUFFALOのルータWZR-300HPのUSBポートに1TのHDDを接続して簡易NASを構築して運用していた(PC、タブレットから動画、画像ファイル閲覧)が、どうにも遅い。しばらく我慢して使ってたけど、ぼちぼちこのストレスから解放されたい。
この辺のちゃんとしたNASを買った方がいいのかな。
と思って調べているうちにファイルサーバを構築するという道もあるということに気づく。
案外ベアボーンとかで自作する方が安上がりなんかな、と思ったけどそういうわけでもないらしい。

ただ、ここでLIVAという製品を見つける。
消費電力が3Wほどということで、常時稼動させても電気代にあまり響かないという点がいたく気に入る。
自宅にサーバを置くというのは前々からやってはみたかったけど、常時稼動させた場合の電気代がネックだった。
その他のベアボーンがメモリやストレージを買い足す必要があるのに対し、LIVAに必要なのはOSだけ。
NASを買ってしまうとファイルサーバとしてしか働かないが、LIVAにLinuxを入れれば他にも色々できそう。

ということでLIVAを買ってみた。

手乗りPC
手のひらサイズである。
冷却ファンが無いので無音である。
OSにはLinux系で動作が軽いというXubuntuとやらを入れてみる。もうひとつ上の軽さにLubuntuというのがあるが、まあそこまで軽くなくていいかなというのとデスクトップのデフォルト背景の青色を気に入った為(サーバとして使うのでデスクトップなんて見る機会は少ないだろうけど)。

この辺の記事を参考にブータブルUSBというのを作ってXubuntuをインストール。ここを参考にXubuntuを日本語化&キーボード設定。諸々のアップデートを済ませる。

ネットワーク設定でローカルIPを固定化。

ファイアーウォールの設定をufwコマンドで行う。この辺参考。とりあえずdefaultをDENYにして、ローカルIPの通信をオール許可という設定にしてみる。ちなみにUbuntu系ではrootユーザにならずにsudoコマンドを使うのを推奨してるらしいけど、面倒くさいのでrootユーザになって作業してる。

ウィルス対策ソフト…と思って調べてたら、どうもLinuxはそもそもウィルスの数が少ないため感染する確率はWindowsに比べずっと低いらしい。入れてない人も多いみたい。もちろん入れるに越したことは無い気はする。

無線LANを使いたい場合はこの記事

SSHでアクセスできるようにする。参考にしたのは多分この辺
鍵認証方式ではなく、パスワード認証で設定。起動確認後、試しにTera Termでアクセスしてみる。
ユーザ、パスワード入力後、しばらく間があってからコンソールが出てくる。
ここを参考に、DNSに問い合わせにいかないよう設定変更。しようと思ったらviの挙動がおかしかったので、vimをインストールしてから編集する。
結果、ユーザ、パスワード入力後すぐにコマンドが叩けるようになった。

ここまで下準備。

ここからファイルサーバを構築していく。

sambaをインストールする。ここ参考。

そういえばUSBHDDをマウントしていなかった。ここ参考。ただし、ファイルシステムはext4の方が主流らしい。あと自動マウントはこっちを参考。マウント元がsda1とかだと不十分。
もちろんHDDの中身はフォーマット前に退避させておく。

HDDをマウントしたディレクトリをsambaの共有ディレクトリとして設定。Windowsに退避させておいたファイル群をエクスプローラー上からそのままコピー。LAN内なので大きなファイルでは1Gbpsのほぼ上限の転送速度が出た。Windows、AndroidタブレットのESファイルエクスプローラー、iPhoneのFileExplorer(無料版)、そしてもちろんLinuxのエクスプローラーからもHDDのファイルにアクセスすることができた。

sambaの自動起動の設定をする。
自動起動の設定にはsysv-rc-confが便利とのこと。ここ参考。
sambaやらsmbやらsmb-ad-$やらそれらしいのがいくつかあるが、sambaを自動起動すればsambaからそのほかのサービスが立ち上がるようになっている様子。

以上でファイルサーバの構築は終わり。ルータにUSBを挿していた簡易NASと比べると相当速くなった感じ。
CrystalDiskMarkしてみた。ちなみにLIVAとHDD間のUSBは3.0。LIVAには2.0と3.0がひとつずつついている。



計測してる間の通信量を見てみた。



LIVAのCPU的には、

Seq read 65% write 50%
512K read 60~65% write:30%
4K read:23% write:10~25%
Rand read:99% write:5~20%

という感じだった。

ちなみにネットの記事を見てみると、BUFFALOの超高速モデルとうたってるNASでシーケンシャルリードが60MB/sほどらしいので、LIVAの自作NASが勝利している。嬉しいのでその他の記事も。ここでは負けてるけど、SMB2というプロトコルを使ってシーケンシャルリード以外を犠牲にしてるみたい。試してみようかな。

以下、おまけ。


リモートデスクトップ入れてみたい。この記事で面白いことやってる。
rdpをインストールする。ここを参考。
タブレットからもアクセスできた。



タッチパネルで操作も出来るけどそんなこと想定したUIじゃないからやってられない。USBに無線キーボード&マウスの受信機挿せばいける。

ちなみに



コンソール(物理)

続いてVPNで外からアクセスしてみたい。

ここ参考。
pptpdをインストールし、諸々設定。ルータにTCP1723ポートとプロトコル47番のポートをLIVAに転送するよう設定。
いざ別回線から自宅のグローバルIPとVPNの構築を試みる。
が、どうやってもタイムアウトする。そのときのエラーメッセージが

NetworkManager[777]: /sys/devices/virtual/net/ppp0: couldn't determine device driver; ignoring...

どうも新たにVPN用のppp0というネットワークインターフェースを構築しようとして失敗してる感じか。
この現象の報告がここにあって解答もついてるけど、なんか色々試しているうちにうまくいった的な感じで原因までわかっていないっぽい。

しばし、VPNは断念。