低RAM環境で最適化されたZFSは実現可能ですか?


10

私は現在ファイルサーバーをセットアップしており、実際にデータドライブをセットアップするようになりました。システムには4つのドライブ(1つのOSディスク、3つのデータディスク)があります。OSディスクはext4としてフォーマットされており、ZFSプールに追加されません(ZFSを実行することを選択した場合)。私の主な関心事は、データの整合性とデータ損失の最小リスクです(BIOSでドライブキャッシュが無効になっています)。このZFSは、Linuxの安定バージョン(正しい?)があり、ハードドライブが同じサイズである必要がないデータの複製、プーリング、およびraidzをサポートしているため、最適な候補のようです。

しかし、ここに私の問題があります。サーバーに搭載されているRAMは2GBのみで、近い将来これをアップグレードすることはできません。現実的には、他のすべてのサービスをインストールした後、実際にZFSにアクセスできるのは1.5のみです。最大で約10のクライアントが一度にそれを使用します(平均で4に近い)。これは安全と見なすには低すぎますか?

私が理解していることから、ZFSはRAMの少ない状況でクラッシュし、プールを使用する可能性があります。スワップがこの問題を軽減するのに役立つかどうかの矛盾する意見を聞きました(20 GBのスワップ専用ドライブがあります)。RAMがほとんどないZFSでデータ損失が発生した人はいますか?それを防ぐためにどのような最適化を行いましたか?

上記を念頭に置いて、ackサイズを減らして少し削減しても、ZFSを実行することは可能ですか?それともリスクが高すぎますか?

システム仕様:2GB RAM 20GBスワップドライブOS、Debian 7、最小インストール、FTP、およびXBMC、DNLA(RAM要件を理解するため)。ストレージサーバーと他のデバイスへの音楽メディアストリーミングに使用されます。


1
私はZFSの第一人者ではありませんが、ファイルシステム全般についてはかなり知っています。また、メモリの消費がデータの重複排除であるため、注意が必要な場所の1つ-大きな時間-も知っています。ディスクのサイズや、ディスクに保存するデータの量は指定しません。ZFSはメモリ内のルックアップテーブルを保持する必要があるため、これは非常に大きなものです。他の懸念事項について話すことはできませんが、重複排除は確実に中止します。また、現在、btrfsはバックアップデータに対してかなり成熟しています。あなたはそれを考えましたか?arstechnica.com/civis/viewtopic.php?f=16&t=1226135を調べて、いくつかの洞察を確認します(これには間違いないでしょう)。
ravenpi 2014

ああはい、見逃しました。プールは3.35tbになります(ディスクとデータの両方、毎日9つのクライアントをバックアップするため、すぐにいっぱいになると思います。これは、少なくともTBの重複が発生しないことを意味します。 。のbtrfsを指摘しておかげで、私は私がそれに良い顔をしているだろうと思い、それが今で安定していることを認識していませんでした。
トーマス・E

「安定」とは、私が急いでそれを呼ぶことはないかもしれません。一つは呼び出すことが躊躇されるANYでもちょっと-みかんやや新しいファイルシステム「安定を。」しかし、それはそこに到達しています。LWN(Linux Weekly News)が連載を行いました。それは良いです-ここをチェックしてください:lwn.net/Articles/576276
ravenpi

回答:


5

あなたは、データの整合性とデータ損失の最小リスクを主要な懸念事項として述べています。2GiBのメモリのみでZFSを実行することは危険であり、お勧めできません。RAMが少なすぎるとパフォーマンスが低下し、以前はマウントできないプールが多数発生していました。FreeNASのプロジェクトは、最低でもRAMの8GiBを述べています。

さらに、データの損失が懸念されるため、ECC RAMを使用する必要があります。あなたのボックスは2GiBのRAMしかサポートできないので、私はそれがZFSの良い選択ではない本当に古いボックスだと思います。

あなたの質問に答えるには:

[…]データの複製をサポート

経験則として、少なくとも32GiBがない場合は重複排除を忘れてください。プールのサイズによっては、かなり多くのRAMが必要になる場合があります。次に、重複排除+ RAMのコストが少数の追加ディスクよりも安いかどうかを計算します。多くの場合、より多くのディスクがより安価な代替手段です。

これは安全と見なすには低すぎますか?

はい、低すぎます。

私が理解していることから、ZFSはRAMの少ない状況でクラッシュし、プールを使用する可能性があります。

それは本当であり、多くの人々は低RAMのためにプールを失っています。

スワップがこの問題を緩和するのに役立つかどうかの矛盾する意見を聞いた

スワップを忘れてください。ZFSボックスではスワップを使用しないでください。

編集:冒険的な気分で、時々のパニックやデータ損失のリスクを気にしない場合は、ZFSチューニングガイド を読み、上記の設定を調整してください。ここでは、768MiBのメモリのシステムの設定例を示します。

vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"

それ以外の場合は、メモリのストリップに100ドルを投資し、安定したパフォーマンスの高いシステムをお楽しみください。


3
そうですか。詳しく説明すると、ecc ramがあり、マシンは最大8 / 16gb ramをサポートするhp proliant microserver gen7ですが、現在、より多くのramを購入することは経済的に現実的ではありません。freenasは8 GBを推奨していることを知っていましたが、freebsdおよびSolarisのドキュメントでは最低1 GBが推奨されており、これが質問の理由です。私はこれを踏まえて、おそらく最も安全なソリューションであるext4を使い続け、rsyncとddを使用して手動でオフラインディスクにミラーリングする必要があると思います。
トーマスE

ZFSがSWAPを使用してはならない理由を詳しく説明してください。
CMCDragonkai 2014年

ECCなしでZFSを使用することが、同じハードウェアを別のファイルシステムで実行するよりも危険な理由はありません。
アリシア

5
なぜZFSコミュニティは常にそのような傲慢な軽蔑でコメントしているのですか?信頼できるデータを求めているすべての人が、まったくばかげた設計要件に対応するために、ただ100ドルを費やしているわけではありません。たとえば、1GBのハードワイヤードRAMとUSBハードドライブを備えた小さなARMホームサーバーがあります。検出と修正の両方を行うことで、ビットの腐敗からデータを保護し、バックアップ用のスナップショットを用意します。スピードの必要はありません。また、btrfsは設計上、単純に壊れています。したがって、128エクサバイト未満のRAMが搭載されている場合でも、一部のばか者がうつ病から内破するように設計していないZFS 賢明です。
Evi1M4chine 2017年

0

高メモリ圧力システム(linux)では、メモリをアップグレードする必要があります。スワッピングがIO(カーネルハングタスク)をロックして、再起動しない限り使用できないというバグ(link)がまだあります。vm.swappiness = Xはzfsに影響を及ぼさないので、弧を特定の数に制限すると少し役立つ場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.