ssig33.com

自宅で大容量ストレージを運用する

前回 RAID に関するちょっとした話を書きましたが個人が巨大なストレージを運用するにあたって得られたノウハウをだいたい全部書いておきます。

そもそもメリットあるのか?

メリットはあります。金です。 Google Drive は安いですが、それでも 1TB 月 1000 円です。しかし運用にかなり制限がでます。柔軟に使える Amazon Web Service ならその 3 倍+転送量課金です。 16TB だと月 5 万円もかかってしまいます。ちなみにもっとも柔軟に使える EBS だと 16TB で 83000 円ぐらいです。

Google Compute Engine の低冗長性ストレージは S3 より少し安かった気はするけど別にとても安いわけではなかったと思う(よく覚えていないし調べるのがめんどくさい)。

50TB のストレージを Google Drive でごまかしごまかし運用したとしても年間 60 万円かかります。現実的には 150-200 万円の予算が必要でしょう。

しかしながら自宅サーバーでやった場合は機材代 30 万円ほどと月々の電気代 1 万円ほどで回ります。ハードウェアのコストを何か月で割るべきかは検討が必要ですが、仮に毎年 30 万円ハードウェアを買う意味不明な運用でも Google Drive よりも安く済みます。あまり厳密に計算してませんが年間 20 万円前後しかかかっていないと思う。

また得られるのが極めてふつうのファイルシステムだというのはかなりの利点です。 S3 なんかよりずっと使いやすい。

逆にいえば数 TB しか使わないようなら S3 でやった方がコスト的に有利であることが多いでしょう。

デメリットは?

明らかです。

構成をどのようにとるべきか

「とるべきか」なんて偉そうな見出しをつけてしまいましたが僕がどうしているかという話です。

ソフトウェア面

僕のところでは mdadm で組んだ複数の RAID5 アレイを LVM で束ねて一つの巨大な XFS ファイルシステムとして運用しています。

RAID5 ごとにパーティションを作って複数のパーティションで運用するという考え方もあります。ですがそれよりは LVM で一つの巨大なパーティションとして見せてしまったほうがソフトウェア開発が楽だと思います。 XFS は LVM に参加している PV が一個吹き飛んだところでそのまま動き続けるほどに堅牢です(むろん飛んだところにあるデータは見えなくなりますが)。

ext4 を使わない理由は 16TB 以上のパーティションを作ることに関して問題があったためです。この記事で書いた話は 2014 年現在では改善されてる可能性は高いとは思いますが、十分に枯れていて信頼性の高い XFS を使うことはよい判断だと思います。

ZFS に関しては、よく知らない。。。

ハードウェア面

実際問題個人が一つのシステムに大量の HDD を搭載したい場合、センチュリー社の裸族のスカイタワーという 10 個のベイを持つ HDD ケースを用いることが唯一の選択肢です。

eSATA は大変に枯れた安定したプロトコルであり、 eSATA 経由で裸族のスカイタワーを接続するというのはすぐれた選択肢でした

でしたというのは eSATA 接続ができる裸族のスカイタワーはもうディスコンになってしまっているので、現在では USB3.0 経由で接続するものを買うことになります。

少なくとも SandyBridge 世代においては USB3.0 接続の HDD ケースは、馬の糞未満の存在でした。刺したはずの HDD が認識されないとか、システムの稼働中に HDD が見えなくなるとかありがちでした。

時代はあれから進んでいますからいい加減諸々安定してるんじゃないかとは思うんですが、このあたりいろいろ検証が必要なめんどくさい部分です。

ちなみに僕は eSATA 版の在庫を数台買占めました。

運用において

いろいろとありますが、一番重要なことは一週間に一回メンテナンスウィンドウを切っておき、システムを再起動をするということです。

ストレージの障害は再起動と共に顕在化することが多いというのが 3 年間やってみての感想です。

一週間に一回 5 分の再起動をやることで最終的な稼働率は上がるのではないかと思っています。

まとめ

数十 TB のストレージが欲しいだって?考え直せ。

back to index of texts


Site Search

Update History of this content