treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

(1/2)サーバのハードディスク、SASとSATA

サーバのハードディスクってご存知ですか?
本日は昔勉強した基礎知識を織り交ぜつつ、サーバのハードディスクってパソコンと違う、という点についてご報告します。

(※今回はSSDには触れません。別の機会に)

サーバは、昨今では家庭用NASなどが流行ったこともあって、家庭でも一家に一台、と言ってもいいほどの普及を見せています。DLNAが登場したことでNASNEのようなメディアサーバも便利に使えて、いい世の中になったものだと実感できます。

しかし、業務の現場で中大規模のサーバを扱う際に、PCで通用していた知識や値段の感覚が通用しなくなる水準があります。
代表的なのがハードディスクです。エンタープライズ製品のサーバハードディスクはPCのそれと異なることが多いです。

※注※
あくまで私が学んだ範囲での主観を多く含んでいます。実際にはよくご自身の環境を調査の上、適切な選定を実施なさってくださいね。

以前にストレージ選定したとき

昔、ストレージを選定するときに、SANストレージかiSCSIかエクスパンション(Expansion)か、と、どれを選定しようかとあれこれ調べたことがあります。

単純に1台のサーバのHDD容量を増加させる「外付けHDDの怪物」エクスパンションかそれとも技術革新によって静かにブームに火が付き始めた「新進気鋭(ブームが再燃?)技術」iSCSIにするか、安定と信頼のFCで通信する「高級品ストレージ」SANストレージか、サーバを構築する立場の方であれば、この悩ましさ、ご理解いただけると思います。
結局iSCSIに落ち着いたのですが、ストレージってシャーシ(エンクロージャともいう)を選択したとしてもシャーシに装填するHDDの性能によってシャーシの性能を台無しにすることもあるし、シャーシの性能を100%引き出すこともある、バランスが大事な技術なんですね。

で、くだんのSAS&SATAで迷ったのですが、要するにインターフェース部分の規格が全く違います。見た目から違うので互い違いで接続できないというのは見れば分かるのですが、それ以外にも大きく性能差があることが分かりました。

SASとSATAのざっくり比較

SASハードディスクはエンタープライズ向け、SATAハードディスクはコンシューマやスモールビジネス向け、という住み分けがされています。
ざっくり言って(以前の傾向では)
SAS:SATAで容量比「1:3」
SAS:SATAで速度比「2:1」
SAS:SATAで価格比「2:1」
SATAはSASの半額で三倍の容量を手に入れることができます。
逆に言えばSASはSATAの二分の一の容量を倍額で購入することになります。
しかしSASはSATAの三倍の速度で動作することができます。
速度のSAS、容量のSATAという見方ができます。

ディスクへの書き込みが頻繁に実行される本番環境のサーバストレージはSAS、
バックアップのようなひたすらデータを保存する保管庫サーバストレージにはSATA、
という選択をされることが多いです。
といってもSATAで本番環境サーバに搭載してビッシビシいくぞ、と使っているケースも多いので、あくまでも目安ととらえた方がいいかもしれませんね。結局その環境のディスクI/Oはどれくらいかを見積もらないと最適は導き出せないです。

しかしSATAディスク選定時に注意書きが

安くてディスク容量大盛、SATAディスクを選定しようと思ったのですが、メーカから注意事項が伝達されました。
SATAの場合、メーカによっては「ミッションクリティカルな用途にはお勧めしません。」と言い切ってしまうメーカもあります。要するに1TBや2TBのディスクだとディスク交換時にRAIDを構成するのに時間が掛かるとか、SATAだとRAIDボードだけでなくCPU・チップセットに負荷が掛かるとか、そういう点を考慮して運用時に多少大変になるじゃないか?という懸念があるためだと考えられます。
また具体的なデータが提示されるわけではありませんが、多数派のメーカではSATAよりもSASの方が信頼性が高い、という定説を語られます。(ディスクそのものの信頼性かSAS:SATAの規格上の信頼性かは定かでありませんが)

I/OがSATAは半二重でSASは全二重

100Base-Tのイーサネットで半二重(=ハーフデュプレックス)と全二重(=フルデュプレックス)という表現を聞いたことはありませんか?要するに半二重のイーサネットではINとOUTが同時に通信できないためコリジョンが発生する、という解説のことです。
イーサネットのようなコリジョンが発生するわけではありませんが、SATAは半二重で通信するのでINの通信中はOUTの通信は待ち(切り替え待ち)になります。一方のSASでは全二重なのでIN/OUTは同時に実行されます。SATAディスク単体でHyper-Vのゲストを構成すると引っ掛かりを感じることがありますが、この点も関係あると思います。

ちなみに関係ありませんが、SASコントローラにはSATAディスクも接続可能なので、SASコントローラ搭載のサーバであればSATAディスクを混在できます。この場合にはSATA規格で接続したディスクだけ半二重になる(はず)です。

要するに「データを読みながら書き込みを同時進行してもパフォーマンスを一定に保つのであれば、SASを選択する」と覚えていただければまず間違いありません。

長くなったので、結論は明日に続きます。