web-dev-qa-db-ja.com

LinuxとFreeBSDの間でZFSが一貫していると信頼できますか?

近いうちにFreeNASボックスを構築する予定ですが、Linux上のZFSが最終的に信頼できることが判明した場合は、より身近なOSを使用するために切り替えたいと思うかもしれません。

したがって、ZFSのさまざまな実装に互換性があると信頼できるかどうか疑問に思っています。つまり、ブートディスクをFreeNASからLinuxまたはOpenIndianaに交換するだけで、データに問題が発生しないことを信頼できますか?

これは愚かな質問のように見えるかもしれません-明らかにはず互換性があるようです-しかし、ドライブがコンピュータ間で移動される場合にZFSが一般的に使用されていないことを推測しているので、私は期待しています誰かが「それだけすべきになる」よりも良い答えを提供できる。

11
iconoclast

Zpoolのバージョンには細心の注意を払う必要があります。これが、Oracle、旧OpenSolaris、Linux、およびZFSの* BSDバリアントの主な差別化要因です。

基本的に、古いzpoolを新しいバージョンにアップグレードできますが、ダウングレードすることはできませんダウングレードできません

奇妙なことに、ウィキペディアには、さまざまなzpoolバージョンの 最良の要約 と、それらの間の違いがあります。

ZFS実装間のzpoolバージョンの現在のリストはこちら です。

NexentaStor 3.1を使用しています。そのスケジュールによると、私はOpenIndianaやFreeBSDのZFSファイルシステムで作業できますが、たとえばSolaris 11ではできません。

ただし、FreeNASは非常に古いバージョンのZFS上にあると思います。 Nexentaを検討しますか?

8
ewwhite

Oracle以外のZFS開発の将来には、 ZFS機能フラグ が導入されます。これにより、古いZFSバージョンに基づくストレージプールで新しいZFSシステムを使用できるようになります。答えは「はい」です。今日FreeNASから始めて、ZFSがさらに成熟した後でLinuxに移行するのが安全です。

FreeBSDがIllumosのZFSの変更に非常に厳密に従っていることを知っています。新しいバグ修正または機能が、数日または数週間のうちにFreeBSD-HEADに追加されます。私は zfsonlinux プロジェクトがIllumos ZFSソースのZFSの変更に従うと信じています。また、ZFS機能フラグがまだ追加されていない場合は、おそらく追加されます。しかし、現時点では、IllumosとFreeBSDが持っている安定性と品質レベルに到達する優先度が高くなっています。

FreeBSDとOpenIndianaのZFSサポートは、同じOpenSolarisコードに基づいているため、通常の制限内で互換性があります(他のOpenSolaris派生物と同じです)。 LinuxでOpenSolarisコードを使用できるようにする Linuxモジュールが利用可能 があります(Linuxの感染性ライセンスのため、これを一緒に配布することはできません)。これも同じ理由で互換性があります。

GPL化されたZFSコードベースを一から構築する努力があります。現在または将来の任意の時点での互換性の本質的な保証はありません。彼らがプロジェクトを取ることに決めたのは彼ら自身の責任ですが、彼らの「目標」は互換性ですが、まだありません。

Linuxには他のライセンスのコードを含めることができると主張する人もたくさんいます。これは本当です。 OpenSolarisの対象となっているCDDLライセンスでは、CDDLライセンスを、それよりも厳しい条件を課すプロジェクトに含めることはできません。 LinuxのGPLは、人々がOSに改善を加える場合、それらの改善が貢献することを要求しています。この「より制限的な」用語は、CDDLコードをGPLコードに含めることができないことを意味します。オラクルにあなたを訴える言い訳をすることは、おそらく良い考えではありません。 FreeNASと残りのBSDは、BSDライセンスを使用します。これは、CDDLよりも制限が少ないです。

7
Chris S

次のようにいくつかの大きなプールを移動しました:

solaris 10で開始(Oracle制度の下での.edu価格変更のために残された)

nexentaに移動しました(特に、debianっぽいユーザーランドがあっても、sysadminに関するものはすべてsolaris/illumos/whateverです)。

freebsdに移動しました(私のハードウェア用のscsiドライバーがそうでなかった以外は問題ありません)。ここで、新しいプールを1つまたは2つ追加しました。

openindianaに移動しました(まるで家に帰るようなものでした)

したがって、一般に、OS間でプールを移動することは間違いなく可能です。リトルエンディアンからビッグエンディアン(sparcからx64、またはその逆)に移動することもできます。しかし、他のポスターが言ったように、キーはプールバージョンです。同じバージョンまたはより新しいバージョンをサポートするZFSコードを備えたシステムに移動している限り、満足するはずです。これが、OSをアップグレードするときにプールバージョンのアップグレードを回避する理由である可能性があります。

4
Dan Pritts