
だから私は高速SSDと大容量HDDを備えたデスクトップを持っています。私は大きくてよく構成された高速zpoolを取得しようとしています。
私はZILとL2ARC用のSSDに別々のパーティションを持つことができるということを読んでいました。気に入らないのは、パーティションを変更する必要がある場合は少し複雑で再構成するのが難しいかもしれません。そして目的はすべてをZILすることであるため、最大ファイルシステムサイズはHDDによってのみ制限されるように聞こえます。そして、L2ARCも少なくとも結局はこれをディスクに書き込む必要があります。また、L2ARCがシステムの再起動後も持続するのか、それとも再充填する必要があるのかは不明です。すべてのデータが同じSSDにある場合は、データをZILからL2ARCにコピーする必要があります。現在のSSDに必要なホットデータの量に圧力がない場合は、HDDにコピーすることも非効率的に見えます。
あるいは、SSDに1つのパーティション、HDDに1つのパーティションを置き、重複することなくzpoolに直接追加することもできます。私はこれを試しましたが、継続的な読み取り/書き込み速度が別のHDDが達成できるよりも高いことがわかりました。ところで今はSSDにすべて移されたのかはよく分からないし、SSDがいっぱいになるとHDDに全て移されます。理想的には、ZFSはL2ARCと同様に、SSDに常にホットデータを保持し、新しい書き込みのためにSSDに十分な空き領域を残すために、後ろからデータを透過的に混在させることを願っています。 ZILは自動的に正しいサイズで管理し、可能であればSSDに理想的に配置する必要があります。手動で設定されたZIL + L2ARCパスに移動すると、ZILが約(10秒* HDD書き込み速度)程度だけ大きいと思われます。これにより、L2ARCのサイズが最大化されます。これは良いことです。しかし、HDDの速度(および容量)を効果的に2倍にするためにストライプディスクを追加するとどうなりますか?
ZIL + L2ARCでSSDを使用している場合の問題の概要:
- ZIL + L2ARC用のSSDを設定する場合は、別のパーティションサイズにリセットするのがどれほど難しいのですか?
- L2ARCを含むSSDを使用している場合、その容量は利用可能な合計プール容量に含まれますか、またはプール容量はHDDによってのみ制限されますか?
- L2ARCはシステムの再起動後も残りますか、それとも再充填する必要がありますか?
- データが同じ物理SSDにある場合でも、ZILからL2ARCにデータをコピーする必要がありますか?
- ZILがSSDにあり、より多くのインテントを記録するのに十分なスペースがある場合でも、ZILはSSDに自動的にフラッシュされますか?それでは、いつ/どのような状況で?
単一のzpoolでSSD + HDDを使用するときの問題の概要:
- ZFSは明らかにSSDとHDDパーティションのサイズの違いを認識しますが、ZFSはSSDとHDDパーティションの相対的なパフォーマンスを自動的に認識しますか?特に、
- SSDとHDDの両方が比較的空の場合、書き込みはどのように分散されますか?
- zpoolのSSD部分がいっぱいになると、ZFSはデータをインテリジェントに処理しようとしますか?特に、
- zpoolのSSD部分がいっぱいになると、ZFSはすぐにより多くの書き込み操作があると予想し、バックグラウンドでSSDからHDDにデータを移動しようとしますか?
- zpoolのSSD部分がいっぱいになり、SSDの多くのデータの代わりにHDDの多くのデータにアクセスし始めると、ZFSはホットデータをSSDに交換しようとしますか?
最後に、最も重要な質問は次のとおりです。
- 同じプールにSSD + HDDを設定するのは良い考えですか、それともドライブペアの速度と容量を最適化するより良い方法はありますか?
答え1
Marcoの答えはすべての詳細を正しく説明していますが、最後の質問/要約に集中したいだけです。
同じプールにSSD + HDDを設定するのは良い考えですか、それともドライブペアの速度と容量を最適化するより良い方法はありますか?
ZFSは、より小さなディスクを含む大規模アレイ用に設計されたファイルシステムです。非常に柔軟ですが、次の理由で現在の状況と目標に最適だとは思いません。
- ZFSは記録されたデータを再構成しません。あなたが探しているものハイブリッドドライブたとえば、AppleのFusion Driveを使用すると、複数のディスクを一緒に融合でき、アクセス履歴に基づいて各ブロックが自動的に選択されます(データの移動は、システムがロードされていないか上書きされないときに行われます)。 ZFSを使用すると、データが自動的にまたは手動で、元の記録された場所(または削除されたマークされた場所)に残ります。
- ディスクが1つしかない場合は、冗長性と自己回復機能が放棄されます。それでもエラーを検出できますが、システムの全機能を使用することはできません。
- 同じプールに2つのディスクがあることは、データの損失(最終的にRAID0)または破損の可能性が高いことを意味し、ドライブのサイズとドライブの速度が異なるため、パフォーマンスがレベル以下になります。
- HDD + SLOG + L2ARCは少し優れていますが、本当に良いSSDが必要です(Marcoが言ったように、2つの異なるSSDが望ましいですが、NVMe SSDは素晴らしいと高価な妥協です)、ほとんどのスペースはすべて無駄になります(2〜4GB) 。 ZILには十分ですが、大きなL2ARCはRAMがいっぱいの場合にのみ役立ちますが、それ自体はより多くのRAMを必要とします。これはある種の問題を引き起こします。 L2ARCを使用するにはより多くのRAMが必要ですが、十分なので、RAM自体を使用することもできます。ブロックだけが保存されているので、純粋なファイルを見るときと同じように多くの仮定をする必要がないことを覚えておいてください。
今の代替案は何ですか?
- 2つのプールを持つことで分割できます。 1つはシステム用で、もう1つはデータ用です。これにより、自動再調整と冗長性はありませんが、簡単に拡張され、RAID0の問題のないきれいなシステムになります。
- 2番目の大容量ハードドライブを購入してミラーリングし、説明したようにSSDを使用します。さまざまなサイズのディスクとディスク速度の問題を排除し、冗長性を提供し、SSDの柔軟性を維持します。
- 購入NSSDを使用してRAIDZ1/2/3を実行します。最近では、より小さいSSDがかなり安く、再構築時間もそれほど遅くなく、RAIDZ1が再び興味深くなります。
- 必要に応じて、ZFS を含む混合機能を備えた他のファイルシステムまたはボリュームマネージャを使用します。これは最善の選択ではありませんが、プールに2つの単一ディスクvdevを使用することはありません。少なくともZFSのいくつかの機能(スナップショットなど)はもちろん、欲しいものを手に入れることができますが、勝ちました。優れたパフォーマンスに頼らないでください。
答え2
- ZIL + L2ARC用のSSDを設定する場合は、別のパーティションサイズにリセットするのがどれほど難しいのですか?
ZILとL2ARCを同じディスクに配置することはお勧めできません。 ZILとL2ARCはリソース間で競合するため、パフォーマンスが低下する可能性があります。したがって、最高のパフォーマンスを得るには、2つの別々のディスクを使用し、ZILとL2ARCのいずれかの利点を実際に活用する必要があります。 ZIL は同期書き込みに使用されます。ワークフローの同期書き込み率が低い場合、ZILは必要ありません。
さらに、ZILとL2ARCのSSD要件はまったく同じではありません。 ZILはレイテンシが低く、IOPSが高く(例えば、ZeusRAM)、一般に容量が低いです。一方、L2ARCはRAM容量に応じてより高い容量を持つ必要があります。
ZILとL2ARCはプールから分離できるため、ディスクを再分割することはそれほど難しくありません。これはFreeBSDでミラーリングされたZIL / L2ARCペアを説明するブログです。 Linuxでは若干異なる場合がありますが、自分の判断に応じて次のように表示されます。硬い。
- L2ARCを含むSSDを使用している場合、その容量は利用可能な合計プール容量に含まれますか、またはプール容量はHDDによってのみ制限されますか?
プール容量はHDDによってのみ制限されます。
- L2ARCはシステムの再起動後も残りますか、それとも再充填する必要がありますか?
現在の実装では、再起動時にL2ARCは維持されません。しかし、一つあります。機能要件今後どの時点でも実装される可能性があります。
- データが同じ物理SSDにある場合でも、ZILからL2ARCにデータをコピーする必要がありますか?
そのようなことは起こりませんでした。 ZILとL2ARCは異なる用途に使用され、データはZILからL2ARCに直接移動しません。
- ZFSは明らかにSSDとHDDパーティションのサイズの違いを認識しますが、ZFSはSSDとHDDパーティションの相対的なパフォーマンスを自動的に認識しますか?特に、
私が知っている限り、分散書き込みではドライブのパフォーマンスは考慮されません。
- SSDとHDDの両方が比較的空の場合、書き込みはどのように分散されますか?
これは、プールレイアウト(ミラー、RAIDZ)と相対ドライブサイズによって異なります。 RAIDZでは、より大きなドライブが好ましい。
- zpoolのSSD部分がいっぱいになると、ZFSはデータをインテリジェントに処理しようとしますか?特に、
はいが、SSDをL2ARCの目的であるL2ARCとして使用する場合にのみ適用されます。
- zpoolのSSD部分がいっぱいになると、ZFSはすぐにより多くの書き込み操作があると予想し、バックグラウンドでSSDからHDDにデータを移動しようとしますか?
- zpoolのSSD部分がいっぱいになり、SSDの多くのデータの代わりにHDDの多くのデータにアクセスし始めると、ZFSはホットデータをSSDに交換しようとしますか?
前述のように、SSDをL2ARCとして使用します。
L2ARCに依存せず、L2ARCなしで十分なARC(=より多くのRAM)を提供することをお勧めします。