自宅サーバのメリット・デメリット ~VPS と比較して~

自分用メモ。
自宅サーバを運営しといてナンだけど,自宅サーバのメリットらしいメリットが本気で思いつかない。さくら VPS のステマとか言われそう。誰か自宅サーバならではのメリットを思いついたら教えてください。
あ,ちなみにこのサイトは自宅サーバではなくレンタルサーバでのホスティングです。

デメリット

  • コストが高い
  •  自分の環境=Interlink 1 IP(月1,296円) + Star domain .net 独自ドメイン(年850円) + 標準的なサーバとルータ(計45 + 10 = 55W として電気代月1,026円・ハードウェア代計2万,4年間使えるとして月417円)の場合で,月2,810円,年間33,714円もの費用がかかります。ISP を i-revo(月525円。ただし転送容量制限が非常にキツいです)に,サーバを ECS LIVA(ASCII.jp のレビューによるとアイドル3W,月約56円・ハードウェア約1.8万,2年間使えるとして月750円)にしてルータをマルチセッション対応かつポリシールーティング対応のものにし通常使用のセッションと共有にすれば月1,402円,年間16,824円まで圧縮することができますが,VPS の方が高スペックで安価(「さくらの VPS」で仮想3コアRAM2GBディスク200GBのプランが月1,396円)です。ある程度大規模になり,大量の物理回線がある環境であれば自宅サーバの方が割安になるのかもしれませんが,まあ個人が趣味で運用する「自宅サーバ」の範疇としてはありえない話でしょう。
    2014/9/18追記:いまさら不備を発見。「標準的なサーバ」というのは「自宅サーバとして標準的なサーバ」という意味であり,具体的には富士通 PRIMERGY TX100 S3P で,CPU Pen G640,RAM 6GB,HDD 1TBx2 という構成で使っていました(過去形。現在停止して WWW のみレンタルサーバで運用中。そのうち VPS に乗り換えるかも)。またどうやら最近は「安鯖」も1万円以下では出なくなっているようなので,自宅サーバの初期投資費用は+1万くらいになるかも。
     見えないコストとして,室温上昇による空調費アップ,火災などのリスク(滅多にあることではないでしょうがこのリスクが無視できるほど低いと言い切ることのできる理由も見当たりません)などもあります。
     つまり,コスト面では,自宅サーバを選ぶ理由は一切ありません。

  • 可用性・信頼性が低い
  •  気をつけていても電気の使いすぎでブレーカーを落とすことはありますし,そうでなくても家庭用電源はまれに瞬断を起こします。ろくな検証をしていない自宅サーバ環境ではディスクのホットスワップは避けたいですので RAID を組んでいるディスクの1台が故障すればサーバの電源を落として作業したいですし,生活空間に置くものですからケーブルをひっかけて抜いてしまうことなどもあるかもしれません。サーバルームに並べられた高信頼性サーバで安定して運用されている VPS からすれば全く比べものにならないほど止まりやすいシステムだと考えるべきでしょう。
     つまり,可用性・信頼性の点から見ても自宅サーバを選ぶ理由は一切ありません。

メリット

  • トラブル対応がより容易(かもしれない)
  •  リモートアクセスが不能になるような大失敗をしても容易に復旧ができます。そのため,自分の使ったことのないソフトウェアやベータバージョンのソフトウェアなども気兼ねせずどんどん使えます。ただし,普通は VPS でもブラウザ越しにシリアルコンソールからアクセスできる機能が提供されているので,実際のメリットは微妙なところです。

  • ハードウェアの知識も(本当に少しだけだけど)付く
  •  タワー型サーバを使用する場合のみ,かつ本当に少しだけではありますが,VPS とは違いハードウェアいじりめいたことも楽しめます。

  • リソース制限が(やや)ゆるい
  •  個人が趣味で運営する程度の規模では VPS でもリソースの使いすぎで規制されることは考えにくいですし,ましてや規制される水準のリソースが恒常的に必要となる可能性なんてほぼありえないとは思いますが,自宅サーバであれば CPU やディスク I/O を制限なしで利用できます。ただし,回線の転送容量については,(ISP も VPS も具体的な数値は示されていないものの Interlinkが30GB~?/日に対してさくらレンサバのスタンダードプランが80GB/日であることから推測するに)VPS の方が大幅に制限がゆるいものと想像されます。

  • けなげに働くサーバの姿を見ると和む
  •  私はサーバを玄関に設置しているのですが,一日を終え玄関ドアを開けて帰宅するとサーバが HDD アクセスランプをチカチカと光らせながら出迎えてくれます。雨の日も風の日も回線メンテの日も,怠けずたゆまず一心に働き続ける自宅サーバ。その姿を見ると,現代社会の矛盾に耐えるうちに汚れきってしまった私の心に清らかなそよ風が吹き,僕も一生懸命頑張ろう,24時間は無理だけど1日8時間くらいは頑張ろう,と健やかで前向きな気持ちになれます。

T100TA:「SD にインストール」の実用性は?

Windows タブレットのデータ保存領域はどれも低容量ですが,T100TA の下位モデルは内蔵 eMMC が 32GB と特に低容量です。キーボードドック付きでノート PC として使うことの多い機種ですので,なおさら手狭に感じます。私の T100TA も残容量が6GBを切りそうな勢いです……そこで「ソフトは micro SD(HC/XC 含む,以下「SD」と総称) カードにインストールしよう」ということになるのですが,ここで心配になるのはその実用性です。そう,周知の通り SD カードは遅い!です。Class10 でさえ安物 CF に劣り,高速 CF も安物 SSD に勝てないというのが常識。ソフトを SD にインストールして利用するというのは果たして現実的なアイデアなのでしょうか。
今回はこの問題について考えてみます。

お決まり,まずはベンチマーク
とりあえずベンチマークを走らせてみました。使用したのは Windows 用ストレージベンチとして定評のある「CrystalDiskMark」,書き込みデータ容量は「100MB」で試行回数は「3回」という設定です。
まずは内蔵 eMMC の結果です。T100TA の内蔵 eMMC には SanDisk 製と Hynix 製の2種類が確認されているそうで,SanDisk 製のものの方が遅いそうですが,私の個体の内蔵 eMMC はその遅い方の SanDisk 製のものです。
pic-20140227-232303
なかなかの速度が出ています。

次に SD です。私が使用しているのは,信頼性と性能から見たコストパフォーマンスの高さで人気の東芝 Class10/UHS-1 対応モデル microSDHC カード,「MU-B016GX」です。もっとも T100TA の内蔵カードリーダがダメダメなので性能を引き出してやることはできません。他にも T100TA で microSD のベンチを取られている方は多いですが,概ね私の結果と似たような数字になっているので,このへんが T100TA のカードリーダの限界と見てよいでしょう。
pic-20140227-231838
物悲しげな数字が出てきました。ランダムリードの数字はそう悪くありません。ランダムライトも一昔前の HDD くらいで,ギリギリ許容範囲内でしょうか。ただ,シーケンシャルリード/ライトは目立って遅いです。また,「512K Write」がやたらと遅いのが気になります。これらの特性は実用にあたりどのような結果をもたらすのでしょうか?

実際にソフトを使って比較
実際のソフト起動時間の計測結果も紹介します。ただし,手での計測であり,値はそれぞれ二回ずつ計測した結果の平均ですので,参考程度だと思ってください。コンマ以下は3桁まで計測していますが,1桁までに四捨五入しています。
今回検証に使用したのは GIMP を PortableApps.com がカスタマイズした「GIMP Portable」。インストール条件,読み込むツールや開くウインドウなどはいずれも標準設定です。eMMC と SD の条件は上述の通り,開く画像は Pentax K-5 で撮影した7,268KB・3936×2624の JPG ファイルで,適用するフィルタは「Cartoon」(Mark radius:7.00,Percent black:0.200),エクスポートの形式は PNG で標準設定から圧縮レベルのみ「0」です。

eMMC
内蔵 eMMC の GIMP Portable を画像を指定せずに起動:
15秒4

同,内蔵 eMMC に保存された画像を指定して起動:
17秒5

上で開いた画像にフィルタを適用:
19秒6

上で編集した画像を内蔵 eMMC に保存:
3秒0

SD
SD の GIMP Portable を画像を指定せずに起動:
19秒0

同,SD に保存された画像を指定して起動:
20秒7

上で開いた画像にフィルタを適用:
19秒5

上で編集した画像を SD に保存:
6秒5

なかなか面白い結果が出ました。ベンチマークの数字では eMMC と SD のランダム・シーケンシャルリードにはかなりの差があるのですが,実際の起動時間はそれほど変わらないようです。フィルタ適用はオンメモリでの処理なので差が出ていません。そして,画像の保存には倍の差がついています。ベンチマークの数字から考えれば起動の差より保存の差の方がずっと小さくなりそうなもんなんですが。起動時には私が思っているより複雑なことが行われているのかもしれません。まあなんにせよ,実使用ではベンチマークの数字ほどには差がでないようです。少なくとも速度面については充分実用になると判断してよさそうです。

寿命の問題
速度はまあ許容範囲内ということがわかりました。ただ,問題は速度だけではありません。
次に気になるのはSD カードの寿命がどれくらいのものなのかということです。もちろん SSD も SD カードも使っているフラッシュメモリの寿命という点では変わりません(一般に,MLC の場合で1ブロックあたり書き換え1,000〜10,000回程度だと言われている)し,SSD と同じく SD カードもウェアレベリングはしています。しかし,SSD が壊れたという話はほとんど聞かないのに対して,SD カードは自分の経験だけでもよく壊れています。これは一体なぜでしょう。SSD と SD カードの違いを考えてみるに,以下あたりが怪しそうです。

    • 容量の違い?

SD カードは数GBなど低容量のものが多いが,低容量のため代替ブロックが少なく,それが寿命の短さにつながっているのでは,という仮説。

    • コントローラの性能や寿命?

SD カードは SSD と比べてコントローラの性能が低く不良ブロックを見落としやすいのではないか,あるいはコントローラの寿命が短くフラッシュメモリの寿命より早く挙動がおかしくなるのではないかという仮説。

    • ウェアレベリングしていないカードがある?

ネット上のベンチ結果情報を見ると,寿命は長いものと短いものに二極化している印象を受けます。また,私はコントローラチップのメーカーがウェアレベリングしているといっているのだからしているのだろうと思っていましたが,SD カードはウェアレベリングをしていない,という主張も時折見かけます。ひょっとして安物カードのコントローラはウェアレベリングをしていなくてフラッシュメモリがすぐ死ぬのかも?という仮説。前2つよりさらに無根拠です。

    • 単純に数の差?

たとえば私の部屋に SSD は3台しかありませんが SD カードは20枚くらいあります。つまり,そもそも SD カードの方がよく壊れるという前提が間違いなのでは,という仮説。案外これだったりして。

立ちはばかる謎を解決する手がかりを得るべく検索エンジンと格闘したのですが,この問題につき満足のゆく答えは得られませんでした。かくなる上は自分で実際に検証してみるしかないのですが,それだけの根気も財力も結果が正しいかを判断できるだけの知識もないので,形あるものは全て滅びる定め,与えられた運命を受け入れ……じゃなかった,破損しても問題のないデータのみを置くようにして,いつ壊れても大丈夫なように設定ファイルなどはこまめにバックアップを取るようにして使っていこうと思います。引き伸ばした割にダメダメな結論で申し訳ありません。

紛失の問題
T100TA はなぜか microSD カードがスロットから少しはみ出す(ツライチにならない)作りになっています。ツライチにするのも難しくはないだろうになぜわざわざこんな仕様にするのか本当に理解に苦しみますが,現にそうなっているものは仕方ありません。考えられる対策としては以下のようなものがあります。

    • SD カードを削る

実施済み。ただ,T100TA の場合カードの背ではなく回路のある腹の側を削らねばならず,あまり大きくは削れません。そのため,安全圏内でギリギリまで削ったとてほとんど改善はしません(若干引っかかりにくくなる程度)。

    • テープでとめる

これが最良の選択肢かもしれません。ただ,気づかないうちにカードがリリースされていて接触が不安定になりデータが破損するリスクがあります。また,テープでとめたところで粘着力が弱まって落ちないという保証はありません。

どちらも抜本的ではありません。流出したら困るデータはそもそも置かない,という配慮が必要でしょう。これはけっこう致命的かもしれません。またもやダメダメな結論で申し訳ありません。

結局のところ
microSD についてはあくまでも補助的に考えるべきのようです。速度面ではそれほど問題は無いようですが,寿命が不明なので破損したら面倒なことになるデータは置きたくありませんし,ソフトにしても,ブラウザやメーラーなど流出させるわけにはいかないセンシティブな情報を設定ファイルに含むソフトは残念ながら置くことはできません。その一方で,ゲームやダウンロードしたファイルの置き場としては大活躍することでしょう。実際,試しに「Tropico 4」というゲームを SD にインストールしてみましたが,ローディングこそ少し遅いもののなかなか快適にプレイできています。もし microSD スロットがなければ空き容量の問題からこのマシンでゲームを楽しむことはできなかったはずですので,この microSD スロットのおかげで活用の幅が大きく広がったわけです。表題の問いに対しては,「用途によっては充分に実用的だし,用途によっては実用云々の以前に危険」という答えになりそうです。

続編? → T100TA: Truecrypt の力を借りて microSD カードの実用性を上げるメモ | 怠惰の形而上学

参照: