虎之助の徒然記

5万円以下で買える4K出力対応パソコン(2017年1月版)

 低価格なパソコンでも4K出力に対応するものが多くなってきました。

 1年ほど前に探したときには、低価格帯の4Kパソコンはほとんど無かったのですが、CPUがCherry trailや Apollo Lakeの世代に変わり、安価なCPUでも4K対応となったことが大きいようです。 4K(3840×2160)の解像度があると、フルHD(1920x1080)の4画面分あるので、非常に快適です。もうHDには戻れません。

 それに応じてディスプレイサイズも大きいものが必要になりますが、40インチ前後の4Kモニタ・4Kテレビも5万円台から購入できるようになりました。

 今回は、5万円以下で購入できる4K出力対応のパソコンと、低価格な4Kモニタ・4Kテレビについてまとめました。

1. CPU

 5万円以下で購入できる4Kパソコンで使われていたCPUを表1にまとめます。世代交代は進んでいますが、CPUベンチマークを見ると新しいCPUだからと言って極端に性能が向上しているというわけでもなさそうです。但し、コア数には注意が必要ですね。Apollo Lake世代のCeleron N3350(2コア)のベンチマークの値は、1202とかなり低めの数字です。

 気になるCPUの性能比較には、以下のサイトが便利です。

f:id:toranosuke_blog:20170124140303p:plain 用途のDはデスクトップ向け、Nはノート・モバイル向け、Tはタブレット向けです。
表1. 低価格の4K出力対応PCで使われていたCPU。

2. 5万円以下で買える4Kパソコン

 メモリ4G以上、価格5万円以下の条件で主に価格コムとアマゾンから探しました。また、同一ベンダで複数モデルがある場合には、個人的に欲しいものをピックアップしています。

 なお、DELL、ASUS、マウスコンピュータ、ドスパラなどは、スペック的には4Kの外部出力が可能と思われるパソコンもありますが、仕様に記述されていない(見つからない)ので、大部分はリストアップできませんでした。また、国内の大手ベンダは、東芝を除くと、4K出力以前に、そもそも4GBメモリ以上搭載の低価格PCがありませんでした。

2.1 スティックPC

f:id:toranosuke_blog:20170125132301p:plain


 スティックPCより、ミニパソコンの方に魅力を感じますが、スティックPCを選ぶとするならば、ドスパラのDiginnos DG-STK4Sでしょうか。Cherry Trail世代のAtom x5-Z8500でCPUベンチマークの数字も、1698とそこそこ良いです。ドッキングステーションを付ければ、有線LANやUSBポートも増えて、ちょっとしたミニパソコンになります。

2.2 ミニパソコン

f:id:toranosuke_blog:20170125132554p:plain


 1年前は4K出力できるミニパソコンも少なく、中華製ミニパソコンVOYO V3が飛びぬけたスペックの格安パソコンだったので、ついつい手がでてしまいました。

VOYO V3、中華製4Kミニパソコンが凄い! (X7-Z8700, 4GB, 128GB-SSD, 4K出力可能) - 虎之助の徒然記

 現在は、この後継機の位置づけでしょうか、VOYO V1 VMac miniPCという機種が200ドル前後の価格で販売されています。Apollo Lake世代のCeleron N3450あるいはPentium N4200を搭載しています。前の機種で問題があった発熱対策のためファンを加えるとともに、有線LANも付きました。メモリも8GBまで増設可能、2.5インチのHDD/SSDも搭載できるようです。1年前と違うのは、競合相手がいることでしょうか。

 信頼性とスペック・ブランドで言えば、HPのProDesk400G2が魅力的です。但し、5万円弱なので、個人的には位置づけが微妙です。いろいろアップグレードして、本格マシンにすると、結構なお値段となります。お遊び端末としては、高すぎるので、やはりVOYOを買ってしまいそうです(笑)。

 国内購入できる安めのパソコンだと、販売開始されたばかりのECS LIVA Zシリーズですね。最新のApollo Lake世代のCeleron N3350やPentium N4200を使っています。M.2の拡張スロットもあるので、SSDを増設すると快適になると思います。

2.3 ベアボーン

f:id:toranosuke_blog:20170126025020p:plain


 ベアボーンは、基本的にOSなしなので、Windowsのライセンスが余っているか、Linuxを使わないと基本的に割高になります。個人的にはLinuxサーバ機として、安いのが欲しいと思っています。サーバ機に4K出力は要らないだろ、と言うツッコミが入りそうですが(笑)、4Kでなくても大して価格は変わらないので、デスクトップとしても使えれば、儲け物。ASRockのCeleron N3150、4GBメモリ、128GBのSSD搭載機が非常に魅力的。衝動買いしてしまいそうです。

2.4 ノートパソコン

f:id:toranosuke_blog:20170126010750p:plain


 ノートPCは、ちょっと大きめなミニパソコンとして使うということもできます(私のdynabookが現在その状態に近いです)。

 4K出力は東芝のお株と思っていたのですが、Lenovo、ASUSも出していました。スペック的にはLenovoのThinkPad(Core i3-4000Mモデル)か、ASUSのVivoBookで、同じぐらいなら発売時期が新しいASUSでしょうか。また、安さを追求するなら、LenovoのV310となりそうです。

2.5 デスクトップ

f:id:toranosuke_blog:20170125132915p:plain


 Lenovoか、HPの2択。スペック的には、LenovoのS510ですが、個人的には、HPを良く買うので、買うとしたら、HPのProDesk 400を購入すると思います。もっとも、デスクトップは、場所を取るので、当面購入する予定はありません。

2.6 最新価格

  • Amazonインスタントストアの機能で、アマゾンの最新価格をまとめました(こちら)。
  • デスクトップ・ミニパソコンについては、価格コムから検索できます(こちら)

3. 4Kディスプレイ・4Kテレビ

3.1 画面サイズとフレームレートについての注意点

画面サイズ

 4Kとなると、ディスプレイも大きめのものが必要となります。私の場合、43インチの4Kテレビを使っていますが、ちょうどよい文字サイズとなっています。ディスプレイと顔の間の距離が60cm~80cmで使っていますが、この距離だと、画面サイズは最大でも50インチぐらいが限界ではないかと思います(視野に入りきらない、画面を斜めに見るなどの問題あり)。距離をとることができれば、画面サイズが大きくても構わないと思いますが、机も距離に応じて大きくしなければならないので、大きいから良いというものでもありません。要注意。小さい方のモニターサイズに関しては、目の良し悪しに依りますが、少なくとも30インチぐらいは必要ではないかと思います(私には文字が小さくなり過ぎます)。

フレームレート

 また、60Hzで描画したい場合には、ポートに気を付ける必要があります。フレームレート60Hzには、HDMI 2.0か、DisplayPort1.2以上が必要です。現在、4Kモニタ、4Kテレビ共にほとんどの機種がフレームレート60Hzへ対応していますが、テレビの場合は、DisplayPortを備えない機種がほとんどです(モニタでもテレビでも、HDMI2.0には対応)。60Hz出力可能なパソコンは、DisplayPort/HDMI2.0のどちらか(あるいは両方)で対応していますので、出力端子については確認しておいた方がよいです。

 なお、DisplayPortから、4K出力できるHDMIに対応する変換アダプタは数多くありますが、HDMI2.0となると種類は限られます。

3.2 4Kモニタ

 価格コムで35インチ~50インチで調べても、10万円以下の格安モニタは、次の3機種しか見つかりませんでしたが、それでも、1年前は、Philipsしか選択肢がありませんでしたので、増えてはいます。

f:id:toranosuke_blog:20170125161710p:plain
4Kモニタの価格(2017/1/25現在, 最新価格は、価格コムAmazon)


ベンダ モデル名 サイズ価格コム アマゾン 公式ページ
DMM.makeDME-4K50D 50型
IO-DATA LCD-M4K401XVB 40型
Philips BDM4350UC/11 43型

3.3 4Kテレビ

 テレビも見たいということであれば、4Kテレビになります。こちらも、安い機種が増えてきました。昨年4月に価格コム最安値でLGの43型テレビをAmazonから79,800円で購入しましたが、1年経たないうちに、最安値が2万円ほど低くなりました。

 37型から46型の2016年モデルで、各メーカの最安値品を選んでみました。

f:id:toranosuke_blog:20170125173908p:plain 4Kテレビの価格(2017/1/25現在, 最新価格は、価格コムAmazon)


ベンダ モデル名 サイズ価格コム アマゾン 公式ページ
ハイセンス HJ43K300U 43型
LG 43UH6100 43型 -
LG 43UH6500 43型
パナソニックVIERA TH-40DX600 40型
東芝 REGZA 40M500X(K) 40型
シャープ AQUOS LC-40U40 40型
ソニー BRAVIA KJ-43X8300D(S)43型

 価格コムで見つからなかったLGの43UH6100を追加しました。仕様比較(PDF)によれば、43UH6500との差はサイズ・重量・消費電力などとUSBポートの数の違いだけでした(UH6100は1ポート、UH6500は2ポート)。公式ページの販路は、UH6100はアマゾンのみ(型番から言っても、恐らく、UH6100は旧モデルなので、その分安い?)


 昨年、LGの4Kテレビ(43UF7710)を購入しましたが、パソコンモニタとしては、満足しています。但し、テレビとしては、ソニーと比べると、いろいろと残念なところが目立ちます。ピクチャインピクチャができないので、テレビを見ながら、パソコンを使うということができません。当時は格安テレビの選択肢が他になかったので仕方がないですが、今なら、ピクチャインピクチャがある機種を選びます。他に格安の1byoneの室内アンテナで受信が不安定(Braviaでは受信可)とか、AmazonビデオやU-NEXTの操作性が悪いのも残念な点でした。

(追記:2017/2/4)
 その後、ピクチャ・イン・ピクチャができる4Kテレビを探したところ、対応している機種がほとんどありませんでした。また、AmazonビデオとU-NEXTに対応しているテレビも、LG, VIERA, BRAVIAしかありません。今は、1000円弱で購入したUSBスティックタイプのワンセグチューナでPinPを実現しています。これで十分満足できるので、当時のLGのテレビは正しい選択だったと思っています。

 今だと、LGの43UH6100、VIERA TH-40DX600か、PinPできるAQUOSのLC-40U40の三択かな (LGとは、約1万5000円、約2万5000円の価格差なので、少し悩むと思う)。

4. 最後に

 低価格でも4K出力できるパソコンが多くなりました。1年前とは様変わりです。4Kテレビも安くなってきたので、昨年、我が家も4K環境に移行しましたが、物凄く快適です。もう1920x1080のフルHDには戻れません。低価格パソコンでも、ヘビーユーザでなければ、それなりに満足できるレベルになっているのではないかと思います(贅沢を言えば、メモリ8GB、SSDは欲しいところですけど)。

(2017/1/25)

関連記事

VOYO V3、中華製4Kミニパソコンが凄い! (X7-Z8700, 4GB, 128GB-SSD, 4K出力可能)

 自宅のデスクトップ環境を4Kに移行すべく、4K出力できるパソコンを物色していたところ、約200ドルで4K出力可能な魅力的なスペックのミニパソコンを発見・購入しました。それが、4K出力対応のミニパソコンVOYO V3です。

 4K出力に加えて、Cherry Trail世代のAtom最上位のX7-Z8700搭載、4GBメモリ、128GBのSSDと約200ドルのパソコンとしては最強スペックです。

(ベンダの公式ページは、VOYO mini Pc-Box_V3)

 購入したのは2016年の春ですが、今回はこのパソコンを紹介します。

目次

1. スペック

 VOYO V3のスペックは、以下の通りです。

  • OS: Windows 10 Home(64bit, 英語版)
  • CPU: Intel Atom X7-Z8700 (Cherry Trail世代のAtom最上位)
  • RAM: 4GB
  • ストレージ: 128GB (M.2 SSD)
  • ネットワーク: 802.11, Bluetooth4.0(技適なし)
  • 入出力: USB2.0, USB3.0×2, 3.5mmオーディオジャック, microSDスロット
  • ビデオ出力: mini-HDMI。4K出力可(3840x2160@30fps)
  • 電源入力: USB Type-C (ACアダプタ付)
  • サイズ: 130×130×9.9mm / 重量 200g

 これまでのミニパソコン仕様から、CPUもメモリもストレージも一歩も二歩も飛びぬけた仕様です。特に私が惹かれたのは、4K出力、メモリ4GB、SSD128GBです。これだけ、スペックが揃って、200ドルは格安です。でも、少し心配なのはやはり中華製というところ。いつも、はらはら、どきどきしながら購入しています(笑)。

 スティックPCの走りであるMeeGoPad T01も使ってみましたが、ブラウザとしてちょっと利用する分には十分だけど、少しヘビーに使おうと思うと、2GBメモリや32GBのeMMCでは性能不足でした。Bay Trail世代のミニPC・スティックPCの典型的スペックは、Atom Z3735F、2GBメモリ、32GB eMMC、Windows10 (または、Windows8.1 with Bing)といったところ。Cherry Trail世代になっても、CPUがZ3735Fから、Cherry Trail世代(x5-Z8300, x5-Z8500など)に移行していますが、その他はおおよそ同じという製品が大部分なのですよね。

f:id:toranosuke_blog:20170120002630j:plain:w320f:id:toranosuke_blog:20170120002635j:plain:w320

2. 入手

2.1 入手先

 中国のショップからの購入ですが、当時はAliExpressよりもGearBestの方が50ドル以上安かったので、今回初めてGearBestを利用しました。GearBestも、評判はそこそこ良さそうです。現在は、AliExpressでも安い出品があります。また、Amazonからも購入できます、

 今のところ、中国からの購入でトラブルに会ったことはありませんが、トラブルのことを考えれば、Amazonからの購入が安心です (が、3万円となると微妙なお値段になりますね。今では国内でもスペック的には劣るものの5万円前後で4K出力できるブランド品のパソコンが買えてしまいますので...)。

2.2 価格

 私が購入したのは、2016年の4月1日。GearBestで本体価格199.19ドルと配送保険料4.98ドルで計204.17ドルをPayPalで支払いました。

  • 支払額: ¥23,815 JPY ($204.17 USD)
  • 外貨換算レート: 116.64円/ドル
     3月31日から4月1日の間の高値/安値が112.7-111.6ドルなので、約4-5円の為替手数料が取られているようです。

 また、配送は無料指定。AliExpressの無料配送だと、シンガポールポストで2週間前後で届く場合が多かったのですが、GearBestの場合、ハンガリーポストでした。配達に時間が掛かりそうでしたが、Expedited Shipping (DHLなど国際宅配)より20ドルぐらい安かったので無料配送にしました。

 GearBestで再確認したところ、現在ではPriority Line (Japan Direct Line)という配達が3ドル弱でできるので、日本直送便が良さそうです。

f:id:toranosuke_blog:20170115165257p:plain
図1. GearBestの現在価格と配送オプション。(2017年1月17日現在)

2.3 配送

 注文から到着までえらく時間が掛かりました。

  • 4月 1日:注文
  • 4月12日:ハンガリーポスト受入
  • 5月 3日:到着
f:id:toranosuke_blog:20170115164850p:plain:w500
f:id:toranosuke_blog:20170115164856p:plain:w600
図2. 配送のトラッキング情報。
ハンガリーポストは受入は迅速に反映されますが、配送履歴がほとんどない。


 注文から到着まで約1カ月。ハンガリーポストのトラッキング情報も受入後は、なかなか更新されないので、ちょっと心配になりましたが、ブダペスト経由で地球一周の旅をして届いたようです(笑)。

2.4 梱包物

  • 本体
  • miniHDMI-HDMIケーブル
  • ACアダプタ(12V×2A, USB Type-Cのケーブルと一体)
  • マニュアル・保証書
f:id:toranosuke_blog:20170116003734j:plain:w500
図3. 梱包物。

3. 使ってみての感想

3.1 使ってみる

3.1.1 中身は普通のWindowsパソコン

 初期状態は、付属ソフト一切なしのシンプルな英語版の64ビット版Windows10 Homeです。現在は、日本語化して、ChromeやGoogleドライブ、TeraTermなど最小限のソフトだけインストールして使っています。日本語化については、以下の記事が参考になります。日本語化すれば、ごくごく普通のWindowsパソコンです

f:id:toranosuke_blog:20170116005008p:plain 図4. 4K画面のキャプチャ。

LG製の43インチの4Kテレビをモニタにして、パソコン作業用に使っています。1920x1080が4面分なので、ウィンドウを沢山開いてもストレスなく、非常に快適です。もう、1920x1080には戻れません (LGの最新モデルが7万円を切る価格になっています。10万円で4Kパソコンが手に入る時代になったのですね...)

3.1.2 やはり高温になる!

 ファンレスなので、負荷を掛ければ当然熱くなることが予想できますが、予想通りでした(笑)。ファンを付けた台の上に載せて使っています。ファンは、デスクトップPCを分解してでてきたものを使い回していますが、エアーフローは強力というわけではありません(これでも本体の表面温度は十分に下がる)。ノートパソコン用の冷却台なら、もっとよく冷却できると思います。

f:id:toranosuke_blog:20170117210347j:plainf:id:toranosuke_blog:20170117210356j:plain
(a) 下段の白いのがVOYO V3。
上段はラズパイ3とHDD×4台。
(b) 5cm角のファンを二つ取り付ける。
図5. ファンの設置。

3.1.3 温度を計測した

 ファンの有無や負荷の有無で、内部の温度を調べた結果を表1に示します。動画再生では、YouTube, Amazonビデオ, U-NEXTを3つ同時に再生してCPU負荷を上げています。負荷なし(①~⑥)のCPU使用率・CPU電力は、ちょっとしたことで大きく変動するので、無視しても構わないと思います (①だけは何か負荷がかかっていたみたい)。

 ファンの効果をみると、CPU・SSDを5℃から10℃程度冷却できているようです。いまは冬場なので、ファンなし・高負荷でもCPU温度80℃弱、SSD温度50℃で済んでいますが、夏場になれば、ファンは必須となりそうです。

Atom x7-Z8700の仕様上の許容温度は、90℃ (Intelのページ)。
FORESEEのSSDの許容温度は、70℃ (FORESEEのページ)

表1. VOYO V3のCPU温度と消費電力。
内部状態の計測ツールは、Open Hardware Monitor。消費電力の計測は、サンワサプライのワットチェッカー
ファンCPU使用率CPU温度CPU電力消費電力SSD温度室温
① 負荷なし 32.0 % 48 ℃ 3.1 W 5 W 33 ℃ 5 ℃
② 負荷なし 8.2 % 27 ℃ 1.4 W 5 W 21 ℃ 5 ℃
③ 負荷なし 3.9 % 38 ℃ 1.4 W 5 W 32 ℃ 10 ℃
④ 負荷なし 4.7 % 33 ℃ 1.4 W 5 W 28 ℃ 10 ℃
⑤ 負荷なし 1.5 % 47 ℃ 1.4 W 7 W 37 ℃ 18 ℃
⑥ 負荷なし 1.5 % 38 ℃ 1.3 W 7 W 32 ℃ 17 ℃
⑦ 動画再生 78.1% 77 ℃ 3.9 W 11 W 50 ℃ 18 ℃
⑧ 動画再生 85.9 % 79 ℃ 5.8 W 12 W 41 ℃ 17 ℃
f:id:toranosuke_blog:20170117203443p:plain
⑦ファン無し
f:id:toranosuke_blog:20170117203449p:plain
⑧ファン有り
図6. Open Hardware Monitorの出力例。
SSD温度がファン無しで50℃、ファン有りで41℃でした。

3.2 優れた点・気に入った点

  • 体感速度的には十分に実用的
    • Atomでも、ブラウザを普通に使う分には十分高速です。
    • メモリは4GBなのでそれなりですが、SSDが効果大。
       Chromeでいくつもタブを開くと、直ぐにメモリ不足になりますが、スワップが発生した場合でも、SSDなので、eMMCより高速に反応します。スワップに関しては、私が持っているSSHD(SSDキャッシュ付のHDD)のdynabook AZ77(CPU Core-i7)よりも、高速に感じます。
  • 4Kモニタにも出力できます
    • 3840x2160@30fpsで描画できます(dynabook AZ77と同じレート)
      但し、付属のHDMIケーブルではときどきチラつくことがありました。手持ちのケーブルに交換したら、問題なく表示できるようになりましたが。
  • 4K動画もなんとか再生できます
    • YouTubeの4K動画は、Chromeではときどきカクツキますが、Microsoft Edgeならば、スムーズに再生できました。
  • コンパクトで綺麗なデザイン
  • プリインストールされているソフトウェアがない
    • 中華製パソコンにありがちな余計なソフトウェアが全く入っていません。OSが英語版といっても中国系ソフトがプリインストールされていることがあるので、そういうものが全く入っていないところは安心できます。

3.3 残念な点

3.3.1 スペック上の残念な点

 スペックで予め分かっていることではありますが、有線LANポートがないのが残念な点です。

3.3.2 その他の問題点・残念な点

 中華製パソコンは、ハイスペック品が超低価格で買えるので、ついつい手が出てしまいますが、中華品質なので、買ってみないとどんなものが届くか良く分かりません(笑)。但し、数年前の中華タブレットに比較すると、遥かに品質は向上しています。デジタル系のところでは、ほとんど問題が起こることはなくなり、どちらかといえば、アナログ系で問題が発生します。

  • 本体が高温になる
    • ビデオ再生時など、負荷が高くなる場合に、本体が高温になります。お茶を入れたときの湯飲み茶碗ぐらいの熱さです。普通の負荷であれば、酷く高温になることはないので、大きいヒートシンクを本体に貼り付ければ大丈夫かもしれません。
  • wifiは、不安定で使い物にならない
  • 付属のHDMIケーブルでは、4K出力が不安定
    • 買い置きしてあったminiHDMI-HDMIのケーブルでは、問題なく4K出力できました。
  • スリープモードがない
    • シャットダウンするか、起動したままにする必要があります。
  • 標準で"voyo"というアカウントが設定されている
    • 直ぐに使えるので、便利と言えば便利ですが...。
  • 電源スイッチが華奢
    • 電源スイッチが少し華奢に感じます。可動部なので、将来的には故障する部分かもしれません(今のところ問題なし)。
  • Ubuntuがインストールできなかった
    • Ubuntu16.4でインストールを試みましたが、"efi:requiested map not found."となって、残念ながらインストールできませんでした。インストールの仕方が悪かったのか、Ubuntu側のUEFI対応が不十分なのか、VOYOが原因なのかよく分かりません。

4. まとめ

 4KミニパソコンVOYO V3は、非常にコストパフォーマンスに優れたマシンです。但し、高温になったり、wifiが不安定だったりと、まだまだ中華品質なところが残りますので、そういう点に対処できるなら、十分に満足できるものではないかと思います。

(2017/1/18)

関連記事

Googleフォームを使って、はてなブログで投票集計

 最近のお騒がせな人たちの人気投票をちょっとやってみたいと思い立って、前回の記事を投稿しました。この記事では、Googleフォームを使って投票を集計しています。今回は、前回の記事を事例にGoogleフォームでの投票集計について紹介したいと思います。

1. ブログに使える投票ツール

1.1 投票ツールのまとめ記事

 アンケート・投票に使えるツールのまとめ記事がありました。

 こちらの記事は、比較的最近のもので、こちらを中心にチェックしました。

 SurveyMonkey, Questant, CreativeSurvey, GoogleDrive(Googleフォーム)が挙げられ、比較表がでています。

1.2 投票ツールの種類

投票ツールは大きく分けて、次の2つになると思います。

  • Webサーバを管理向けツールを用いる。
     自分でサーバを管理できて、PHPなどを自由に使える場合に使えるツール。
  • 外部サービスを用いる。
    • 商用サービス
    • 無料サービス

この中で、はてなブログの場合、外部サービスを用いる必要があります。無料サービスでアカウント作成不要のものをと考えていましたが、どの投票サービスも投票内容の編集などがあるので、基本的にアカウントが必要のようです。考えてみれば、そうですね。

 新規アカウントが作成不要ということで、今回はGoogleフォームを使って投票箱を作成しました。

2. Googleフォームによる投票フォームの作成

2.1 Googleフォームとは?

 Googleフォームは、Google Appsの一つで、アンケートや問い合わせなどに使える回答収集サービスです。

特徴としては、

  • 回答結果は、Googleスプレッドシートに記録されます。
  • (スプレッドシートの機能で)ユーザーからの回答があったときに、メールを作成者に通知できます。
  • 回答に対する確認メールを簡単に送信できます。
  • 質問で画像とコメントを併記できます。
  • (Googleへのログインなしでは)重複回答を禁止できません。
  • 問い合わせやアンケート集計、人気投票などに使えます。
     このブログの「お問い合わせ」リンクもGoogleフォームを使って作成しています。

 重複回答を禁止できないというのは、人気投票に使う場合は痛いところですね。

2.2 使い方

 使い方は、以下のブログを見れば、ほとんどのことはできると思います。

 実際に、投票を使った記事を書きました。

 この記事をはてなブログに埋め込む際に苦労した点は、以下の通り。

  • チェックボックスの文が短文でないと、回答のページが見にくくなります。このため、画像を入れて、その下に説明を加えたかったのですが、出来ませんでした。
  • ブログに埋め込む際に、横幅が足りず、フレームに埋め込まない場合では、1行に2つのアイテムが入ったのですが、フレームに入れると、1行に1つのアイテムになってしまいました。やたらと縦長になってしまいます。
  • 縦長になってしまったので、幅を小さくして、その横に説明を加えました。
  • scrolling="no"のオプションを加えることで、スクロールバーを消すことができました。
 <iframe src="https://~自動生成されたURL~" scrolling="no" width="400" height="2300" (以降はそのまま)>読み込んでいます...</iframe>
  • 幅・高さの調整が面倒です。特に、スクロールバーを消した場合、高さの調整が面倒。
  • スマホだと配置が崩れるので、フレームに埋め込まないページで表示する必要があります。このとき、フレームの横に書いておいた説明が、無くなります。

2.3 チェックボックスの説明文を長文にした場合

 チェックボックスを長文にした場合のサンプルを、記事の最後に加えました。先のブログの投票・回答と比べて見てください。こちらの方が、ページの作成は楽ですが、投票結果のページが美しくありませんでした。

3. 他のツールも使ってみた

 この記事の執筆に当たって、二つばかり、アンケート・投票ツールを使ってみました。

3.1 Creative Survey

投票のサンプルです。


フレームを使わない場合は、こちら

  • 重複投票の禁止などが可能で、質問の分岐、デザインもいろいろでき、詳細なアンケートやテスト作成などにも使えそうです。
  • 商用で使うのには向いていると思いますが、個人ブログのライトユーザーにはちょっとヘビーです。
  • 画像とコメントを同時に表示することはできませんでした。
  • また、投票結果を公開することができません。

3.2 アンケートクレール

http://enq-maker.com/

投票のサンプルです。

f:id:toranosuke_blog:20161219122526p:plain

フレームを使わない場合は、こちら

  • テキストベースで簡単に作成できるアンケート集計・投票ツールです。
  • 基本的に個人向けのツール。
  • ユーザアカウントを作るというよりは、アンケート毎に電子メールアドレス、パスワードをつけるという管理をしています。
  • 操作に悩むことはなく、サクッと作ってしまうのには便利です。
  • IPアドレスによる二重回答防止、集計結果の公開などができます。
  • ホームページのお知らせにこんな案内があります。
2013/11/19
14日よりサーバーがダウンしておりました。経理上の不手際で、ホスティング会社へのサーバー料金の入金がされていなかったためです。ご利用者の皆様に大変なご迷惑をおかけしたこと、深くお詫びいたします。今後このようなことがないよう注意いたします。誠に申し訳ございませんでした。

 サービスの継続性は大いに不安があります。

(追記) 2016/12/19現在、サーバからの応答がありません。アンケートクレールの投票サンプルはサンプル画像に置き換えました。

4. まとめ

 はてなブログでのGoogleフォームを用いた投票集計について、実例を交えながら紹介しました。

 いろいろツールはあるようなのですが、個人ブログということやサービス運営会社の継続性・信頼性などを考えると、Googleフォームが一番お手軽で良さそうです。いくつも不便に感じるところはありますが、重複回答禁止機能を除けば、必要最小限の機能はあるのではないかと思います。投票やアンケートのある記事を書くことはあまりないと思いますが...。

 ブログという点では、連絡先として電子メールアドレスを公開するのは嫌なので、連絡手段として問い合わせ先フォームを作るのには向いているのではないかと思います。このブログの連絡先もGoogleフォームを使って作っています。

(2016/10/23)

関連記事

付録 チェックボックスの説明文を長文にした場合の例

投票結果はこちらから
スマホからの投票はこちらから(1行に2アイテムで表示されます)

 

【投票】危ない奴ら!こんな人が大統領や指導者だったら嫌だなぁ

 最近、ちょっと問題ありげな大統領・大統領候補、皇太子が話題になっていますね。話題の方々への投票箱を作ってみました。是非、投票してみてください。

投票結果はこちら

スマホからの投票はこちらから



















マイブームだった粛清は飽きたので、最近は核開発ゲームに熱中。お願いだから、核ミサイル撃たないで~。







過激な麻薬撲滅政策をヒトラーに例えて正当化。オバマ大統領への侮辱発言など話題に事欠きません。習近平さんの前でガム噛んでちゃ駄目だよ。







今が旬。メキシコ国境やら核武装解禁など自由奔放な発言でコアな支持者が大勢います。猥褻スキャンダルも物ともせず進撃中。大統領選が終わるとただの煩いスケベおやじに戻るでしょう。








まだまだ、知名度は低いですが、大穴です。王室パーティーで3番目の奥さんを裸で躍らせちゃったとか。女性用タンクトップと、ズリパンも、派手な入れ墨にマッチしています。









比較相手が強すぎて存在感がありません。残念ながら、過去の人です。









英国王室の若きホープ。浮名を馳せて、裸写真もとられちゃったけど、まだまだ他の候補には水を開けられています。

 はてなブログで投票ボックスが作れるとは思いませんでしたが、Googleフォームで、一応、できました。

(2016/10/23)

関連記事

自炊して本棚を捨てる (3) 実践編

 今回の記事では、実際に自炊により大量の書籍を電子化する際に、気がついたことをまとめます. 大量に処理をしていくと、いろいろとコツが分かってきたり、問題がでてきますね。

1. 本を裁断する

1.1 挟んであるものを取り除く

 基本的なことですが、栞や栞紐は取り除いておかないといけません。パラパラと何回も捲って確実にとります。取り除きそびれるのが、レシートだったりします。レシートをとっておく習慣があるためか、意外と多いので、裁断後に裁断面側からもパラパラ捲りをして確実にとります。

f:id:toranosuke_blog:20160529000437j:plain:w300
ぱらぱらと捲る
f:id:toranosuke_blog:20160529000850j:plain:w300
栞紐も取り除く

1.2 裁断の位置決め

 購入した裁断機DURODEX/200DX*1には、カットラインを示すライトがついています。このカットラインを使って、裁断位置を決め、ガイドを設定しますが、横から覗いてみないと、どこが切れるのかわかりにくいので、位置決めは、軽く刃で本の上に跡をつけて、調整することが多いです。一冊ごとに調整するのは面倒なので、いまは文庫本サイズの本だけを電子化しています。幸い文庫本は製本が均一で、一冊ごとに微調整する必要はありませんので、次々に裁断できました。

f:id:toranosuke_blog:20160529001922j:plain:w300
カットラインライトでの位置決めは結構難しい。

1.3 切り込む深さ

 背表紙の糊が余裕を持って切り捨てておかないと、スキャンの際に重送したり、詰まって大変です。かと言って、深く切り込みすぎると、今度は文字が切れてしまいます。

 文庫本の場合、背表紙側の7mm前後の深さ裁断すれば、ほとんど糊の部分が入り込むことはありませんでした(糊が残ってしまったのは、200-300冊の文庫本をスキャンした段階でわずか1冊)。大手の出版社であれば、ほとんど同じように製本されていて、本の大きさもあまりばらついていないことが大きいのかと思います。裁断機のガイドを変更せず切断しています。

 これに対して、単行本は、サイズもいろいろでなので、文庫本に比べるとずっと面倒です。表紙や裏表紙に深く糊付けしてあることが多いですが、これは注意していれば手で剥がすなり、ハサミで切り直すなどすればよいのですが、困るのは、50ページおきぐらいに深く糊を入れている製本。スキャン中に重送して気がつくので、そういう製本の場合には、見つけ出して、ハサミで別途切り離しています。

f:id:toranosuke_blog:20160529002741j:plain:w300
切り取った部分を裁断面を左側、背表紙を右側にして並べてみる。
大手出版社のサイズは揃っている。

 

1.4 裁断機の切れ味

 やはり裁断機は、切れ味がよい刃で、綺麗に切れるのに越したことはありません。当初、古い別の裁断機を使っていたのですが、どうも刃がなまっていたようで、購入した新品の裁断機とはまるで違います。どこがどう違うかというと、新しい刃では軽く切れるということもありますが、もっとも問題なのは、古い刃では、本を垂直に切ることができずに、斜めに切ってしまうことが多くなることです。

 例えば、図1は裁断した面を横からみたところですが、斜めにずれてしまうと、図2のように深くきりこんでしまいます。運が悪いと、文字領域にまで食い込んで、1冊だめにしてしまいます。

 また、古い裁断機を使っていたときには、本の幅方向のずれも大きくて、スキャンした画像が少し斜めになってしまうことが多々ありました。新しい裁断機を使うようになってから、スキャン画像が斜めになることも少なくなくなっています。

f:id:toranosuke_blog:20160529004335j:plain:w200
切り込みがずれる
f:id:toranosuke_blog:20160529004418j:plain:w200
もう少しで裁断が深いと文字が切れる

2. スキャンする

2.1 排紙トレイで紙詰まり多発

 キャノンのスキャナDR-C240*2固有の問題だと思いますが、排紙のトレイで頻繁に紙が詰まります。原稿の長さの調整のため、紙受け用のストッパが可動式になっており、その段差で紙が引っかかります。当初は、最初の一枚だけ手で押さえて紙詰まりしないようにしていましたが、面倒になったので、テープで塞ぐことにしました。これで紙詰まりは激減しました。

f:id:toranosuke_blog:20160803133535j:plain:w200
紙詰まり
f:id:toranosuke_blog:20160803133539j:plain:w200
段差部分をテープで塞ぐ

2.2 重送検知はほぼ完璧、でも重送すると悲惨

 キャノンのDR-C240を使っていますが、重送はほぼ完璧に検知します。いまのところ、検知漏れはなかったのではないかと思います。でも、重送しないというわけではなく、重送します。重送の原因は、次の2つでしょうか。

  • (単純に)2枚の原稿が重なって紙送りされる。
  • 糊などにより2枚につながっている原稿を紙送りしている。

 単純に2枚の原稿が紙送りされることはほどんどありません(極まれにある)が、糊などで繋がったりしていて、裁断が悪いと、頻繁に重送します。このパターンの重送は、原稿がくちゃくちゃになって、運が悪いと切れてしまいます。ただ、原稿がくちゃくちゃになっても、その皺がスキャン画像で目立って残るようなことはないのが、救いです。

 一回、重送が生じると、原稿を入れなおしたり、ページの初期値を変更したりするなど、かなり時間のロスになります。

2.4 ローラーの交換時期

 500冊ぐらいスキャンしたあたりから、急に給紙の不具合が多くなりました。、マニュアル*3に従って、メインのローラーを湿った布でゴシゴシとお掃除。はじめは、富士通のクリーナ*4とキムワイプ*5で丁寧に掃除していたのですが、良くならないので、マニュアルを読んでみたら(汗)、水を含ませた布で掃除するということなので、ゴシゴシやっています。

 最近(約650冊をスキャン)では10-20冊に一回はメンテナンスを入れないと、ローラーが空回りして、給紙できないような状態になってしまいました。よくよくみると、ローラーの溝が薄くなっています。1冊300ページとして、650 books * 300 pages/book = 195,000 pages。交換目安は20万枚とあるので*6、ちょうど、そろそろ交換時期でしょうかね。交換ローラーキットは、アマゾン価格*7で8,072円(8/3現在)、高い。もう少し延命させよう...(目の粗いヤスリでごりごり削れば、溝ができるような気がするのだけど、そのうちやってみるつもり。カッターでは弾性がありすぎてダメだったので、やはりダメかも。)。

(追記) 1本目のローラは700冊ぐらいまで使って、2本目を購入しました。2本目は300冊ぐらいで不具合が発生しだしました。埃を被った本をスキャンすることが多かったからでしょうかね。

f:id:toranosuke_blog:20160529012223p:plain:w300
ローラーのクリーニング。
f:id:toranosuke_blog:20160529005817j:plain:w300
内側の左3本、右2本の接触面の溝がなくなり始めている。

2.5 ページ番号の変更

 重送などが発生して、ページ番号の初期値の変更すると、もとに戻すのを忘れて、次のスキャンで番号がずれてしまうということがまま発生します。こんなときには、awkコマンドを使って、番号の振替を行っています。書いたら長くなってしまったので、記事の最後で説明します。

3. スキャンデータの後処理

3.1 スキャンした 画像をチェックする。

 CapturePerfectの表示スピードが高速なので、これを使って2ページ単位に表示して原稿チェックしています。原稿チェックといっても、1秒あたり数回クリックして(6-8pages/secぐらい?)のスピードでチェックしているので、ジャムったときのページなどをチェックしているだけです。ページの抜けなどは、原稿のページ数とスキャン数の一致で確認しています。

3.2 zipファイル化する。

 何冊かスキャンしたところで、前回紹介したpage2book.cshを使ってまとめてzipファイルします。

3.3 ジャンル分けして保存する。

 次に、zip化したファイルをジャンル分けして、保存します。たくさんの本があると、これもかなり面倒なので、スクリプトで実行するようにしました。現在は、オリジナル画像を2箇所、圧縮ファイルを1箇所(google drive)に保存しています。

4. おわりに

 現在、1000冊程度電子化しましたが、実際に大量に電子化すると、裁断とローラーの耐久性が重要という印象です。本棚で2-3台分ぐらいは電子化しているはずですが、次から次へと本がでてきて、本棚を捨てる状況にないです。タイトルにある「本棚を捨てる!」という宣言は、当面実行できそうにありません(涙)。

(2016/8/3)

関連記事

ROOM

楽天ROOMに自炊関連の商品をまとめています(随時更新)。

Appendix: awkを使った連番ファイル名の変更

 ここでは、awkコマンドを使って、連番のファイル名を変更する方法について説明します。

例えば、

page_005.jpg
page_006.jpg
page_007.jpg
   :

page_001.jpg
page_002.jpg
page_003.jpg
   :

に変更する場合には、

ls -1 page_*.jpg | awk 'BEGIN{n=1;}{printf("mv -i %s page_%03d.jpg\n",$1,n);n++;}'

とすると、

mv -i page_005.jpg page_001.jpg
mv -i page_006.jpg page_002.jpg
mv -i page_007.jpg page_003.jpg
   :

となります。これをシェルで実行することで、ファイル名の変更を行っています。

ls -1 page_*.jpg | awk 'BEGIN{n=1;}{printf("mv -i %s page_%03d.jpg\n",$1,n);n++;}' | csh

ファイル番号を減じる場合にはこれでいいのですが、増加させる場合、例えば、

mv -i page_005.jpg page_006.jpg
mv -i page_006.jpg page_007.jpg
mv -i page_007.jpg page_008.jpg

では、最初のmvが既にあるpage_006.jpgを上書きしようとするので、確認のメッセージがでます("-i"オプションをつけないと、上書きされて、悲惨なことになります)。このような場合は、sortコマンドを使って、処理の順番を逆順にします。

ls -1 page_*.jpg | awk 'BEGIN{n=6;}{printf("mv -i %s page_%03d.jpg\n",$1,n);n++;}' | sort -r | csh

タイプ量が多いのですが、別途スクリプトを書くほどではないので、いつもこんな感じで連番のファイル名を変更しています。

"page_"の部分を"book_"のように変更する場合も、同じようにawkを使って変更できますが、sedを使うともう少しシンプルにできます。

ls -1 page_*.jpg | awk '{printf("mv -i %s %s\n",$1,$1)}' | sed s/page/book/2 | csh

*1:

DURODEX 自炊裁断機 ブラック 200DX

DURODEX 自炊裁断機 ブラック 200DX

*2:

Canon キヤノン ドキュメントスキャナ imageFORMULA DR-C240

Canon キヤノン ドキュメントスキャナ imageFORMULA DR-C240

*3:キャノンのページ:DR-C240ユーザーマニュアル(機能詳細編), 70ページ

*4:

富士通 クリーナF1 FI-C100CF1

富士通 クリーナF1 FI-C100CF1

*5:

キムワイプ 12×21.5cm /1箱(200枚入) S-200

キムワイプ 12×21.5cm /1箱(200枚入) S-200

*6:キャノンのページ:DR-C240交換ローラー オプション・消耗品

*7:

Canon キヤノン DR-M160?/M160/C240用交換ローラーキット

Canon キヤノン DR-M160?/M160/C240用交換ローラーキット

Raspberry Pi3でサーバを構築する (2) RAID1ディスクの構築

 今回の記事では、前回、設置した4台のハードディスクを2組のRAID1ディスクに構成にします。raspberry pi特有なのか、外付けHDDでRAIDを組む場合に起こるのか、いくつか問題が発生しましたので、その問題解決を含めて、説明していきます。

1. RAIDディスク構築の流れ

 RAIDディスク構築の大まかな流れは、以下の通りです。

  • RAIDに用いるディスクにRAID用のパーティションを作成する。
  • それぞれのパーティションを用いて、RAIDディスクを構成する。
  • RAIDディスクに ファイルシステムを作成する。
  • マウントする(必要に応じて、自動マウントするように設定する)。

 今回は、2台のRAIDディスクを作成するので、まず1台目のRAIDを上記の流れに従って設定した後に、2台目を1台目と同様に設定します。

 以下では、流れに沿ってそれぞれ説明します。

2. RAID用パーティションの作成

2.1 ディスクの確認

 まずは、4台あるディスクがちゃんと認識されているか確認します。

$ lsusb
Bus 001 Device 021: ID 1bcf:0c31 Sunplus Innovation Technology Inc. SPIF30x Serial-ATA bridge
Bus 001 Device 020: ID 1bcf:0c31 Sunplus Innovation Technology Inc. SPIF30x Serial-ATA bridge
Bus 001 Device 019: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Bus 001 Device 017: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Bus 001 Device 016: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls /dev/sd*
/dev/sda  /dev/sdb  /dev/sdc  /dev/sdd

 上の4つがHDDなのですが、4つもあるとどれとどれが対応するのか区別ができないので(*)、まず2つのHDDを用いて1つのRAIDディスクを構成することにしました。はじめに、USB2.0のHDDを外したところ、ASMediaが/dev/sda,/dev/sdbとして残りました。これがUSB3.0のHDDです。残りが、SunplusがUSB2.0のHDDとなります。

  *: lsusbやhdparmでは特定できませんでした。どうすれば良かったんだっけ?

2.2 パーティションの作成

 fdiskやparted、gpartedなどで、パーティションテーブルを編集できます。ここでは、fdiskとpartedでの作成例を示します。実際にはfdiskで作成しました。

 昔は、fdiskでは2TB超のHDDを取り扱えない場合があったので、partedを使う必要がありましたが、最近はどうなんでしょう。

 (追記:2016/6/6) 2TB超の場合、gdiskを使うようです。パーティションテーブルの編集には、これまでpartedを使っていましたが、次の機会にはgdiskを使ってみようと思います。

2.2.1 fdiskを使う場合

 fdiskの場合、最短「n→(default)→t→fd→w」だけのキー入力なので、簡単です。

$sudo fdisk /dev/sda

Command (m for help): n
Partition type
p   primary (0 primary, 0 extended, 4 free)
e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1):
First sector (2048-3907029167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907029167, default 3907029167):

Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): L

0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx
5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data
6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility
8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt
9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access
a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT
1e  Hidden W95 FAT1 80  Old Minix
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
2.2.2 partedを使う場合

 partedを使う場合には、以下のようになります。

$ sudo parted /dev/sda
(parted) mklabel msdos
(parted) mkpart
Partition type?  primary/extended? primary
File system type?  [ext2]? ext4
Start? 0
End? -1s
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) set 1 raid on
(parted) p
Model: ST2000LM 003 HN-M201RAD (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End     Size    Type     File system  Flags
1      512B   2000GB  2000GB  primary  ext4         raid, lba

(parted) quit

 RAIDで使うので、file system typeを指定する必要はないような気がしますが、いつも使っているext4を指定しています。

3. RAID1デバイスの作成

 /dev/sda,/dev/sdbのパーティションを作成したら、次にRAIDデバイスを構成します。

3.1 mdadmのインストール

 RAIDディスクを構築・管理するmdadmをインストールします。

$ sudo apt-get install mdadm

 インストールの途中、起動時にアレイを開始するか聞かれましたが、"none"と回答しました。本当のサーバ機なら、"all"のままでいいと思いますが、ときどき外付けHDDを外したりするのではないかと思ったので、"none"にしました (*) 。ubuntuでは聞かれない質問でしたので、ちょっと困惑。

  *: 最終的には、"all"にしました。"none"のまま自動マウントを設定すると、ラズパイの起動が途中で停止して、自動マウントが設定できなかったのです。やはり、自動マウントできる方が便利なので、"all"に変更しました。但し、"auto"でもRAIDにトラブルが発生した場合には、やはり停止します。途中停止した場合には、コンソールでrootになって、emacsやnanoで/etc/fstabを編集し、RAIDディスクをマウントしないようにすれば、起動できるようになりましたが、ディスプレイ・キーボードなしだとこれができないので、この場合、"none"にして、手動でRAIDを起動した方がよいかもしれません(ディスプレイ・キーボードなしの私の初代ラズパイサーバは、起動がストップして困ったことはありません。fstabのディスクマウントのエラー時の処理の仕様が変わったのでしょうかね)。

 (追記:2016/6/6) 初代ラズパイはwheezy、ラズパイ3はjessieですが、jessieではマウント時の取り扱いに変更があり、リムーバブルドライブのマウントオプションはnoauto(自動マウントしない)かnofail(マウント失敗してもbootは継続する)を付けるようにする方がよいとのこと*1。起動が途中停止してしまうのは、この違いでしょうかね。

 (追記:2016/6/9) RAIDのresync/recovery完了後の検証ですが、後述のrootdelay=10の設定後は、"none"でも"all"でも、どちらでも自動マウントができました。"none"でも起動完了後にはRAIDはアクティブになっていたので、"none"だからといって、RAIDデバイスが起動されないということではないようです。

f:id:toranosuke_blog:20160606003847p:plain
mdadmのインストール時の問い合わせ。

f:id:toranosuke_blog:20160606084109j:plain
"none"で自動マウントを設定すると、RAIDが起動していない状態でディスクをマウントしようとする。タイムアウトするまで待って、その後、起動が途中停止する(sshではアクセスできない)。

3.2 RAIDデバイスの作成

 mdadmを使って、RAIDデバイス/dev/md0を構成しました。

$ sudo mdadm --create --auto=yes /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

/bootは入れられないよ、と警告がでますが、/bootは入れないのでyesを回答。

これで、/dev/md0というRAID1デバイスが構成されます。

$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
1953382464 blocks super 1.2 [2/2] [UU]
[>....................]  resync =  0.8% (16852864/1953382464) finish=1635.4min speed=19734K/sec
bitmap: 15/15 pages [60KB], 65536KB chunk

unused devices: 

 最後に以下のコマンドの結果を /etc/mdadm/mdadm.confに追加し、デバイスの構成情報を保存します。

$ mdadm --examine --scan 
ARRAY /dev/md/0  metadata=1.2 UUID=15735a52:1da65294:0a996f65:f5bbe070 name=raspi3:0

4. RAIDデバイスのマウント

4.1 パーティション、ファイルシステムの作成

 作成したRAIDデバイスにパーティション、ファイルシステムを作成し、マウントできるようにします。ファイルシステムはext4で作成しました。

$ sudo fdisk /dev/md0
$ sudo mkfs -t ext4 /dev/md0p1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 488345360 4k blocks and 122093568 inodes
Filesystem UUID: 4dd6b454-33a5-4746-b86a-9e71ef1e5bda
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

4.2 マウントの設定

4.2.1 mdadmのインストールで、boot時のRAID起動を"none"にした場合

 この場合、起動時にmd0にアクセスできませんので、起動完了後に以下を実行します。

$ sudo mdadm --assemble /dev/md0 
  (あるいは sudo mdadm --assemble --scan この場合、全てのRAIDディスクがアクティブになる)
$ sudo mount /dev/md0p1 /mnt/raspi3-u3/

 ラズパイ本体を再起動、動作確認をして設定完了です。

4.2.2 mdadmのインストールで、boot時のRAID起動を"all"にした場合

 まず、blkidで/dev/md0p1のUUIDを調べます。

$ sudo blkid /dev/md0p1
/dev/md0p1: UUID="4dd6b454-33a5-4746-b86a-9e71ef1e5bda" TYPE="ext4" PARTUUID="fe3a90ec-01"

このUUIDを用いて、以下の行を/etc/fstabに追加し、自動的にマウントするようにします。マウントポイントは、/mnt/raspi3-u3にしています。

UUID=4dd6b454-33a5-4746-b86a-9e71ef1e5bda /mnt/raspi3-u3 ext4 defaults,nofail 0 0

 注:nofailにより、自動マウント失敗した場合でも、bootが停止しない*2

マウントして、fstabの設定を確認します。

$ sudo mount -a
$ df
ファイルシス                   1K-ブロック     使用     使用可 使用% マウント位置
/dev/root                         61874300 13033784   46271248   22% /
devtmpfs                            469688        0     469688    0% /dev
tmpfs                               474004        0     474004    0% /dev/shm
tmpfs                               474004     6644     467360    2% /run
tmpfs                                 5120        4       5116    1% /run/lock
tmpfs                               474004        0     474004    0% /sys/fs/cgroup
/dev/mmcblk0p1                       61384    20376      41008   34% /boot
tmpfs                                94804        0      94804    0% /run/user/1000
tmpfs                                94804        0      94804    0% /run/user/109
tmpfs                                94804        4      94800    1% /run/user/1002
/dev/md0p1                      1922598776    68956 1824844364    1% /mnt/raspi3-u3

 自動的にマウントしたい場合には、"none"ではなく、"all"を選択し、RAIDを起動させておく必要がありますが、既にnoneを選択している場合には、dpkg-reconfigureで"all"に再設定できます(dpkg-reconfigureでは、他に、定期的な冗長性のチェックや監視デーモンの起動、メールの通知先の設定もできます)。

$ sudo dpkg-reconfigure mdadm

 再起動して、特に問題がなければ、RAIDディスクの設定は終了です。

 問題がありました...。通常であれば、再起動して問題なく動作するはずですが、正常に起動しませんでした。コンソールメッセージを見ていると、RAIDのアクティブ化に失敗している模様。いろいろ調べたところ、外付けディスクの起動を待つ必要があるようなので、bootを遅延させることで、解決できました。 bootの遅延は、/boot/cmdline.txtの既存行に以下のように"rootdelay=10"を追加しました*3

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootdelay=10 rootwait

以上で、1台目のRAID1ディスクの完成です。

5. 2台目のRAIDディスクの構築

 2台目のRAIDディスクも1台目と同様に設定を行います。

5.1 デバイス名の確認

 1台目のRAID1ディスクが接続している状態で、既存のHDDのデバイス名を確認します。

$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sdb  /dev/sdb1

 次に、2台目のHDDを接続し、デバイス名を確認します。

$ ls /dev/sd*
/dev/sdc  /dev/sdd  /dev/sdd1  /dev/sde

 あれれ、...。/dev/sda,/dev/sdbが消えている。HDDを3台しか認識していない。その後、いろいろやってみましたが、(リビルド中でHDDの電力消費が多いため?)1つのハブではデバイスの認識が不安定になっているようなので、もう1つハブを加えて、配線し直しました。

$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sdb  /dev/sdc  /dev/sdc1  /dev/sdd

 /dev/sda1, /dev/sdc1が1台目RAIDディスク、/dev/sdb,/dev/sddがUSB2.0のHDDです。同じHDDケース、同じ内蔵HDDだと、さらに混乱するので、hdparmで予めHDDのシリアル番号を調べておいた方がよいかもしれません。

$ sudo hdparm -I /dev/sdb | grep Serial\ Number
Serial Number:      S321J9AF907896
$ sudo hdparm -I /dev/sdd | grep Serial\ Number
Serial Number:      S321J9AF907882

5.2 2台目のRAIDディスクの設定

 デバイス名が確認できたら、あとは1台目のRAIDディスクと同様に設定を行います。

$ sudo fdisk /dev/sdb  (Linux raid autodetectで作成)
$ sudo fdisk /dev/sdd  (Linux raid autodetectで作成)
$ sudo mdadm --create --auto=yes /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdd1
$ sudo mdadm --examine --scan  (md1に対応する記述を/etc/mdadm/mdadm.confに追加)
$ sudo fdisk /dev/md1
$ sudo mkfs -t ext4 /dev/md1p1

---手動マウントの場合---
$ sudo mount /dev/md1p1 /mnt/raspi3-u2

---自動マウントの場合---
$ sudo blkid  /dev/md1p1 (出力されるUUIDを用いて /etc/fstabを編集)
$ sudo mount  -a

 再起動して期待通りの動作をしているか、確認します。2台ともに正常動作していれば、RAIDディスクの設定は完了です。

5.3 RAIDの同期時間

 最後に、同期の完了時間を確認してみました。

$ cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb1[0] sdd1[1]
      1953382464 blocks super 1.2 [2/2] [UU]
      [=>...................]  resync =  7.3% (143416704/1953382464) finish=2875.6min speed=10489K/sec
      bitmap: 14/15 pages [56KB], 65536KB chunk

md0 : active raid1 sda1[0] sdc1[1]
      1953382464 blocks super 1.2 [2/1] [_U]
      [==>..................]  recovery = 13.8% (269767488/1953382464) finish=2728.5min speed=10283K/sec
      bitmap: 13/15 pages [52KB], 65536KB chunk

unused devices: 

finishするのに、約2800min、まるまる2日かかります。RAIDが1台だけだと、1日程度だったので、約2倍になってしまいました。USBの転送速度がネックになっているのでしょうかね。

 md0の"recovery"は、ご愛敬。いろいろやっているうちに、修復することになってしまいました。

6. おわりに

 今回は、raspberry pi3でのRAID1ディスクの構築についてまとめました。ubuntu+内蔵HDDで構成する場合と違って、多少苦労しました。特に、起動を遅延させること、ハブの給電不足の解消のところでハマりました。2つハブが必要になったり、最近2TBでは窮屈だったりしているので、初代ラズパイとの兼ね合いでHDD3台の4TBのRAID5ディスクに構成し直すかもしれません。

 次回は、samba、nfsなどを使ったファイル共有についてまとめる予定です。

(2016/6/6)

(追記:2016/6/9)

ラズパイ3でのRAID設定の注意点をまとめると、

 - HDDの起動を待つため、bootを遅延させる(/boot/cmdline.txtにrootdelay=10を追加)。
 - 自動マウント失敗での起動停止を避けるなら、/etc/fstabでnofailを追加する。

 boot時のRAID起動設定の"none","all"は、少なくともRAIDが正常な状態では、自動マウントを含めて違いはないように見えます。

参考文献

関連記事

*1:http://qiita.com/Cinosura/items/6ab435331ea2b3671a1d

*2:https://www.debian.org/releases/jessie/i386/release-notes/ch-information.ja.html#systemd-auto-mounts-incompat

*3:http://blog.drewwithers.com/2013/11/raspberry-pi-usb-raid1-root-partition.html
このブログの記事はRAIDブートの方法ですが、SSDブートにも応用できそうですね。後々、問題が生じそうなので、やりませんけど...。

Raspberry Pi3でサーバを構築する (1) ハードディスクの設置

 今回からは、Raspberry Pi3を用いたファイルサーバの構築についてまとめようと思います。初代ラズパイでは、nfsサーバ、sambaサーバ、DLNAサーバを立ち上げていたので、まずは、この3つのサービスを実現したいと思います。

 今回の記事では、ハードディスクの設置についてまとめます。

1. ハードディスクの用意

 2.5インチの2TBハードディスクを4台使って、RAID1ディスクを2つ作ります。1つ目のRAIDディスクがマスター、2つ目がそのバックアップ用のRAIDディスク。豪華です(笑)。全部で8TBのハードディスクがありますが、RAID1とそのバックアップに使うので、実質的には、2TBの容量です。ハードディスクは故障するものなので、贅沢構成にしています。初代ラズパイのサーバも合流する予定なので、そのときは初代ラズパイ側をバックアップ用にするつもりです。 

1.1 内蔵HDD

 内蔵ハードディスクよりも外付けのポータブルHDDの方が安いという逆転現象がよく起こりますが、昔買ったものが余っていたので、内蔵ハードディスクを利用しました。また、ディスク障害が起こったときに、ディスクケースであれば、中身だけの交換、SATA/USBインタフェースに変更がないので、トラブルも少ないように思います。

 ディスクは、価格コム最安値圏のSeagate(Samsung)の内蔵ハードディスクST2000LM003を使いました(12,9400円@amazon,2016/6/4)。

 頑張れ日本ということで、同じく最安値圏の東芝の2TB HDD(MQ01ABB200)を使ったこともあるのですが、すぐに壊れてしまったので、それ以降使っていません。それに15㎜厚なので、ハードディスクケースもなかなか適合するものがないかも。

1.2 ハードディスクケース

  ラズパイのUSBは2.0なので、USB3.0を使う必要はありませんが、今回は、玄人志向の昔買ったGW2.5BM-SU3/BK(2163円,USB3.0)と、新規購入したGW2.5SC-SU2(731円,USB2.0)を使いました。本体側のUSBケーブルが2本に分岐している補助電源が必要なタイプです。USB2.0のハードディスクケースの方は、延長ケーブルが2本差しになっているだけなので、1本でも動作するのではないかと思います。ハードディスクケースは、相性があるようなので、動作実績があるものを選んだ方がよいでしょう、というかハマった*1

2. バスパワー接続の検討

 ラズパイには4つのUSBポートがあります。できれば、セルフパワーのUSBハブなどを繋げてケーブルを増やしたくはない。初代ラズパイでは、USBポートから電源を取ると、不安定になるので、USBハブは必須でしたが、ラズパイ3では大丈夫だろうか。普通に考えて、HDDを4つも繋げるのは、無謀でシステムの不安定化につながりそうだけど、ちょっとチャレンジしてみました。

2.1 消費電力の計測

 まずは、ラズパイ本体の消費電力を計測しました。消費電力の計測には、ルートアールの電圧・電流チェッカーRT-USBVATMを用いました。測定範囲は、0~3.3Aまでなので、今回使った電源アダプタの電力量(5.2V*2.4A)は、計測範囲内です。

 ラズパイ単独の消費電力は、Logicoolの無線キーボードが付いた状態で、以下のようなものでした。

  • 起動時: (5V程度) / 0.28-0.47A
  • 何もしていない状態: 4.92V / 0.32A
  • YouTube再生時(CPU50%): 4.85V / 0.45A
  • 行列計算によりCPU負荷100%: 4.72V / 0.72A
  • 何もしていない状態で、USB3.0のHDD(GW25BM-SU3)を接続: 4.63V / 0.55A

 負荷を増やすと、電圧が5Vから4.7Vと低下していきます。なんか雲行きが怪しい。 それに、HDDを接続すると、マシンが不安定になってしまいました。ますます怪しい。

f:id:toranosuke_blog:20160604083129j:plain:w250
USB電流チェッカーでの計測値は5.04V*0.30A(Logicoolドングル無し)。

大きい方は、ワットチェッカー*2。USBでは5V*0.3A=1.5Wであったが、ACアダプターを込みにしたワットチェッカーの計測値では3Wとなっている。

2.2 USB最大電流の設定変更

 いろいろ調べると、ラズパイのUSBは最大電流0.6Aに制限されているそうです。この制限を1.2Aにしてポータブルハードディスクを接続するようなので、試してみました。最大電流1.2Aに変更するには、/boot/config.txtに以下の一行を追加します。但し、1.2Aは各ポートの最大電流ではなく、全体での値。

max_usb_current=1

safe_mode_gpio=4も併せて書く例がよくでていますが、safe_mode_gpio=4とmax_usb_current=1は同じで、片方だけ書いておけばよいとのこと*3。最大電流を1.2Aにしても、やはり動作せず。

 USB2.0のポータブルHDDでは、USB2.0規格の5V-0.5A以下で動くように作られているはずなので、USB2.0のGW2.5SC-SU2やUSB2.0ケーブルが1本だけのHDDケース(CenturyシンプルBOX2.5SATA)を接続しましたが、これも駄目でした。

 バスパワーはやはり無理ということで諦め、セルフパワーのハブ経由で接続することにしました。もともと4台は無理だろうと思いましたが、1台も動かないのは寂しいです。何がいけないのだろうか。

(追記:2016/6/5) SL2000LM003のカタログ*4を見ると、"spin-up current(max): 1000mA"とありました。SATA/USBのインタフェース部分の消費電力は不明ですが、Logicoolのドングル付きではトータルで1.2Aは超えそうです。必要な電流量が多くて、ディスクのスピンアップができないということが原因でしょかね。確かにディスクは回転していません。

3. ハードディスクの設置

 バスパワーでは駄目だったので、セルフパワーのハブを用いてハードディスク4台を接続しました。

3.1 セルフパワーのUSBハブ

 使ったUSBハブは、Bufalloの7ポートのUSBハブ。4台のHDDがそれぞれUSBコネクタを2本持っているので、本当は8ポート必要なのですが、1台だけは、USBケーブル1本だけで接続しています。4台接続でUSBハブのACアダプターのワット数を計測すると、10Wの消費電力でした。ラズパイへの4台接続はどう考えても無理ですね。

(追記)
 Bufflaoの7ポートハブでは、4台のHDDを繋げると不安定だったので、7ポートハブを2台使って配線し直しました(次の記事(RAID1ディスクの構築))。もう少し容量の大きいハブを使えば、1つでも安定して動作したかもしれません。

3.2 ラックへの設置

 100円ショップで買ってきたラックに設置・配線しました。写真で示すように背面はケーブルだらけのスパゲッティ状態、悲惨です。ケーブル長をちょうどのものに合わせて結束すればいいのですけど、そこまでするのは面倒です。仮置きの状態ですが、ハードディスクは縦置きにしました。3.5インチHDDを隙間なしに積み上げて、熱でやられてしまった経験があるので、どうも横置きには抵抗があります。それでも、横置きで積み上げると固定が楽なので、変更するかもしれません。

 下段のミニパソコン用に設置した自作のファンの空気流がHDDにも流れるようになっているので、現状の設置では熱問題は発生しないと思います。

f:id:toranosuke_blog:20160604093429j:plain:w600
ラックに設置したラズパイと4台のハードディスク。
下段に置いてある白いマシンは、中華製の4K出力可能なWindowsパソコンVOYO V3*5
(Cherry Trail X7-Z8700, 4GB-RAM, 128GB-SSD)


f:id:toranosuke_blog:20160604092327j:plain:w600
裏は、ケーブルだらけ。

4. おわりに

 今回の記事では、ハードディスクの設置までを書きました。次回は、RAID1ディスクの設定についてまとめる予定です。

2016/6/4

次の記事

関連記事

*1:価格コム売れ筋の玄人志向GW2.5CR-U3(886円,USB3.0)を新規に4台購入しましたが、動作せず。私の持っている外付けHDDケースでは、これだけが動作しませんでした(涙)。

*2:

*3:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=105502

*4:http://www.seagate.com/www-content/support-content/samsung/internal-products/spinpoint-m-series/en-us/samsung-m9t-internal-ds.pdf

*5: