web-dev-qa-db-ja.com

SSDおよびHDDでのmdadmRAID-1の構成

1つのSSDと1つのHDDにRAID-1を構成する必要があります。 SSDとHDDの両方にいくつかのプリインストールされたソフトウェアがありますが、それは私が必要としないので、それが何らかの利点である場合は両方を完全に消去することができます。

これまでの私の調査では、--write-mostlyオプションにたどり着きました。これは、読み取り操作でSSDのフルスピードが得られるようにHDDで使用する必要があることを理解しています。

しかし、TRIMコマンドが適切に使用されていることを確認する方法は私にはわかりません。

セットアップ中にデバイスのすべてのセクターにmdadmが書き込むことに関する警告を読み、レイドをセットアップする前に実行されたTRIMに関係なく、SSDにスペアセクターがないままにしました。

最初にSSDを唯一のデバイスとして劣化したRAIDを作成し、次にHDDのみを追加して、HDDのみが書き込まれるようにする方がよいでしょうか。

RAIDをセットアップする前にSSDに何をする必要がありますか? SSDにはソフトウェアがプリインストールされています(私は必要ありません)。つまり、どのセクターが以前に作成されたかがわかりません。

関連性がある場合、SSDは128GBであり、ataレイヤーではSAMSUNG MZ7LF128HCP-00000, FXT0101Q、sdレイヤーではSAMSUNG MZ7LF128 101Q PQと呼ばれるdmesg出力にあります。

6
kasperd

--assume-cleanを使用するだけで、そもそも同期すらしません。

RAIDを作成したら、最初に行うことは、デフォルトでmkfs...およびmkfs TRIMであり、(-E nodiscardなどを使用しない限り)要求もせず、RAID同期を行います。とにかくこの時点ですでになくなっています。

基本的に、TRIMが片側にのみ影響する限り、SSDとHDDの混合RAIDの同期を維持することは不可能です。 SSD + SSD RAIDを使用しても、異なるSSDモデルまたは異なるパーティションオフセットの場合、TRIMはおそらく違いを引き起こします。

「空き容量」のみに影響するのであれば問題ありません。実際のデータ自体は引き続き同期されるため、冗長性が提供されます。

SSDに障害が発生した場合、または後でHDDを別のSSDと交換することにした場合は、SSDで完全同期を取得します。これが、mdが処理方法を知っている唯一の方法だからです。 mdはTRIMコマンドを記録しないため、同期を高速化するために「空き」領域を記憶します。また、ターゲットSSDをTRIM(したがってゼロ)してゼロ以外のデータのみを書き込むほどスマートではありません。 SSDがより一般的になると、再同期を高速化するためにそのような機能が追加されるかもしれません。

それでも、あまり心配する必要はありません。 TRIMは長期的な指標であり、ファイルシステムは通常の使用中にTRIMを認識します。そのため、完全に作成されたSSDでも、十分なトリミング領域が表示されます。

4
frostschutz