ZFSが連続的に配列に書き込まない
まえがき私は決してLinuxのエキスパートユーザーではありませんが、危険であるほど十分にLinuxで遊んでいます。 私はパーソナルサーバーを構築しています。基本的にはビデオや写真の保存場所として使用するためだけです。現在の仕様は以下のとおりです。 ギガバイトGA-G41M-ES2Lマザーボード Core 2 Duo E6750(2.66GHz)CPU 4GB DDR2 RAM Vantec UGT-ST644R PCIe SATAカード(RAIDは使用されていません) 2×1.5TBおよび2×1.0TBのハードドライブ 64GB SSD(起動ドライブ用) Ubuntu Server 14.04.3 LTSをSSDにインストールし、ZFSonLinuxをインストールしました。 こちら(アルステクニカ) 。また、Samba(バージョン4.1.6-Ubuntu)もインストールされています。これは、残りの(Windows 7以降の)コンピュータ(最終的には2台または3台)からサーバーにアクセスするために使用しています。 4台のドライブすべてがVantecコントローラカードに接続され、各ペアがミラーリングされてZPoolに追加され、合計2.5TBの容量が得られます。 SSDはオンボードコントローラに直接接続されています。 それが機能するとき、それは美しく機能する、しかし... 大量のデータをアレイに書き込むとき、最初の約500MBの「書き込み」は(キャッシュに)うまくいきますが、その後ZFSは約30秒間待機します(を使用してモニターします)。 zpool iostat <pool_name> 1 より多くのデータを受け入れている間に約350MBのキャッシュをアレイに書き込み、約30秒待ち、さらに多くのデータを受け入れている間に約350MBのキャッシュをアレイに書き込み、約30秒待つなど。 。この30秒のチャンクでは、何もしておらず(0 in、0 out)、アイドル状態のままです。 ネットワークリンクは(実際には多分)約5秒で350MBを埋めることができ、プロセス全体に多くのデッドタイムを残します。 このボトルネック/「呼吸」を取り除く方法はありますか? 変更してみた zfs_txg_timeout 値(デフォルトは5秒なので、これはありそうにないようですが、1秒は役に立たないようです)。 また、最小キャッシュ値と最大キャッシュ値をそれぞれ2GBと3GBに設定しましたが、それでも比較的小さいキャッシュから始めます。 ゆっくり 育ちます。私はこの間にシステムのメモリが使用されているのを見ましたが、ZFSは、すべてが待機しているときでも、RAMの使用量を急激に増やすことには消極的です。 私はZFSが異なるサイズのvdevにまたがってストライプできるようにする方法が好きですが、説明されている振る舞いは大量のデータを確実にそれに転送するのにそれを使用することを次に不可能にします。 現在の設定を修正するための提案、または同等に機能する代替案の提案はありますか。洞察力を事前にありがとう。それ以上の情報が必要な場合は、私に知らせてください。 サイドノート: 私はアレイ上でローカルディスクのベンチマークを実行しましたが、Windowsコンピュータとネットワークの両方を除外して、同じ動作がそこに現れました。 ランニング sync …