問題
ストレージ、およびSSDとクラシックHDDのどちらが優れているかについて、多くの議論を読みました。私はかなり混乱しています。 HDDはまだかなり好まれていますが、なぜですか?
アクティブストレージにはどちらが適していますか?たとえば、データベースの場合、ディスクは常にアクティブです。
SSDについて
長所.
短所.
質問。
HDDについて
長所.
短所.
価格くらいですか? HDDが推奨される理由SSDはサーバーにとって本当に便利なのでしょうか?
私の仕事の1つの側面は、大規模なストレージシステム(「SAN」または「ストレージエリアネットワーク」とも呼ばれます)の設計と構築です。通常、SSDとHDDを組み合わせた階層型アプローチを使用します。
つまり、それぞれに特定の利点があります。
SSDのほとんどの場合、1バイトあたりのコストが高くなります。 1万SAS 1ギガバイトあたりのコストが$ 0.068/GB USDの4kn HDDを取得できます。つまり、およそ280ドルで4 TBのドライブを手に入れることができますが、SSDは通常、10セントと20セントのギガバイトあたりのコストであり、ギガバイトあたりのドルと同じくらいの高さです。
RAIDを扱う場合、速度はそれほど重要ではなくなり、代わりにサイズと信頼性がはるかに重要になります。 HDDがSSDよりもはるかに安価な12TB N + 2 RAIDシステムを構築できます。これは主にポイント1が原因です。
適切に処理された場合、HDDの交換と維持は非常に安価です。バイトあたりのコストが低いため、障害のためにHDDを別のものに交換する方が安価です。また、HDDの障害は通常、時間とデータの書き込みに関連しているため、RAIDアレイを再構築するときに、HDDを交換してもTBWの使用が自動的に開始されません。 (確かに、再構築に使用されるTBWのパーセンテージは全体的に小さいですが、要点はそのままです。)
SSD市場は比較的複雑です。 SSDには4つの(現在、この記事の執筆時点で)主要なタイプがあり、サポートされる書き込みの最大数から最小数まで評価されています:SLC、MLC、TLC、QLC 。 SLCは通常、合計書き込みの最大数(SSDライフタイムの主要な制限要因)をサポートしますが、QLCは通常、合計書き込みの最小数をサポートします。
つまり、私が見た中で最も成功したストレージシステムは、両方のドライブが使用されている状態で階層化されています。個人的には、私がクライアントに推奨するすべてのストレージシステムは、一般的に次の層に従います。
層を増やすと、読み取り/書き込みのパフォーマンスが低下します。データは、ほとんどのデータが同じアクセス/変更頻度を共有する層に伝達されます。 (つまり、データの読み取り/書き込みの頻度が高いほど、データが存在する階層が高くなります。)
そこにうまく設計されたファイバーチャネルをいくつか散らすと、実際にSANそれはon-boardドライブはそうします。
今、あなたが言及するいくつかの特定のアイテムに:
SSDはどのように機能しますか?1つのセルのライフサイクルが切れた場合、どうなりますか?ディスクはこのセルのみによって削減され、正常に動作しますか?それから何が起こりましたか?
記述する最適なソリューション(ファイルシステム)は何ですか? ext4は連続してセルに保存されるため、良いと思いますか?
機械的な故障の場合、修理する方法はありませんか?
最も遅いですが、サーバーの使用にはHDDの速度で十分なので、速度はそれほど重要ではないと思いますか?
HDDはまだかなり好まれています
それは...ですか?正直なところかわかりません。
HDDは大きなサイズで手ごろな価格で提供されており、それは紛れもないことです。SSDよりもデータの保持期間が長いという点で、HDDは信頼できると思います。また、SSDが死ぬと、それらはすべて一度に完全に死ぬ傾向がありますが、HDDはより予測可能な方法で死ぬ傾向があり、必要に応じて最初にデータを取得するのにより多くの時間がかかる可能性があります。
しかし、それ以外の場合、SSDはほとんどの用途に向いています。ブートペアが必要な場合、R1の500GB SATAのカップルは地球にコストがかかりません。DBの使用では、SSDを実際に使用することはできません(ログがオンである限り)。とにかく高耐久モデル)。バックアップの場合は、非常に大規模なデータセットと同じように大きな7.2k HDDを使用する可能性があります(実際、この要件のために昨年の初めに4,000台の10TB HDDを購入しました)が、それ以外の場合はSSDが先です。
ホットなものすべてのソリッドステート:インタラクティブな使用、データベース、オンラインのあらゆるもの。安価なウォームストレージとしてのスピンドル。かなり低温のアーカイブまたはアクセス頻度の低いデータにのみ使用します。特に、バックアップがテープにアーカイブされる前のステージング領域のHDD。
ホットとコールドの異なるメディアタイプも、いくつかの多様性に役立ちます。 SSDコントローラーのブランドにおけるデータ損失の欠陥は、オンラインデータとバックアップデータの両方を削除した場合、さらに悪化します。可能性は低いですが、スピンドルとテープはとにかく安価なので、なぜリスクを取るのでしょうか。
アレイが冗長でバックアップされている限り、特定のデバイスの障害モードは重要ではありません。通常、手順は、障害の症状があるドライブを交換することです。致命的な障害が本番サービスに影響を及ぼさない場合は、テストシステムでそれらを修復してみてください。
ファイルシステムは個人の好みの問題です。 SSDに最適化されたファイルシステムはありますが、知っていて修復できることがより重要な場合があります。
SSDの大きな利点は、速度と信頼性ですが、汚い小さな秘密の1つは、SSDが持つ書き込みサイクル数の制限です。データベースや電子メールサーバーなど、ハードドライブの書き込み動作が多いサーバーを構築している場合は、耐久性が高く、より高価なSSDが必要になります。
NANDフラッシュには3つのタイプがあります
TLCは、主に書き込みサイクルの少ないWebサーバーまたはアーカイブサーバー用に設計されています。 MLCは、少量のデータベースサーバーのように、読み取りと書き込みのサイクルが混在するサーバー用です。 SLCは、大量のデータベースサーバーのように、読み取り/書き込みサイクルが多いサーバー用に設計されています。
SSDとHDDの間の主な推進要因は、アプリケーションと予算です。完璧な世界では、SLC SSDハードドライブは標準のHDDを時代遅れにしてしまいますが、まだそこにはありません。
HDDはまだかなり好まれていますが、なぜですか?
それは、誰と話しているか、その背景(管理、IT、販売など)、およびどのタイプのサーバーについて話し合っているかによって異なります。 HDDは一般的に1バイトあたり1桁安価ですが、より多くの電力を使用し、ほとんど常に低速で、ワークロードに依存します。
ほとんどの場合、それはコストと、特定の量のサーバーに格納できるストレージの量によって決まります。単一のSSDで5ディスクRAIDアレイのパフォーマンスを得ることができる場合、SSDはおそらくはるかに安価であり、電力の一部を使用しますが、おそらく1/10のストレージも得られます。
アクティブストレージにはどちらが適していますか?
これが複雑になるところです、そして多くの人々が複雑さをスキップして彼らが知っているHDDだけを使う理由です。
SSDにはさまざまなグレードがあり、セルに書き込むことができるデータの量に制限があります。これは、ホストによって書き込まれるデータの量とは異なります。少量のデータを書き込むと、最終的にセルに大量に書き込まれます。これは書き込み増幅と呼ばれ、耐久性の低いドライブをすばやく停止する可能性があります。
SSDセルは、nビットを格納するために、1セルあたり2 ^ nの電圧レベルが必要なため、格納できるビット数にちなんで名付けられています。 TLC(トリプルビット)は、これらのビットをアドレス指定するために8つの電圧レベルを必要とします。一般に、セルあたりのビットレベルを上げるたびに、セルの耐久性が3〜10倍低下します。 example の場合、SLCドライブは、セルが死ぬ前にすべてのセルを100000回、エンタープライズeMLCを30000回、MLC 10000、TLC 5000、QLC 1000に書き込むことがあります。
SSDは実際にはアドレス指定されたセルに直接書き込むのではなく、セルのブロックに書き込みます。このようにして、ブロックはより一貫したセル書き込み量を持ち、セルが許容範囲から外れると、ブロック全体が不良としてマークされ、データが新しいブロックに移動されます。 SSDの耐久性は、セルタイプ、使用可能なスペアブロックの数、エラー修正のためのオーバーヘッドの量、ドライブがキャッシュとアルゴリズムを使用して書き込みの増幅を減らす方法に基づいています。製造元が不良としてマークすることを選択した許容範囲も関係します。エンタープライズドライブは、どちらかが完全に機能している場合でも、コンシューマドライブよりも早くブロックを不良としてマークします。
エンタープライズグレードの「高書き込み」SSDはSLCまたはeMLCセルに基づいており、大量のスペアブロックがあり、通常、コンデンサー付きの大容量キャッシュがあり、停電時にキャッシュがディスクにフラッシュできるようにします。
また、高速アクセス時間を必要とするファイルサーバーなどの「読み取り頻度の高い」アプリケーション向けの耐久性がはるかに低いドライブもあります。これらのドライブは、さまざまなセルタイプ、スペア領域が少ないなど、耐久性が低下する代わりにバイトあたりのコストが低くなります。 「高書き込み」ドライブの耐久性は5%しかないかもしれませんが、正しく使用すれば必要ありません。
たとえば、データベースの場合、ディスクは常にアクティブですか?
私のデータベースは小さく、断続的な読み取りがアクセスの95%であり、そのほとんどがRAMにキャッシュされており、SSDと同じくらいの速度でHDDで動作します。それが大きければ、システムに十分なRAM=がなく、SSDがアクセス時間に大きな違いを生じ始めます。
SSDはまた、バックアップとリカバリを桁違いに高速化します。私のDBはバックアップから約10分で低速のSSDに、または約11秒で本当に高速なSSDに復元されました。HDDへのバックアップは約25分。これは少なくとも2桁であり、ワークロードによっては大きな違いが生じる可能性があります。それは文字通り1日目で元が取れます。
小さな書き込みが大量にあるデータベースは、数時間でコンシューマーグレードのTLCドライブを殺す可能性があります。
SSDはサーバーにとって本当に便利なのでしょうか?
絶対に、アプリケーションに対して正しいドライブタイプとグレードが選択されている場合、それを誤ると、惨事になる可能性があります。
私のサーバーは、いくつかのデータベース、高読み取りネットワークストレージ、高書き込みセキュリティフッテージストレージ、および読み取りと書き込みの混合ファイルストレージとクライアントバックアップを実行しています。サーバーには、バルクネットワークストレージとNVR用のHDDのRAID-6アレイ、MySQL用の単一の高性能MLC SSD、およびクライアントとデータベースのバックアップと高速アクセスネットワークストレージ用のRAID-5の3つのコンシューマーTLCドライブがあります。
SSD RAIDでの書き込み速度はHDD RAIDとほぼ同じ速度ですが、ランダムアクセス読み取り速度はSSD RAIDで10倍以上高速です。繰り返しますが、これはコンシューマTLC SSDですが、シーケンシャル書き込み速度はギガビットLANよりも約3倍速いため、過負荷になることはなく、リモートでアクセスされているときにシステムがローカルバックアップを実行する場合は、多くのオーバーヘッドがあります。
ほとんどのSSDは、 インスタントセキュア消去(ISE) も提供します。これにより、数秒でデータを消去できますが、その機能を備えていないHDDでは数時間または数日で消去できます。一部のエンタープライズグレードのHDDはISEを提供する傾向がありますが、より一般的になりつつあります。これは、ドライブを廃棄または転用する場合に非常に役立ちます。
記述する最適なソリューション(ファイルシステム)は何ですか?
データのタイプと必要なファイルシステム機能のタイプによって異なります。私はEXT4とBTRFSのみを使用しています(スナップショットとチェックサムが必要です)。ファイルシステムのオーバーヘッドにより、使用可能なスペースが減少し、SSDの寿命がわずかに短くなる可能性があります。BTRFSには、チェックサムやその他の機能のための高いオーバーヘッドがあり、スナップショットは多くのスペースを使用します。
機械的な故障の場合、修理する方法はありませんか?
ドライブの種類に関係なく、故障したドライブでデータの回復を行わなければならなかったことがありますか? 非常に高価になる可能性があります。階層化されたバックアップ、主記憶域のRAID、別のデバイスまたはマシンでローカルにバージョン管理されたバックアップを用意して同期することをお勧めしますオフサイトまたはクラウドへ。 1 TBのクラウドストレージは1か月あたり5ドルです。HDDでのデータリカバリには2ドルかかる可能性があり、SSDが停止するとリカバリできない場合があります...バックアップを実行して修復を忘れてください。
どちらも。
SSDが書き込み負荷のために停止するのをまだ見ていません(この場合、読み取り専用になるはずです)。過熱やファームウェアのバグなど、他の理由で死亡しないわけではありません。
そして、私はHDDが死んでいるのを見ました。実際にはもっとたくさんあります。
信頼性については以上です。
場合によっては、RAID1(HDD + SSD)を混在させることが理にかなっています。この方法で、両方に関連する障害モードを回避し、SSD読み取りパフォーマンスを維持できます。
他のケースでは、ファイルシステムのジャーナルのみにSSDを使用するのが理にかなっています-HDDの書き込みパフォーマンスが2倍になります(書き込みの半分とシークの半分を節約できるため)。死ぬ。 Ext4はジャーナルをかなり優雅に失います。
考慮すべき2つの主な要因は次のとおりです。
SSDはパフォーマンスの面でHDDを水から吹き飛ばします。 高いスループットと短いアクセス時間が必要な場合、SSDに勝るものはありません。
ただし、SSDのギガバイトあたりのコストはHDDのコストよりもはるかに高くなります。 大量のストレージが必要で、スループットやアクセス時間がそれほど重要でない場合、HDDに勝るものはありません。
スループット(帯域幅)の数値は、適切なRAIDレベル(ただし、キューが問題になるほどドライブにバックログがない場合を除いて、アクセス時間はそれほど長くない場合)が役立つ可能性があります。
小さなデータセットの読み取りアクセス時間の数値は、適切なキャッシュによって支援される場合があります(つまり、サーバーにRAMを追加します)。ただし、書き込みには役立ちません(コントローラーまたはディスクのバッテリーバックアップされたRAMキャッシュを除く)。
ですから、すべては本当にあなたのユースケースに依存します。多くの容量を必要とするが、アクセス時間や帯域幅をあまり気にしないバックアップ/アーカイブサーバーは、HDDを使用する方が良いでしょう。トラフィックの多いデータベースサーバーはSSDを優先します。間には...依存します。
どんな状況でも:
バックアップが必要です。 ifの問題ではありません。ドライブ(SSDまたはHDD)が失敗しますwhenの問題です。
サーバーがなんらかの重要性を持っている場合は、ある種のRAIDで稼働時間を維持し、データを保護する必要があります。 RAIDは通常、パフォーマンスにも役立ちます。これは、要件に大きく依存します(ここでも、パフォーマンス/コストの妥協点です)。
すでに述べたように、大きな違いは、GBあたりの価格とランダムIOパフォーマンスです。
たとえば、Seagate Exos 16 TBを例にとると、約550 $で0,034 $/GBになります。エントリーレベル(速度について)のMicron 5200 ECO 7.68と比較してくださいTB価格は〜1300 $で、結果として0,14 $/GBの比率になります:HDDは5倍安価です。また、2倍大きいサイズです。反対に、SSDランダムIOパフォーマンスは大幅に向上します、キャッチ付き: powerlossで保護されたライトバックキャッシュがないコンシューマーSSDは、同期ランダムIO豊富なワークロード(例:データベース、仮想マシン)の場合、かなり遅い(HDDと同じくらい遅い場合があります)。これは非常に重要なポイント、オンラインレビューではめったに分析されません。電力損失保護としてほとんど普遍的に使用されているコンデンサを備えたエンタープライズSSDは、この弱点に悩まされず、読み取りが非常に高くなります。ランダムIOを書き込みます。
上記から、SSDがハイエンドの15Kおよび10Kを強制終了した理由を理解できますSASディスク:それらは多くを提供します同等のコストでパフォーマンスが向上します(15,000ディスクは特に高価でした)一方、7.2K HDDは大容量ストレージシステムで非常に強力な足場を持っています。
Intel Optane(NANDではなくXpointに基づく)は、速度と耐久性の両方で独自のクラスにあり、very高い価格/ GBを誇ります:100 GB Optane P4801xのコストは260 $以上、GBあたりのコストは> 2.6 $で、HDDと比較すると80倍多くなります。このため、「アプリケーションアクセラレータ」として、またはログ/ジャーナルデバイスとしてよく使用されます。
これらの理由により、最近のSANおよびサーバーでは、tieredまたはcachedがよく使用されていましたストレージサブシステム:
階層型システムでは、ホットデータを高速層(SSD)に配置し、コールドデータを低速層(HDD)に配置します。このようなシステムでは、総ストレージ容量は高速階層と低速階層の合計です。ただし、これらは静的にすべてパーティション化されています。コールドデータが突然高温になった場合は、高速層に移動されるまで待つ必要があります。さらに、高速層は低速層と同じくらい耐久性がなければなりません。
キャッシュベースのシステムは、SSDのダイナミックキャッシュで拡張された低速のHDDにすべてのデータを持ち、ホットデータはコピーされます(移動されません)。つまり、このようなシステムの総ストレージ容量は、低速層が提供するものと同じですが、動的キャッシュの柔軟性が追加されています。キャッシュベースのシステムでは、高速階層を安価で安価なSSDで形成できます。
フラッシュベースのSSDに最適なファイルシステムは何ですか?素朴な答えは「書き込みが少ない」かもしれませんが、実際のところ、高度なファイルシステム技術はすべて、CoWアプローチに基づいており、特定の実装に基づいて、かなりの書き込みの増幅につながる可能性があります(つまり、ZFSとWALF)。たとえば、EXT4やXFSなどよりも多くのことを書きます。純粋な「書き込みなし」の見地からは、EXT4とXFSを打ち負かすことは難しいと思います(特に lvmthin を使用している場合、これらの従来のファイルシステムでも高速スナップショットが可能になります)。ただし、私は本当に追加のデータ保護保証とZFSによってすりおろされたlz4圧縮が好きです。
それで、あなたは本当にあなたのサーバー業務のためにSSDストレージを必要としますか?場合によります:
複数のTBのデータを安価に保存する必要がある場合は、HDD(または、最も安価なコンシューマSSD)が適しています。
ほとんどシーケンシャルなワークロード(例:ファイルサーバー)がある場合、SSDは必要ありません。
ワークロードがランダムである場合IO=豊富な場合、SSDから大きなメリットを得られます。
fsyncが多い書き込みパターンがある場合、エンタープライズSSD(またはpowerlossで保護されたライトバックキャッシュを備えた頑丈なRAIDコントローラー)が最善の策ですが、コストが高くなるという欠点があります。
静かなことは必ずしも良いことではありません。道路の電気自動車が静かすぎるように。 HDDアクセスノイズはセキュリティを提供することができます(映画を見ているときに私が職場のPERFORCEサーバーへの侵入を検出した方法。
こんな風に見て
サーバーを構築しているサービスは何ですか?
それがLDAP/AUTH/Printingなどのインフラストラクチャサービスであり、サービスを提供している場合、それは主にメモリの問題であり、費用を節約し、HDD(7.2kまたは10k多分RAID 1 SSDブートデバイス)を使用して、メモリに負荷をかけます。
必ずファイルサーバーにバッテリバックアップ式のフラッシュRAIDコントローラを使用してください。書き込みはディスクではなくコントローラによってコミットされるため、HDDを効率的に使用できます。
データサービスDBなどの場合は、SSD RAIDを使用して高スループットを実現し、HDDを使用してコストを制御します。たとえば、一部のDBは、高い書き込み速度を必要としないか、IOPを実行するだけで高コストのストレージの使用を保証しません。
結局のところ、それは資金とCFO /ファイナンスディレクター/ VPファイナンスにかかっています。
ここでの簡単な回答:SSDを使用して高速なパフォーマンスデータを取得する(たとえば、サーバーを構築して大規模で迅速なデータ操作(ビデオ編集など)を行う場合)
遅いアーカイブストレージにはHHDを使用します。
一般的にHDDは、SSDよりもギグあたりのコストが低くても、SSDよりも信頼性が低くなります。
機密データが保存されている場合は、バックアップにssdとhddの使用を検討してください。
SSDは明らかに最高であり、より良いものになり、今後もより安くなるでしょうが、今日ではより高価になっています。
HDDはシーケンシャルストレージタスクに適しています。
HDDは、待ち時間の影響を受けないタスクにも適しています。
したがって、サーバーの場合、予算があればSSDで満たすことができます。さらに、上記の不完全なリストを使用すると、HDDと混在させることでコストを節約できます。
RAID、および階層化はこの質問の範囲を超えています。これについては他にもたくさんの質問があると思います。
SSDのライフサイクルについては、(Samsung Evo Pro(コンシューマー製品)を読んだことが、約束されたよりもずっと長かったことを覚えています)。個々のセルは確かに時間の経過とともに壊れることがありますが、ディスク全体が壊れることはありません。セルの寿命は書き込みの量に関連しています。その細胞に。 SSDコントローラは、時間の経過とともに書き込みを複数のセルに分散します。 SSDが99%使用されており、残りのスペースが大量の書き込みで使用されている場合、その残りのスペースはより早く消耗します。
必要がある場合
hDDの方が信頼性が高い
SSDでは上書きが遅いようです
SSDはすごい!
1つの小さなキャビネット/ラックにエクサバイト/ヨタバイトの物理ストレージの革命をもたらしました
大きな窒素クーラーを設置でき、小さなスペースで純粋な保管ラックを提供できます
SSDキャッシュは、別のレベルへのキャッシュを可能にするもう1つの驚くべき高速読み取りテクノロジーです。