web-dev-qa-db-ja.com

ZFSとXFS

最大16 TBのストレージサーバーの構築を検討しています。現在、ファイルシステムとしてZFSとXFSの両方を検討しています。利点、欠点は何ですか?私たちは何を探す必要がありますか? 3番目に良いオプションはありますか?

64
Tamas Czinege

XFSは、おそらく多数の大きなファイルを持つ非常に大きなファイルシステムに適していることがわかりました。私は問題なく2年間以上機能している3.6TB XFSファイルシステムを使用しています。そのサイズでext3などよりも確実に機能します(特に、多くの大きなファイルと大量のI/Oを処理する場合)。

ZFSで得られるのは、ファイルシステム自体に組み込まれているデバイスプーリング、ストライピング、その他の高度な機能です。詳細について話すことはできませんが(他の人にコメントさせておきます)、私が言えることは、Solarisを使用してここで最大の利益を得ることです。また、(私と同じように)ハードウェアRAIDを既に使用している場合、ZFSがどれだけ役立つかもわかりません。

45
Mark Renouf

ZFSはソフトウェアRAIDを超える利点を提供します。コマンド構造は非常に慎重にレイアウトされており、直感的です。また、メタデータのインデックス作成を高速化するために、圧縮、スナップショット、クローニング、ファイルシステムの送受信、およびキャッシュデバイス(これらのファンシーな新しいSSDドライブ)も備えています。

圧縮:

#zfs set compression=on filesystem/home

ライブマウント可能なコピーオンライトスナップショットの作成をサポートします。

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

ファイルシステムの複製:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

ファイルシステムの送受信:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

増分送信/受信:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

キャッシングデバイス:

# zpool add filesystem cache ssddev

これは氷山の一角にすぎません。OpenSolarisのインストールを手に入れて試してみることを強くお勧めします。

http://www.opensolaris.org/os/TryOpenSolaris/

Edit:これは非常に古く、Open Solarisは廃止されており、ZFSを使用する最良の方法はおそらく Linux 、または FreeBSD


完全な開示:以前はSunのストレージアーキテクトでしたが、1年間以上働いていません。この製品に興奮しています。

75
Chris

ライブファイルシステムでのLVMスナップショットとxfsの使用は、非常に大きなファイルシステムを使用する場合の災害特にのレシピです。

私は自分のサーバーで過去6年間LVM2とxfsで排他的に実行してきました(zfs-Fuseは非常に遅いので、自宅でも)...

ただし、スナップショットを使用したときに発生したさまざまな障害モードを数えることはできなくなりました。私はそれらの使用を完全に停止しました-それはあまりにも危険です。

ここで作成する唯一の例外は、自分の個人的なメールサーバー/ウェブサーバーのバックアップです。ここでは、一時的なスナップショットを使用して夜間バックアップを行います。これは、常にソースfsのサイズと同じですはすぐに削除されます。

覚えておくべき最も重要な側面:

  1. スナップショットのある大きなファイルシステムがある場合、書き込みパフォーマンスがひどく低下します
  2. スナップショットのある大きなファイルシステムがある場合、ボリュームグループのインポート中にディスクが変動している間、ブート時間は文字通り数十分遅れます。メッセージは表示されません。ルートがlvm2上にある場合、この影響は特に恐ろしいです(ルートデバイスの待機がタイムアウトし、システムが起動しないため)。
  3. スナップショットがある場合、スペースが不足するのは非常に簡単です。スペースが不足すると、スナップショットは破損し、修復できません。
  4. 現在、スナップショットをロールバック/マージすることはできません( http://kerneltrap.org/Linux/LVM_Snapshot_Merging を参照)。つまり、スナップショットからデータを復元する唯一の方法は、実際にそれをコピー(rsync?)することです。危険危険:スナップショットの容量が少なくともソースfsのサイズではない場合、これを実行するしない必要があります。そうしないと、すぐにレンガの壁にぶつかり、ソースファイルとスナップショットの両方が壊れてしまいます。 (そこに行ったことがある!)
18
sehe

考慮すべきいくつかの追加事項。

  • ドライブがその上にあるファイルシステムに関係なくハードウェアRAIDアレイで停止した場合、デバイス上のすべてのブロックを再構築する必要があります。データを保持していなかったものでも。一方、ZFSはボリュームマネージャ、ファイルシステムであり、データの冗長性とストライピングを管理します。したがって、データを含むブロックのみをインテリジェントに再構築できます。これにより、ボリュームが100%満たされている場合を除いて、再構築時間が短縮されます。

  • ZFSにはバックグラウンドスクラブがあり、データがディスク上で一貫性を保ち、データが失われる前に検出された問題を修復します。

  • ZFSファイルシステムは常に一貫した状態にあるため、fsckは必要ありません。

  • ZFSは、LVMが提供するスナップショットと比較して、スナップショットとクローンを使用することで、柔軟性と機能も向上します。

Linux、LVM、XFSスタックで大容量のビデオ制作用に大容量のストレージプールを実行した。私の経験では、ストレージをマイクロ管理するのは簡単です。これにより、論理ボリュームの管理に大量の未使用の割り当てスペースと時間/問題が発生する可能性があります。フルタイムのストレージ管理者がストレージのマイクロ管理を担当している場合、これは大した問題ではないかもしれません。しかし、ZFSのプールストレージアプローチはこれらの管理の問題を取り除くことがわかりました。

14
3dinfluence

ZFSは本当に素晴らしいです。私はそれを5 x 1のホームファイルサーバーとして使用していますTB HDファイルサーバー、およびほぼ32 TBドライブ容量:高速で使いやすく、データ破損に対する最高の保護機能が含まれています。

特にこのサーバーでOpenSolarisを使用しているのは、新しい機能にアクセスしたいためと、新しいパッケージ管理システムとアップグレード方法が提供されたためです。

8
X-Istence

パフォーマンスに集中すべきではないと思います。 XFS、ext4などでデータは安全ですか?いいえ。次の博士論文と研究論文を読んでください。

XFSはデータ破損に対して安全ではありません:pages.cs.wisc.edu/~vshree/xfs.pdf

また、ext3、JFS、ReiserFSなどもありません:zdnet.com/blog/storage/how-Microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "私は、魅力的なPhD論文に出会いましたVijayan PrabhakaranのIRONファイルシステムは、NTFS、ext3、ReiserFS、JFS、XFSの5つの商品ジャーナリングファイルシステムがストレージの問題を処理する方法を分析します。

一言で言えば、彼はすべてのファイルシステムが持っていることを発見しました

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

しかし、ZFSはデータを正常に保護します。これに関する研究論文は次のとおりです。zdnet.com/ blog/storage/zfs-data-integrity-tested/811

7
Miklo

どのOSを実行する予定ですか?それとも、考慮事項の別の部分ですか? Solarisを実行している場合、私が知る限り、XFSはオプションではありません。 Solarisを実行していない場合、ZFSの使用をどのように計画していますか?他のプラットフォームではサポートが制限されています。

Linuxサーバーについて話をしているのであれば、私は個人的にExt3を使用します。 zfs-Fuseはまだ非常に若いです。また、カーネルの更新後にバグが原因でデータが破損したときに、XFSで一度問題が発生しました。 Ext3よりもXFSが優れている点は、リモートデータセンターにあるマシンの復元にかか​​るコストを上回らなかったことは間違いありません。

7
Kjetil Limkjær

FS指向の回答ではありませんが、いくつかのディスクコントローラーは2TBを超えるLUNS /論理ディスクを処理しないことに注意してください。これにより、ストレージの編成方法がかなり制限される可能性があります。システムをエンドツーエンドでチェックして、全体で16TBを処理できることを確認できるように、あなたが気づいてほしいと思いました。

5
Chopper3

それはあなたが望む機能に依存します... 2つの合理的な選択肢はあなたが言ったようにxfsとzfsです、xfsコードはかなりよくテストされています私はIRIXの下で8年前に初めてそれを使いました

Xfsからスナップショットを取得することができます(lvmおよびxfs_freezeを使用)。

SSDなどの個別のログデバイスを使用することが可能

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

大きなxfsは伝統的にチェックするために多くのメモリを必要とします

ゼロが現れる問題は「セキュリティ」機能でしたが、これは少し前に消えたと思います。

1
James

すでに述べた以外に、パフォーマンスの観点から、MDベースのRAIDのxfsは、ストリーミングメディアのzfsよりもパフォーマンスが優れています。私は、メディアサーバーでxfsを使用して5年間とまったく同じハードウェアを使用し、zfsを使用してほぼ同じ時間を費やしました。 Intel Atom 330 xfsの場合、私はstuterを経験していません。複雑なシーンのzfsでは、同じハードウェアが追いつけず、フレームのドロップを開始します。

1
user718960

まあ、zfsの最新の追加、つまり重複排除について忘れないでください。そして、オンザフライでiSCSI、NFS、またはSMB共有について話しましょう。他の人がすでに述べたように、zfsファイルシステム、スナップショット、raidz(= raid5)ブロックチェックサム、動的ストライプ幅、キャッシュ管理などのエクスポート。私はzfsに投票します。

0
PiL

独自のものを構築するのではなく、代替案はSun 7410通称Toroです。ソリューションにバンドルされている非常に便利なソフトウェアがいくつかあります。

0
Jauder Ho