web-dev-qa-db-ja.com

FreeBSD + ZFS +暗号化?代替案?提案?

NAS&LAN内(およびVPN経由)のファイルサーバーとして機能する専用の物理サーバーを作成したいと思います。

ただし、ドライブを完全に暗号化する必要があります(システムドライブとデータドライブの両方、2つのzpoolを使用すると思います)。 ZFS暗号化はFreeBSDがサポートしているバージョン28(およびOpenIndiana、Nexentaなど)ではサポートされていないため、唯一の可能性はGELIを使用することであるように思われます。

今、ZFSの上にGELIレイヤーを追加すると、データが失われる可能性があるかどうかを考えています。インターネット上のいくつかの投稿(多くはありませんが)は、この問題を指摘しているようです。特に、ZFSは、RAID(Z)とチェックサムの統合を考慮すると、Unix/Linuxの世界で他のどのファイルシステム(たとえば、ext4、xfs、btrfs)よりもはるかに優れているようです。

その上にGELIを追加することは、RAIDセットアップの上にLUKSを追加するのと同じように思えますが、Geliを経験したことがなく、その信頼性もわかりません。パフォーマンスは主要な問題ではありませんが、LANで1MB/sの転送はしたくありません(ただし、> 20MB/sでも許容されます)。

私はLinuxの世界の外に出たことはないので、FreeBSDやSolarisの派生物の経験はありません。有償(高額)のサポート問題のため、Solaris Express 11は使用しません。これは自宅のコンピューターになります。必要に応じて喜んでそれらを学びます。
サーバーは基本的なNASタスクを実行する必要があります(特にsamba/cifsファイル共有、新しいZFSバージョンと統合されたものは必要ありません)。

暗号化レイヤーを検討した後、GELI + ZFSはLUKS + LVM + ext4よりも信頼性が高くなりますか?私はスーパーユーザーに関する別の投稿で質問しましたが、暗号化については話しませんでしたが、ZFSのためにFreeBSD/Solarisを提案しました。 OpenIndianaなどがLUKSやGELIのようなブロック暗号化方式をサポートしているかどうかはわかりません。

さらに、Linuxの場合と同じように、アレイにディスクを追加したり、RAID(Z)とファイルシステムを拡張したりするのは簡単ですか(たとえば、 ここ )。

8
user51166

LUKSやGeliなどのフルディスク暗号化(FDE)をZFSにドロップすると、ZFSの機能セットをあまり活用できなくなります。ただし、ZFSをFDEに配置すると、機能します。

最近、FreeBSD ZFSの専門家から、ZFSでPEFSを推奨するという議論が聞こえてきました。フォルダーとファイルに構成可能なPEFSが構成可能になり、将来的にFreeBSD ZFSライブラリにバンドルされる可能性があります。

フルディスク暗号化に依存しないことを推奨する暗号化の専門家がいますが、FreeBSDまたはLinuxでは、異なる暗号化戦略を連鎖させることが合理的な戦略であると思います。

例:Raw Disk-> FDE(Geli/LUKS)-> ZFS->(for/home)PEFSまたはEncFSを使用したユーザーランド暗号化。このモデルでは、フルディスク暗号化が危険にさらされている場合、そして誰かがリソースとモチベーションを持っていればそれほど難しくないと私が理解していることから、最も重要なファイルを保護するためのPEFS/EncFSがありますが、これははるかに困難です亀裂。

1

データ損失について過度に心配する必要はないと思います。 FreeBSDのGeliは成熟していて、私の経験では防弾でした。まずGeli、次にZFS 。次に、zpoolを使用して、シングルドライブ、ミラー、RAID-Zなど、任意の構成でプールを構築できます。

私自身の経験:

私は同様の設定のFreeBSD9ホームサーバーを持っています-2つのドライブ、それぞれに1つのzpool。これは、ZFS-on-rootセットアップです-UFSはありません。 1つのドライブはシステムで、もう1つはデータです。データドライブにはフルディスク暗号化があり、システムドライブにはありません(それができない理由はないと思いますが、追加の複雑化を避けたかっただけです)。

ベアデータドライブを暗号化するためにgeliを使用しました。 ZFS(厳密にはzpool)はこれを他のブロックデバイスと同じように認識し、通常の方法で "zpool create ..."を呼び出すだけで、そこから好きな方法でプールにzfsデータセットを作成できます。

私のユースケースでは、パフォーマンスは問題ではありませんでした。鉱山は4GBで完全に正常に動作していますAtom D520。おそらく電光石火ではありません(ディスクはわずか5200rpm 2.5 "で、低電力/ノイズのため))ホームネットワークサービスには問題ありません。

このセットアップは、数年前から問題なく実行されています。

1
sim303

Solaris 11は、ZFS内のネイティブ暗号化をサポートしています。 BSDに縛られていない場合は、検討する必要があります。本番以外の用途には無料で使用できるため、サポートライセンスを購入しなくても自宅で使用できます。

プールを拡張するには、vdevを追加する必要があります。ディスクを追加して単一のraidzまたは他のvdevタイプを拡張することはできません。ただし、vdevの追加を開始すると、ZFSはそれら全体にデータをストライプ化し、パフォーマンスを向上させます。

1
Brennan

ZFSでの暗号化にはgeomプロバイダーの1つを使用できるはずですが、ZFSの下のデバイスを暗号化する必要があります。私はおそらくgeliをセットアップしてから、freebsd-zfsタイプの内部にgptパーティションを作成し、そこから移動します。

実際に両方のソリューション(freebsdとlinux)をテストし、システム管理者の時間とパフォーマンスに基づいて決定することをお勧めします。

1
Luke