自宅サーバを仮想化しよう3-I/O高速化編・パススルー失敗

Posted on 2013/11/25 (月) 1:47
Filed Under 技術, 日記 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

前回「ディスク編」の続き。
高いRAIDカードを買うという解決方法はひとまず考えずにIOを高速化する方法を考える。
ESXiの上のVMにSATAをパススルーしてZFSでミラーしてiSCSIでESXiのデータストアにする、というアイデアを思いついた。
めんどくさいので絵とかはない。

というわけでさっそく実験。なかなかうまく行かない。

【失敗】Sil3132 SATAカードを挿してそこを起動ディスクに、オンボードSATAをパススルー
起動ディスクはなんでもいいので余ってたSil3132のPCIeカードを挿してテスト。
まずSil3132カードが認識されない。
原因はPCIe Gen1をAutoだと認識に失敗していたため。
参考リンク:「NEC Express S70/タイプhfで認識しないSiI3132チップ搭載eSATAカードの問題(解決) - tuedaの日記
ようやくSil3132が認識されてESXiインストールして起動してきたので、オンボードのLynx Point AHCI Controllerをパススルーしようとしたらパススルー選択肢に出てこない。
さっと調べてみると全世界的にHaswell SATAはパススルーできてないようなので諦めて次へ。

【失敗】Sil3132 SATAカードを挿してそこをパススルー、オンボードSATAを起動ディスクに、逆にSATAカードの方をパススルーに。
なぜかパススルー設定して再起動しても設定を忘れる現象と、SATAポートが起動タイミングによって見えたり見えなかったり、ESXiメンテナンス用NICの設定がしょっちゅう変わってしまうというナゾの現象に遭遇、まったく安定しなかったんでこれもまた諦めて次へ。

【失敗】ASM1061 SATAカードをパススルー
ESXi5.1でeSATAカード(ASM1061)をパスするーしてFreeNASから使ってみる - tuedaの日記」という記事を見つけたので早速ASM1061カードを買ってみた。

エアリア TWIN TURBO HYBRID TYPEB PCI Express x1 接続 Asmediaチップ搭載 SATA3 eSATA2ポート 内部SATA2ポート ジャンパー切替 最大同時使用可能2ポート SD-PESA3ES2L



パススルー設定してカードはPCIデバイスとして見えているのだけど初期化に失敗した系ログで接続したディスクが見えずVM側から利用ではない。ドライバのあるopenindiana,FreeNAS(FreeBSD),CentOSのいずれのVMからも同じ症状。
物理マシンとして起動するとドライブ見えるのでもうESXi5.5のバグということにして諦め。

次回RDM(Raw Device Mapping)編に続く!

自宅サーバを仮想化しよう2-ディスク編

Posted on 2013/11/12 (火) 12:52
Filed Under 技術, 日記 | 1 Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

前回の続き。
ハードウェアを組み上げて、仮想化ハイパーバイザはVMWare ESXi 5.5(無料)を選定してダウンロードした。

まず、ダウンロードしたてのESXiインストーラisoで起動すると、SuperMicro X10SLM+-LN4F オンボードNIC intel 210ATを認識しない。これが第1のつまづき。
VMWare公式ドライバ、「ESXi 5.x driver package includes version 4.2.16.3 of the Intel igb driver」を「VMware Front Experience: ESXi-Customizer」で入れて、isoをビルドし直す。

ESXiインストーラを起動して、起動ディスクはオンボードのintel RST RAID1でミラーリングでもしておけばいいかな、と気楽に考えていたらこれが第2のつまづき。VMWare ESXi 5.5はRSTのRAIDを認識しない。

仕方ないので安いハードウェアミラーリングカードRAID計画壱号機改を買い足した。 台湾IOI Technology の「RAID Controller | eSATA & USB 3.0 to Quad SATA II RAID Bridge Board | ESU3-QS201-R5」のOEMっぽい。

RAID計画壱号機改
RAID計画壱号機改

発売:CMインダストリー
発売日:
定価:オープンプライス
ASIN:B0067G1Y92


このカードが非常に使い方が難解なのでざっくり使い方を書いておくと、モードを切り替える(ディスクは初期化される)ときには
1.ロータリースイッチをPMに合わせて通電しながらCHANGE MODEボタンを数秒押す
2.ロータリースイッチを目的のモードに合わせて通電しながらCHANGE MODEボタンを数秒押す
を1から実行する必要がある。

そして、よく見ると、Faultしたときに、どのドライブを交換すればいいのかわからない。
そこで秋葉原の千石電商で50円のコネクタ付きケーブル4本と15円のLED4つを書い足し。

試しにこんなかんじに接続してテスト。動いたらショートしないように足を切って短くするか、熱収縮チューブあたりで絶縁すると良いかもしれない。

これで起動ディスクが冗長化されたんで、ESXiを入れて、VMを作ってWindows8 Enterprise 64bit評価版を入れて、まずディスクのベンチマークをしてみた。

これはちょっと実用にならないくらい遅い。

念のためRAID計画壱号機改を外してHDDを直結してみてもやっぱり遅い。

しかも、RAID計画壱号機改は起動時に認識しないことが度々あって解決方法が全くわからない。
起動できない時には何度か再起動してればいつかESXiが起動してくるのだけど、なぜか同じディスク内に作ったデータストアが見えなかったりする。そんな時も何度か再起動しているとたまに見えるようになる。なんなのだ。

というわけで、I/Oを高速化するための長い戦いが始まったのである。

次回に続く!

自宅サーバを仮想化しよう1-立志篇

Posted on 2013/11/10 (日) 22:59
Filed Under 技術, 日記 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

(CV:田口トモロヲ)
自宅サーバ。
生活とともに台数は増え、増える傍から老朽化が進み、誰もが管理に頭を悩ませてきた。古いサーバは性能も出ずに電力効率は悪く場所を取る。
仮想化しての集約が求められた。
高いパフォーマンス、堅牢な信頼性、低廉なコスト、相反する厳しい水準が要求された。
これは仮想化を目指しながら一筋縄では行かなかった苦難の記録である。
-BGM:中島みゆき:「地上の星」(YouTubeで地上の星 / 中島みゆき [公式] を視聴)

とおもったけど文が続かなかったんで、まず設計方針として、こんな感じにした。
・録画機以外のNASを含めた主要サーバ類を集約化する。
・新NASはストレージをhp microserver的なものでiSCSI TargetとしてNAS本体でまとめてストレージプールとする。
・家庭用なのでコストが大事。
・信頼性とパフォーマンスも大事。→メンテで止めてもいいがデータは失われないように。

ということで予算を考慮して主要パーツの選定から始める。

マザーボードはリモートからの管理のためIPMIが欲しかったので選択肢が割と少なく、定番のSuperMicroからHaswell Xeon シングルソケット(UP LGA1150)、4NICのX10SLM+-LN4Fを選択。

SuperMicro MBD-X10SLM+-LN4F-O Xeon E3-1200 v3対応 UPサーバーボード X10 日本正規代理店品 MB2026 MBD-X10SLM+-LN4F-O


CPUはHaswell世代の4C/8T Intel Xeon E3-1230v3 3.3GHzあたり。
(Amazonになかった)→価格.com Xeon E3-1230 v3 BOX

CPUクーラーは空冷に比べて静かかなー?と思ってメンテナンスフリーの水冷キットCoolerMaster Seidon 120M

Cooler Master 【HASWELL対応】 CPUクーラー RL-S12M-24PK-J1
Cooler Master 【HASWELL対応】 CPUクーラー RL-S12M-24PK-J1

発売:CoolerMaster
発売日:
定価:オープンプライス
ASIN:B00AOEWCWG


ケースは静音そうだったCoolerMaster Silencio 550

CoolerMaster Silencio 550 ATX /MicroATX ミドルタワー静音タイプ 型番:RC-550-KKN1-JP
CoolerMaster Silencio 550 ATX /MicroATX ミドルタワー静音タイプ 型番:RC-550-KKN1-JP

発売:Coolermaster
発売日:2011-07-15
定価:¥ 11,979
ASIN:B004WPBD96


ハードディスクはNAS用で24時間通電でも寿命が長いという触れ込みのWestern Digital WD RED 3TBを2台。

WD Red 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA3.0 WD30EFRX
WD Red 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA3.0 WD30EFRX

発売:WESTERNDIGITAL
発売日:
定価:オープンプライス
ASIN:B008P56QEQ


ディスク交換をラクチンにするためにホットスワップ対応ケースをなんでもいいんだけど今回はSilver Stone FP57を選択した。

Silverstone 5インチベイ用 ホットスワップユニット SST-FP57B
Silverstone 5インチベイ用 ホットスワップユニット SST-FP57B

発売:Silver Stone
発売日:2011-09-02
定価:¥ 2,480
ASIN:B005J2WQ3I


メモリはECCで32GBでマザボに載るならなんでもいい。

SanMax サーバー/ワークステーション用メモリ Micron DRAM/サーマルセンサ搭載 DDR3-1600(PC3-12800) U-DIMM ECC対応 CL11 32GB(8GB x 4枚)セット 1.5volt JEDEC準拠 SMD-32G28ECP-16K-Q


電源も500W位でなんでもいいんだけど今回はENERMAX PLATIMAX500Wを選択した。

ENERMAX【HASWELL対応】PC電源 PLATIMAX500W EPM500AWT
ENERMAX【HASWELL対応】PC電源 PLATIMAX500W EPM500AWT

発売:ENERMAX
発売日:2011-12-03
定価:オープンプライス
ASIN:B005ZXUARU


次回へ続く!

foltiaで全自動CMカットを実現しよう

Posted on 2013/10/15 (火) 3:46
Filed Under foltia | 1 Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

民生機ではわりと一般的になってるCMカットを実装したくて色々調べていたら、2ちゃんねるのCMカットスレで良さそうな情報を見つけた。

536 :名無しさん@編集中:2013/10/05(土) 22:23:02.74 ID:iNl1yeOz
comskip81_056を一日弄っていたけど、CMスキップ楽勝だね、アニメじゃなくても。
先人に感謝。
detect_method=255、min_show_segment_length=125、punish=28
.vdr(output_vdr=1)で出力すると加工は楽です。
自分はバッチでchapters.txtにしてから、空橋さんの「gen_.chapters.txt_to_.chapter(チャプタースキップ用)b.bat」を通してTVTplayで見ている。
Avisynth要りません。まあcomskipはtrimコマンド出力できるので入用な人は大丈夫ですね。

http://toro.2ch.net/test/read.cgi/avi/1140501201/536n

ほほうと思って試してみたところとりあえず動いたのでメモ代わりにここに書いておく。

試した環境:CentOS6.4/64bit,ffmpeg1.2.5,comsip81_0.56(comskip.org)、comskip.iniに536さんの設定を書いた。

手順1:TSからCM検出する。

wine /home/foltia/comskip81_056/comskip.exe -t -d 255 -v 2 --zpcut --zpchapter --videoredo --csvout --quality --plist --ini=comskip.ini ./3027-12-20130924-0135.m2t

#必要ない形式のカットファイルも吐いてるんで、そのうち見直す。

手順2:検出された本編部分を切り出す。

ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:01:02.56 -t 00:00:36.72 -sn ./3027-12-20130924-0135_0001.ts
ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:02:39.46 -t 00:11:02.63 -sn ./3027-12-20130924-0135_0002.ts
ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:15:12.88 -t 00:12:46.87 -sn ./3027-12-20130924-0135_0003.ts

ffmpegが理解できるタイムスタンプの形式がcomskipで吐いてくるのとは若干異なるのでいまんところちょっとした計算が必要になる。

手順3:切り出した本編をくっつける。

ffmpeg -i "concat:3027-12-20130924-0135_0001.ts|3027-12-20130924-0135_0002.ts|3027-12-20130924-0135_0003.ts" -c copy 3027-12-20130924-0135-CUT.ts

concatオプションが使えるようになったのがffmpeg1.1以降らしいのでそれ以降のもので。

上のサンプルで作ったのをDLNA経由でPS3で再生したのがこの画面。30分アニメの尺が24:26に短くなってるのがわかる。
foltia CMカット

ffmpegはGOP関係なく指定したタイムスタンプでぶった切っているようなんで、そのへんは今後の課題の予定。mencoderはスマートなんとかで切れる説も。

TSをCMカットせずに、MP4にチャプタを入れたい場合は、ググればMP4Boxでチャプタを追加するようなやり方が見つかりそうなんでその辺を参考に。

おまけ
当初、mencoderにedl読ませてカットしようとしたらなぜか途中までしか処理されなかった。avidemuxでカット編集しようとしたらクラッシュして正常動作しなかった。mplexもSegmentation Faltを起こして期待通り動作しなかった、mkvmergeは複数のmkvを連結するような機能はなかった、などいろいろ試して上の結果となった。

CentOS5からCentOS6へLVMを持って行ったら認識しなくなった時の解決方法

Posted on 2013/10/11 (金) 17:27
Filed Under 技術 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

CentOS5で使っていたマシンのOSをCentOS6に入れ替えようとして、CentOS6で起動したらいままで動作していたLVMが認識されなくなった。
構成は次の6台
2TB(起動ディスク)
3TB
2TB
2TB
2TB
3TB

CentOS6で起動するとこんな状態になっていて、PVが2本見つからないと言い出し3TBドライブがunknown deviceになっていた。

#内容のコピペがなくスクショしかなかったのでこれで。

結論から言うと、CentOS5上では動いていた、3TBディスクの上にGPTパーティションテーブルで1パーテーションをつくり作成したPV(作成例:pvcreate /dev/sdf1)がCentOS6では認識されていなかった。
ので、CentOS5上でpvmoveを駆使して、3TBドライブをドライブ全体をPV作成例:pvcreate /dev/sdf)にする構成に作り直したところ、無事にCentOS6上でも全PVが認識され、VG,LVもそのまま認識された。めでたしめでたし。

参考:「4.2. 物理ボリュームの管理 - Red Hat Customer Portal

ところで、CentOS6.3/RHEL6.3からLVMが冗長構成を取れるようになっていたのを初めて知った。そのうち検証する予定。
4.4.15. RAID 論理ボリューム - Red Hat Customer Portal

foltiaでのしょぼカルスケジュールをEPGデータを利用して検証しよう(1)

Posted on 2013/08/06 (火) 2:32
Filed Under foltia | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

foltiaはしょぼいカレンダーからアニメのスケジュールを取得している。
すごい便利なしょぼカルだけどデータの更新が人力なため、いつ終わるのかわからないスポーツ延長の時などにたまーにスケジュールの更新が追いつかないことがある。
とゆーわけで、EPGデータをもとにしょぼカルスケジュールを確認してみる方法を考えてみた。

1.録画予定のチャンネルで開始時刻と終了時刻がしょぼカルスケジュールとEPGデータとで等しい
2.番組名が等しい
→放送スケジュールは正しい。

しかし、EPG番組表の表記はかなりゆらぎがあるんで、しょぼカルに登録されているタイトルと同一番組でも一致することは少ない。

例えばこんなかんじに。(上:しょぼカル 下:EPGタイトル)

超次元ゲイム ネプテューヌ THE ANIMATION
超次元ゲイム ネプテューヌ #5

すすめ!キッチン戦隊クックルン
すすめ!キッチン戦隊クックルン「うどん怪人にあったか〜いプレゼント」

黒魔女さんが通る!!
大!天才てれびくん ▽難関ダンスで真剣勝負 ▽魔女 ▽ワル

なので、String::Trigramを利用して類似度のスコアを判定することにする。
十分スコアが高ければ番組名が正しいとする。

1.2.どちらかが偽であったら、しばらく先のEPGデータを調べて、しょぼカルスケジュールのタイトルと比較して最も類似度の高い番組名を探って、そこに移動したと判定する。

という方針でテストプログラムを実装してみた。

条件1.2が完全に一致した例。

1:3021:きんいろモザイク:きんいろモザイク:201308060030:19
chk_pid_broadcast_schedule() EPG Frame mutch.きんいろモザイク,きんいろモザイク
chk_pid_broadcast_schedule() EPG Frame mutch.1
chk_pid_broadcast_schedule() 1 is hight ,may be not moved

条件1が満たされ、条件2でのスコアが高かった例。

1:2976:すすめ!キッチン戦隊クックルン:すすめ!キッチン戦隊クックルン「うどん怪人にあったか〜いプレゼント」:201308060645:2
chk_pid_broadcast_schedule() EPG Frame mutch.すすめ!キッチン戦隊クックルン,すすめ!キッチン戦隊クックルン「うどん怪人にあったか〜いプレゼント」
chk_pid_broadcast_schedule() EPG Frame mutch.0.36697247706422
chk_pid_broadcast_schedule() 0.36697247706422 is hight ,may be not moved

条件1は満たしたけど、条件2で類似度スコアが低かったんで他に移動してないか調べに行った例。

1:2479:黒魔女さんが通る!!:大!天才てれびくん ▽納涼&爆笑!お化け屋敷でQ ▽魔女:201308071820:2
chk_pid_broadcast_schedule() EPG Frame mutch.黒魔女さんが通る!!,大!天才てれびくん ▽納涼&爆笑!お化け屋敷でQ ▽魔女
chk_pid_broadcast_schedule() EPG Frame mutch.0.0625
chk_pid_broadcast_schedule() Score : 0.0625.
大!天才てれびくん ▽納涼&爆笑!お化け屋敷でQ ▽魔女:201308071820
テクネ 映像の教室「スペシャルⅡ」:201308071855
ビクトリアス(43)「おかしな1日」:201308071925
リトル・チャロ4(日本語版)「Ep18 ふたつのソーセージ」:201308071950
まいにちスクスク ジュニア“ゲームとのつきあい方”(3)▽暴力的にならない?:201308071955
ハートネットTV リハビリ・介護を生きる「リハビリを楽しく」(2):201308072000
きょうの健康 正しく向き合う 認知症「周囲と一緒に 生活を維持」:201308072030
NHK手話ニュース845:201308072045
きょうの料理 旬を味わう「簡単下ごしらえ かぼちゃのスピードレシピ」:201308072100
きょうの料理ビギナーズ「使ってみよう!ビーフン大活躍」:201308072125
Max score:0.0625
Return value:201308071820
chk_pid_broadcast_schedule() May be NOT moves.

手元だと、延長等で移動してる例が見つかんなかったんでその場合の判定がまだまともに動くかわからないところ。

foltiaで録音したradikoのAACとMP4の音質が違う?

Posted on 2013/06/27 (木) 0:37
Filed Under foltia | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

foltiaで録音したradiko.jpの番組をiPhoneで聞いていたら、AACとMP4版の音質が違うように聞こえたんで検証してみた。
結論から言うとiOSとQuickTimeではAACとそこから作成したMP4ではMP4版は音質が劣化して再生されている。しかしQuickTimeとMP4Boxの表示は一致しているので原因はffmpegがMP4コンテナのヘッダ情報とかなのか設定間違っている感も。現象はわかるが原因不明。

以下簡単な検証。
環境はiOS6.1.4,MacOSX 10.8.1,QuickTime Player 10.2,VLC2.0.7,CentOS6.4,ffmpeg 0.8.6世代など。

まずradiko.jpを録音してflv→aac→mp4と変換していったファイル。
録音はいつもの「簡易Radiko録音ツール。要swftools/rtmpdump/libxml/wget/ffmpeg/lame」。

まずaacファイルのQuickTimePlayerでの認識。

次にaacファイルから作成したmp4のQuickTimePlayerでの認識。

ffmpegの-acodec copyでmp4コンテナに入れてるだけなのに表示も聴感上も異なっていてフシギですね?

同じファイルをVLCで開いてみたところ。


差はないようだし、聞き分けも出来ないレベル。

MP4Boxの表示はこんな感じ。QuickTimePlayerと同じ表示。

[foltia@foltia mp4]$ MP4Box -info MAQ-1930–20130623-0030.MP4
* Movie Info *
Timescale 600 - Duration 00:30:45.076
Fragmented File no - 1 track(s)
File suitable for progressive download (moov before mdat)
File Brand M4A - version 1
Created: GMT Sat Jun 22 16:37:28 2013

File has root IOD (9 bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: No visual capability required (0xff)
Audio PL: AAC Profile @ Level 1 (0×28)
No streams included in root OD

Track # 1 Info - TrackID 1 - TimeScale 24000 - Duration 00:30:45.077
Media Info: Language “Undetermined” - Type “soun:mp4a” - 43244 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0×40
MPEG-4 Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 24000
Self-synchronized

[foltia@foltia mp4]$

次に、超!A&G+を記録したサンブル。
aacをQuickTimeで開いた場合。

mp4をQuickTimeで開いた場合。

flvをvlcで開いた場合。

aacをvlcで開いた場合。

mp4をvlcで開いた場合。

MP4Boxの表示。やっぱりQuickTimeと同じ表示。

[foltia@foltia radio]$ MP4Box -info ./1–20130625-0930-AGQR-audio.MP4
* Movie Info *
Timescale 1000 - Duration 00:30:47.808
Fragmented File no - 1 track(s)
File Brand isom - version 512
Created: GMT Thu Jan 1 00:00:00 1970

File has no MPEG4 IOD/OD

iTunes Info:
Encoder Software: Lavf52.64.2

Track # 1 Info - TrackID 1 - TimeScale 24000 - Duration 00:30:47.808
Media Info: Language “Undetermined” - Type “soun:mp4a” - 21654 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0×40
MPEG-4 Audio MPEG-4 Audio AAC LC - 1 Channel(s) - SampleRate 12000
Self-synchronized

[foltia@foltia radio]$

radikoが仕様変更でまた録音出来なくなっていた

Posted on 2012/11/03 (土) 2:37
Filed Under foltia | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

radikoが仕様変更でまた録音出来なくなっていた。

というわけでrec_radiko.shのページを見たらありがたいことに既に対応版が出ていた。
簡易radiko録音ツール。要swftools — Gist
そのまま差し替えられる版が出ていたのでそっくり入替え。

ついでに調べていたら、「RNB 南海放送」が11/1からradikoに参加していた模様。
radiko.jpからはお知らせもニュースリリースも一切ないんだけど、ほかに新規参加局はあるのかしらね?

Recently


Categories


Archives


Wish list

宗子さんのほしい物リスト2015/5-
Pages (151): « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 ... Last »