高森太郎のノート

このページについて

このページは、高森太郎がノート的に何でも書くページです。
主に勉強したこと、自分が知った知識や方法などを中心に、適当に、メモ的に、書き留めてます。

 | 

2015年09月25日 (金曜日)

[][]2015/09/25現在の自宅録画サーバの現状を整理してみる(Ubuntu14.04+PT3+KVM+Foltia) 2015/09/25現在の自宅録画サーバの現状を整理してみる(Ubuntu14.04+PT3+KVM+Foltia) - 高森太郎のノート を含むブックマーク はてなブックマーク - 2015/09/25現在の自宅録画サーバの現状を整理してみる(Ubuntu14.04+PT3+KVM+Foltia) - 高森太郎のノート

書く理由

最近自宅の録画サーバの環境をまとめてメモって公開するのが流行っているそうなので

http://vector.hateblo.jp/entry/2015/09/24/102145

http://pi9min.hateblo.jp/entry/2015/09/25/002206

自分も先人の皆様のお知恵をお借りしている身だし、駄文でも誰かの役に立つ可能性もゼロではないし、世界平和のためだそうなので晒してみる。

おことわり

なお、本稿にPT3やFoltiaなどの環境が出てきますが、これらは暗号化された録画データを戻す機能はありません

Foltiaのページに

本製品には不正競争防止法に定められている技術的保護手段回避装置としての機能は有していません。
と書かれているように、我が家の録画サーバで録画しているのは、ネットラジオと地元の自治体系CATVが流している暗号化が施されていないお知らせ放送や地域の話題のみであり、万が一それ以外のものが録画できている様に見える記載があっても、それは妄想であり事実ではありません。

また、本稿に出てくる「アニメ」とは私が作った英語っぽい伺かの造語、「Agriculture and Near area Information for ME」(農業と近隣地域の俺特情報)の略称であり、それ以外の何かには関係がありません。ご注意ください。

さてと。

前提

  • 毎日、放送されているアニメを録画しております。
  • ただ録画量は田舎故にあまり多く無く、通常一週間でTSが250GBぐらい。
  • 録画データはFlotiaが自動的にMP4にエンコードしてくれ、TSは基本消す派なので、1ヶ月で300GBぐらいのペースで容量増加中

サーバについて

メインサーバ

市販の安サーバなどではなくて、組みました。

理由は、演算サーバ的にも利用するのでパフォーマンスはできるだけ高くしたかったことと、RAID Z2にするためにはSATAポートの数+3.5インチベイの数がほしかったが、安サーバではそれが実現できそうな物が見当たらなかった事にある。

ProLiantnの300シリーズの中古も検討したが 面白くない 予算に合う物がなく断念した。

マザーボードZ97 Extreme6(←発売直後に喜んで買ったら初期不良だったので一回交換した)
CPUCore i7-4790K
メモリ8×4=32GB,DDR3(マザボ的に最大)
HDDWesternDigital RED 3TB (WD30EFRX) ×5
SSDIntel 530 120GB(ホストのシステム用)
Blu-rayドライブBDR-209JBK(←ぶっちゃけほとんど使ってないのでいらなかったかも)
グラボRD-R7-250X-E1GB ×2(パススルー用)
チューナーPT3
電源KRPW-PT800W/92+ REV2.0(←不良品引いた)
ケースCM 690 III
(ただし、この組合せだとマザボのPCIe用補助電源コネクタが、ケースの電源抑えに干渉するので注意。自分は4ピンをL字コネクタに変換できるケーブルをはさんで、ケースを削って対処した)
CPUクーラー虎徹 SCKTT-1000

サーバなのにグラボ2つとかイミフ、 RAIDZ2とかアホ? っていうかお前何クソ高いCPU積んでんだよ無駄だろ、などの部分は後記。

実は今まで安鯖を渡り歩いてきたため、ベースマシンがない自作ははじめてだったりする。マザーボードが初期不良を引いてしまい3回に2回ぐらいの割合で起動に失敗していろいろと参った。

ただ、ネットショップ(ツクモ)の人に手早く対処していただけたおかげで、大事にならずに済みました。感謝。

今だったらZ99系を使う所なんだが、時期的にはこれがベストだった(強弁

バックアップ用サーバ、及びNAS
サーバベースHP ProLiant ML110 G7 の一番やすいやつ
メモリ16GB
HDDWesternDigital RED 3TB (WD30EFRX) ×3 RAIDZ(RAID5相当)

HP定番の安サーバで、何も考えずに作り、何も考えずに動きます。優秀。

だけどもう売ってないんだよな…。ML310eがどっかでまた安く出ないかなと狙ってはいますが。

なお、同じ構成のNASが2台あり、片方は録画以外の用途の普段使いのNASとしています。

また、NTT-Xで当時、3台注文すると1台につき2000円引きなんてセールを使ったので予備機が1台あります。

なんで自鯖運用なの

そりゃもちろん安いから。

金金金 金金金 金金金金金金(三三七拍子のリズムで

そして、録画鯖は当然ながら外には出せません。アンテナにつながなければならないから。

また、このserverは、録画サーバ以外にも目的があります。それが不可能だから。

まずはどうしてもハードウエアのグラフィックス支援が必要な用途があり、GPUをパススルーする必要があったと言うところがあります。そんな変態サーバプランは個人で手が出るような価格では無理です。(NVIDIA GRIDとか使ったものしかない)また、Windowsを仮想環境に入れる場合、自分で所有していないレンタルサーバには原則、ライセンス上自分のライセンスを入れる事ができません。そんなこんなで、GPUを別にしても、レンサバ屋が用意したライセンスをお金出して借りる事になると、Windowsデスクトップ用途だと結構な金額になります。(月額3千円ぐらいから)

自分で所有し、自分でライセンスを用意するのならWindowsはサーバ版でなくてよいのでかなり安く作れます。

また、NASの運用も、今のサーバが2代目、初代から数えると運用はじめて7年目。それ以前に市販のNASを使っていた頃を含めばもう10年ぐらいになるのかも。

先代サーバのころは、タイで水害があったころのWesternDigital Greenを引いてしまい、8台中6台が2年で壊れるといった事で、落ち込んだりもするけれど、私は元気です。

そんなこんなもあって、WD Redシリーズで統一してます。

OS, FileSystem, Software

OS

メインサーバのホストはUbuntu Server 14.04 LTS に、Linux On ZFSを入れています。

他にもCent OSやらなんやら試したのだけれど、当時構成的に比較的新しいバージョンのKVM QEMUでないと駄目っぽく、これに落ち着きました。仕事でも使ってるし。

今思って見ると、作ったのは去年の7月ごろで、その頃、最新チップセットを搭載したマザーボードが出てから3ヶ月とかでした。そら安定性重視のディストリビューションでは動きませんわ、と言う話だと思う。

また、ヘタレなのでGUIを使っております。Ubuntu ServerにLXDEを入れてLubuntsu状態で、さらにVNCではなくxrdpを使っていると言うヘタレです。だってこっちだと何も考えずに音が通るんだもの。あとUnity。

KVMで仮想化というとプロが大規模に扱うケースが多いようで、ネットで公開してくださっている先人の皆様はコマンドで処理する方法の方が多いです。が、基本的にはVirt-managerは出来が良く、個人用途ならこれを使った方が楽だと思う。

NASの方は使い慣れたFreeNASを使わせて頂いております。

9.3になってからは

  • ブート領域もZFSになっていて、アップグレードに失敗しても古いスナップショットから起動できるようになってるんでお手軽にアップグレード
  • 故障する可能性が一番高い起動ドライブ(USBメモリ)のミラーリングが可能になってる
  • 試していませんがどうやらVirtualBoxを使って仮想ホストにもなれる

など、いろいろと良くなってます。正直、9になりたての頃はデフォルト設定だとsambaが暴走するとか言う頃もありましたが、今は安定してると思います。

各ソフトウエアの開発者の方に感謝。っていうかFreeNASの商用版が入ったやつ、日本でもどっか代理店になって売ったらどうですか。

filesystem

システムはext4で、ストレージはZFSです。

メインサーバはRAID Z2で、NASの方はRAID Z1です。

なんでZFSかというと

  • 以前からFreeNASを運用してきてなかなかに調子が良かった
  • ちょっと深い操作をするとコマンドを叩かなければならなかった昔のFreeNASでやってきたんでそれなりにコマンドが分かる
  • ftp.jaist.ac.jpの中の人の評価がよい
  • スナップショットを使うとゲストが簡単にクローンできるしバックアップできる

と言う所が大きいです。

そして、やはりFreeNASの存在は大きくて、メインサーバの方はシステムが死んでも、FreeNASをインストールしたUSBメモリをぷすっと刺すと、何にも考えずに自動でストレージを認識します。こんなふうに、システム間で互換性的にもそれなりに保たれているっぽいのもメリットとして考えてます。

(実は、ちゃんとアクセスできるかまではちゃんと試していない)

なお、なぜRAID Z2にしているかというと、気の迷い 以前WD Greenを引いたとき、次々に壊れる中で2台同時に壊れるのではないかとひやひやしたので。一つ目のドライブを交換して元に戻ったあと1週間もしないで次のドライブが故障して認識しなくなる、なんてことになった経験がありるためですかね。2台同時故障せずにデータが保持できたのは単に運だったと思っております。

もっとも、WD Redシリーズを使う様になってからはまだHDDは一台も故障を経験してませんが。

foltiaについて

主題の録画サーバは、ゲストにfoltia ANIME LOCKER(商用版)を入れて、そのまま使ってます。

https://foltia.com/ANILOC/

なかの人に感謝。感謝ついでに、MicroServerにプリインストールしたやつずっと品切れですが、早く追加生産してください。予備機に欲しいんです。

他にもLinuxを用いた録画サーバソフトはあるんですが選んだ理由としては一言で言うと趣味ですが、もうちょっと言うと

  • 録画はアニメが基本で、それ以外は言うほど使わない。
  • しょぼいカレンダーなど有志の方がなさっているサービスと連携し特化している
  • 仮想マシンで専用運用する事が前提だったため、OS込みのパッケージになっている方が選択しやすい
  • 有償版があるので、自然な形で開発者の方に投げ銭できる

といった事で選んでます。

KVM+QEMUの設定やパススルーについては、ググると先人の皆様の智恵があるのでそれを参考にしていただければと思います。自分がどんだけ説明してもそちらの方が分かりやすいので。

とにかく、何にも考えずにIOMMUを有効にし、Bridgeネットワークを設定した後、仮想マシンマネージャ(virt-manager)の機器追加にPT3が出てきたので、そのまんまぽちぽちとGUIでパススルー設定できました。

動作はかなり動作します。カードリーダーについても同様。(注意点としては、ホスト上でドライバなどはインストールしないこと。ドライバをインストールしてしまうとそれを差し替えるとかいろいろと呪文が必要になる模様)

また、録画先のストレージはホストに共有を設定して、その領域を使う様にしています。

録画サーバの設定などは全部Foltia任せで何にも考えずに基本デフォルトを受け入れています。非常に快適。勝手に録画してくれるし、エンコードしてくれるし、DLNAも共有も出してくれるので楽。こんなに頼り切っちゃっていいのかしらほんと。

Foltiaでは、エンコードはHDで出力するオプションなどもあり、その上で味付けに不満がある場合はソースコードいじれば設定変更できるみたいですが自分はやってません。

ただ問題になったのが2つあったのでここにメモ。

一つ目は今ではすでに問題にならないことだと思われるけど、仮想マシンを作成した当時は、ブート用のCent OSのバージョンが低くてインストールできない症状に嵌まりました。当時の対処方としては、準仮想化系やパススルーを全部切った状態の仮想マシンにインストールして、Foltiaがひとまずインストールされたあとに復活させると言うやり方で上手くできました。ただ、現在はブートのOSも新しくなっているようで、問題ないかも。

もう一つ嵌まったのがCMカット機能。

結論から言うと、仮想マシン上のFoltiaでは、Wineで動いているので、CMカット機能は無効にしておく方が無難だと言う事ですね。

CMカット機能とは、最新のFoltiaには搭載さている目玉機能の一つ。特にここで魅力的なのは、カットして消すだけではなく、カットして自動的に一番最後にまとめて移動させる事も可能という「わかってるな!」と言う所です。

喜んで使おうとしたのだけれど、これが上手く動かなかった。

当初稼働し始めた時は

  • 録画は順調に行われるのに、エンコードが詰まったまま進まない
  • CPU使用率が100%に張り付いたまま
  • FAQやマニュアルを参考につまりを除いてもやっぱり詰まる
  • ただ、その状態で2,3日置いておけばエンコードが終わっていることがある

と言う事がおきて、原因がわからなかった。

サポートに連絡しても良かったのだが、それはなんだかもったいない(???)ので

また、Foltiaは実際の所、オープンソースソフトウエアの組合せで構築されており、内部はシリアルナンバー認証機構以外の部分は全部ソースコードが読める状態になっていたので、それを追ってみた。

すると、どうやらCMカット機能はWindowsのバイナリをWineで動かしているよう。どうもそのプロセスが詰まっているようだったので、CMカット編集機能を止めた。

ただ、Foltiaの仕様上、CMカット編集を始めとした再エンコード時の設定は、録画予約時にまとめて行われるようになっていて、CMカットを止めても、引き続き次のTSに対してCMカット機能をしようとしてしまって戻らない状態にも。

当時はまだGUI上で録画済みのデータの再エンコード設定をやり直す方法がなかった。ので、さらにコードを読んで、内蔵されているPHPMyAdminから直接DBを編集して対処しました。今だとGUIが作られているので、一つずつCMカットを解除してやれば良いと思われますが。

この件の教訓は、Foltiaは中身を覗けるので、いざとなれば直接いじれるのは有利だと言う事。最後に手段があるのはありがたいね。

この他は、Foltiaは問題らしい問題はおきていない。非常に快適です。


その他のゲストについて

録画鯖以外に、Windows 8.1 pro入りの仮想マシンと、Ubuntu 14.04ベースのOpenCAE用の仮想マシンを使っています。

これらには、それぞれ物理GPUをパススルーして接続してます。

GPUのパススルーもPT3と同様に、ホスト側で一切ドライバなどを入れずに、そのまま仮想マシンマネージャーで追加したらあっさり認識しました。

Ubuntu 14.04ベースの仮想マシンの方は当然ながらKVMとの相性が抜群で、全く問題なく動いています。

Windowsのほうもドライバをきちんと入れ、GPUも正常に動作。FreeCADBlenderも新しいシムシティも、各種3Dベンチマークも、カスタムメイド3Dも、3Dカスタム少女も動いてます。(カスタムメイド3D2は直接操作すると正常に動いているが、リモートにすると何故か3Dの状態でマウスを認識してくれないと言う状態に陥り中、悩み中。問合せしたら「仮想マシンなどでの動作は保証しない」って明示されてしまいました。ま、そりゃそーですよね。)

ただ、Windowsの仮想マシン

  • 起動に5分ぐらい時間がかかる
  • 起動直後が異様に重たい(ストレージがアクセスしっぱなしになる)
  • ファストブートをONにすると2回に1回ブルースクリーンになる
  • ゲストをシャットダウンした後、ホストを再起動せずに再びゲストを起動するとホストまで巻き込んで全部死ぬ上GPUが暴走する

等、何か地雷を踏んでいる気はしている。まぁそこは運用でカバー(いいのか?

また、Windowsは普通のWindows 8.1なので、1コアを1ソケットと認識します。そのため2コアまでしか割り当てができないのもアレといえばアレだが用途的にそれで十分なのと、これを解決するにはServer向けOSを用意しなければ鳴らず、お金もかかるしでこれも保留(いいのか?

さて、なんでこんな構成にしているかというと、いわゆるVDIサーバ的に使いたかったからです。

自分はほとんど趣味で、オープンソースソフトウエアをつかった、コンピュータ工学シミュレーションをやっているのだけれど、これがとにかく重たい。計算負荷がでかく計算に時間がかかるし計算結果は膨大になる。突き詰めればスーパコンピュータなんて世界になります。これをモバイル環境で実現しようとすると、ゲーミングPCやモバイルワークステーションが必要になる。前はがんばってモバイルワークステーションを持ち歩いていたのだが、いい加減しんどくなり、また最近は立ち寄り先にWifiが利用できるようになりつつあり、現実的な速度でリモートで接続が現実的になったのでこんな風にしてます。

この世界だともともとVDI的に接続するのはかなり行われていて、HPC等は基本このやり方です。また、最近AWSなどクラウドリソースを使って似たような事をやろうと言うソリューションが花盛りだったりしますが、どれも個人が自分でやると言う様な設計にはなっていないので、自分でやってみたというわけですな。自分はシミュレーションですが、例えば3D CGなどをやる人も、結構つかえるんじゃないでしょうか。一度LAN内部に世俗できてしまえば、あとはこのサーバからWoLで必要なマシンをたたき起こして、そちらに投げて演算させて戻す、といった事もできます。

あと雑多とした注意点とすると

  • ホストにGPUのドライバ、インストールしてしまうとパススルーに失敗するので注意。特にプロプライエタリのドライバは消しにくい。(きれいに消せばいいと思うが自分は面倒臭くなってOS再インストールした)
  • GPUNVIDIAではなくAMDを選んだ理由は、KVMでパススルーするならAMDのほうが成功率が高いらしいと聞いたから。
  • マザーボードのBIOS/EFUIでVT-Dを有効にするのを忘れずに。初期は無効になってること多い
  • マザーボードのBIOS/EFUIでメイン画面をオンボードにする事を忘れずに。そうしないとホストにGPUとられちゃってパススルーに失敗する。そしてその状態だと自動的にプロプラドライバ進めてきてうっかりインストールすると…。
  • パススルーしたいデバイスをPCI-eのブリッジチップを介してるスロットに刺すと、ブリッジチップごとパススルーしないと認識に失敗するっぽいので、CPUに直結しているPCIeのポートに指す方が無難(やってできない事は無いよう)
  • リモートでの使用が基本。ソフトはTeamViewerを利用している(RDPだとハードウエアGPUが有効にならない)この時、GPUをディスプレイに接続しておかないと画面が有効にならないので注意。 自分は EDID制御機能付きのディスプレイ切替機を接続している。
  • LANへの接続は、BUFFALOの格安VPNルータ、VR-S1000を使ってL2TP/IPSecで接続してます。
    • L2TP/IPsecにしたのは、今となってはこれがセキュアさと設定の手軽さのバランスがとれていたので
    • ヤマハじゃないのはお金がかかるから。あとアクセスは最高でも同時3つまでなので。
    • サーバにVPNサーバを組み込んでないのはVPNが死ぬと手も足も出せなくなるので、専用品のほうが安定しているから
    • 回線のホームゲートウェイに付いてる機能を使わないのはいくらなんでも遅いため
    • 以上は全部表向きの理由で実際は使って見たかったから(ォィ

バックアップについて

基本的には領域を適宜バックアップ用のNASにスナップショット転送してます。

さらに、録画したデータのなかでお気に入りのデータはさらにNASに手動でコピーして、場合によってはちょいちょい編集して整理しています。

なんでNASにコピーしているかと言うと、バックアップもそりゃあるんですが、FreeNASのプラグインにPlex Media Serverというのがあり、これがなかなか優秀なためです。日本ではあまり知られてないけども、Webインターフェイス、DNLAは当然として、iOS,Android、そしてAndroid TV向けのアプリもすでにあるそうです。これをFreeNASの場合は半自動でインストールして使える様にしてくれます。便利です。

動画などのクラウドバックアップは諦めてますが…Google Photoとか。検討してみましょうかね…。

普通のファイルのバックアップはOne Driveを使っていますがWindowsとくっつきすぎていて使いづらい気がする。

アラートについて

なにそれおいしいの?

あ、FreeNASはアラート出してくれます。

経験した故障について

電源の故障があり、交換した、と言う話だが故障切り分けをしたのでメモ。

使用から1年したころ、GPUが認識しなくななりました。

BIOSからもトラブルの当初は認識していたが、次第にBIOSからも認識しないと言う状態に陥りました。

ただ、この時は取り急ぎパススルーからGPUを外したら素直に動き、また録画鯖の方のPT3は正常に動作していたのでそのまま放置。しかし、しばらくしてサーバがうんともすんとも言わなくなりました。完全に電源が入らない。

そこで以下のような形で被害探求をしました。

  • マザボから全部外す。電源もマザボ行きライン以外全部外す
  • CMOSクリアをする。(なお、CMOSクリアボタンがバックパネルにある事は全てが終わってから気づいた模様)
  • この状態で、一度電源ケーブルを抜き、放電させてからマザボ上のスイッチで電源をONにすると、一瞬(一秒も満たないレベル)CPUファンが動くがすぐに止まる。
  • 全部外して、ATX電源のスイッチのピンをショートさせてみたが電源が全く反応なし

(ご参考: http://jisaku-pc.net/experimental/0004.html 感謝)

そこで、電源その物は3年保証だし、悪評が出ているものではないので、単なるエラーだと判断してまったく同じものを注文して差し替えたところ、正常に動作するように。

そういえば、以下のような心当たりがあった。

  • GPUのパワーを使う様な動作をさせると、PT3の録画が一部飛んでしまうことがあった
  • 2つの仮想マシンで同時にGPUを使うと、ホストが再起動する事があった

これらももしかしたら、電源が故障し、PCIe補助電源を正常に供給できなくなっていたことが原因なのかも。と言うわけで、GPUがおかしくなったと言う場合、電源が障害の原因ってこともそれなりにありそうです。

この故障した電源を取り外して、ファンの隙間から見てみると、アルミのヒートシンクの部分に黄色いシミのような物がついておりました。

どうも、どこかのコンデンサが液漏れを起こしたっぽい?

これもツクモ経由でメーカに返送して修理してもらう予定。

今後の課題について

  • マニュアルなし。今から再構築しろと言われてもたぶんできない
  • バックアップ鯖のほうが容量が小さいので破綻が近い
    • ML310eが安く出たら速攻でGetしてリプレイスしたい(無茶
  • クラウドバックアップ、重要なデータだけでもなんとかしたい
  • UPSのバッテリーが死にそうなので買い換えたい。
  • FreeNAS構築記事のあたらしいの書きたい。
 | 
ページの一番上へ