SSD RAIDとTRIMサポートを設定する方法は?


9

新しいサーバーをセットアップしたいと考えています。使用できるのは、Intel 520シリーズ240GB MLC SSDまたは標準のSeagate 7200rpmディスクのみです。
これらは交渉できないオプションです。

もちろん、これはMySQLを実行することになるので、主なタスクはMySQLサーバーです。最大のパフォーマンスボトルネックはディスクI / Oであるため、SSDを使用したいと思います。

1TBに近いディスク容量が必要です。現在、RAID5は最高のパフォーマンスを提供せず、SSDには最適ではないと噂されているため、720GB(240GB * 3)を提供するRAID 10(1 + 0)セットアップを検討しています。

ソフトウェアraidを使用してUbuntu 12.04.01 LTSでこれを設定する方法と、RAID構成でTRIMサポート(Linuxでは呼び出されていると思う)が有効になっていることを確認する必要があります。

誰かがこれを成功させていませんか?どのハウツー情報や注意すべきこと、そして基本的にどのツールを使用するかなどは非常に役立ちます。

理想的には、SSD RAIDアレイから起動できる必要もあります。

誰かが私を正しい方向に向けることができますか?

ありがとう。


1
最近、RAIDのSSDでTRIMを使用するときに大きな問題が発生しました。バグにより、アクティブファイルがランダムにゼロになるようにTRIMが作成されました。Samsung SSDのみが影響を受けると言われていますが、これはSamsung SSDのみがテストされたためです。このため、mdadmLVMの代わりにBTRFS RAID10を使用することを検討することを強くお勧めします。
Barafu Albino、2015

回答:


4

答えは「状況次第」であり、そのような柔軟性のない立場を主張する前に、TRIMが何をするかを本当に理解する必要があります。

http://www.spinics.net/lists/raid/msg39641.html

MD RAIDはDISCARDリクエストを転送するための特定のサポートを必要とし、それは3.6まで提案されていなかったため、サポートは正確なカーネルでは行われません。私は見ただけで、そこにはありません。

https://lkml.org/lkml/2012/3/11/261

SSDはすべて優れていますが、高RPMの磁気ストレージと組み合わせると、最も費用対効果が高くなります。たとえば、ファイルシステムが15Kディスクで構成されるRAID 10によってサポートされている場合、RAID 1 SSDアレイを使用してファイルシステムジャーナルを格納します。

http://insights.oetiker.ch/linux/external-journal-on-ssd/

RPMSが高いほど、最悪のシーク時間が短くなります。ランダムなIOロードは、高RPMのバッキングストアから最も恩恵を受けます。SQLは書き込みが集中する可能性があるため、RAID 4や5などのパリティ計算はお勧めできません。

RAIDとファイルシステムの構成は、バッキングストアと同じくらい重要です。

いつでもディスクを手動でトリムできます。毎週開始しても問題ありません。より頻繁に実行する前に、パフォーマンスへの影響を観察する必要があります。ああ、燃え尽きるので、SSDの書き込み/削除サイクルの数を見積もり、RAID 1を一度に1つのレッグで処理することをお勧めします。

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron


4

私はこの質問につい最近ジョニーになっていることを知っていますが、検索している人のためにこれに光を当てることができるかどうか確認したいと思います。

まず、@ ppetrakiの答えは素晴らしいです。

「SSDをRAIDして起動できるか」という質問に対する答えは「はい!」です。14.04の手順は次のとおりです。12.04.xでのRAID構成の手順は同じですが、9.10使用するこのチュートリアルには画像があります。以下は、個人的な経験を通じて、私が難しい方法を発見しなければならなかったいくつかの重要な落とし穴と詳細です:

私はMD RAID0構成の3.8カーネルとSSD対応のBtrfsファイルシステムでUbuntu 12.04.5を実行しています。私はfstrimを毎週のcronとして実行しています。

fstabからの追加のBtrfsマウントオプション

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

3.8カーネルはcompress=no、Btrfsマウントオプションとして使用する場合に必要ですfstrim。また、スケジュールされたトリムに使用される手動トリムコマンドの使用にも必要になる場合があります。

SSDのページサイズによっては、最初のパーティションのみが正しく調整されるため、インストーラーを起動する前に、SSDのパーティションを手動で調整する必要があります(マルチパーティションセットアップでは、raidかどうかにかかわらず)。それをキャッチするために)そしてこれはドライブの寿命に深刻な影響を与える可能性があります これは、インストーラー内のコマンドプロンプトから、またはインストールを試行する前にライブのUSB /ディスクから実行できます。警告:自分で計算してください。Fdiskは位置合わせについてうそをつきます。

参考資料Btrfsは独自のRAID配列を作成することもできると思います

TRIMについて:

オーバープロビジョニングのおかげで間違いなく不必要です

14.04はすぐにTRIMサポート有効にする 最初のリリースですが、カーネル2.6.33+を使用している場合、以前のディストリビューションで有効にするのは簡単です。

選択したファイルシステムによっては、あなたがトリム/廃棄を有効にすることができますによってあなたのfstabを編集し、適切なマウントオプションを設定します。これを実行することとcronを介して実行することの違いは、1つ目はオンザフライでトリム/破棄し、2つ目はスケジュールで一括して実行することです。2番目を使用します。

それは重要ですか?おそらく、(mountオプションを使用した)オンライン破棄は素晴らしく実装されておらず、遅いため、「推奨されません」。私の "hdd"(hehe)ライトは、毎週のcronジョブの実行時に10〜20分間動作しませんが、OSの応答性はほとんど影響を受けていません。

アレイからの起動

これはubuntu 14.04の指示のクイックスキャンでは確認できませんが、RAIDアレイの一部ではない追加のプライマリパーティションを作成する必要がありました。ディスク0には、ext3fsの500mbプライマリパーティションがあります。インストール中に、これを「/ boot」にマウントすることをインストーラーに伝え、起動可能フラグを設定しました。次に、ブートローダーがここにインストールされ、OSが起動してRAIDをマウントできるようになります。残りのディスク0スペースは、後に「/」および「/ swap」になるMDアレイに使用される2つのパーティションに分割されます。ディスク1は同じですが、ブートパーティションはありません。また、スワップが必要になった場合にのみ作成し、btrfsはスワップファイルをサポートしていません。このパーティションはマウントされません。インストール後、fstabでコメント化しました。

すべての編集を許してください。


この洞察に満ちた情報をありがとう。私は次のシステム展開でこれを試します
Steed
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.