web-dev-qa-db-ja.com

Linuxクラスター化ファイルシステム

現在、複数のWebサーバーにNFSサービスを提供する2つのCentOSボックスがあります。

誰かがこれらのサーバーの両方ですべてのファイルを簡単かつ効率的にミラーリングするファイルシステムを推奨できますか?

私は過去にDRBDを使用しましたが、これには一度に1つのシステムにしかマウントできないという欠点がありました。

3
davidcollom

フリーソフトウェアを使用して、2つのアクティブなNFSサーバーのペアで単一のクラスター化されたファイルシステム全体をエクスポートすることに気付く方法はありません。冗長性を実現しようとしている場合は、Red Hatの 構成例-NFS Over GFS に従って、クラスター化されたファイルシステムとアクティブ/パッシブのNFSサーバーのペアをセットアップできます。 )( クラスター管理 も参照)。これによりフェイルオーバーが可能になりますが、簡単でも効率的でもありません。パフォーマンスを向上させる方法としてクラスターを検討していた場合、2つから1つのアクティブなNFSサーバーに移行し、クラスター化されたファイルシステムのオーバーヘッドがあるため、これは一歩後退します。

例えば。/gfsは、server1とserver2の両方にマウントされたクラスター化されたファイルシステムです。 server1は、/ gfsをマウントするすべてのNFSクライアントによって使用されます。失敗した場合は、server2に透過的に切り替えられます。

別のアプローチは、単一のクラスター化されたファイルシステムを使用することですが、各サーバーはその一部のみをエクスポートします。単一のアクティブ/パッシブペアの代わりに、2つのNFSリソースがあり、各サーバーはそのうちの1つに対してアクティブです。これによってパフォーマンスが向上することはありませんが、両方のNFSサーバーをアクティブに保つことができるため、現在のセットアップよりもパフォーマンスが低下することはほとんどありません。

例えば。/gfsは、server1とserver2の両方にマウントされたクラスター化されたファイルシステムです。 alとmzの2つのディレクトリに分かれています。 server1は、/ gfs/alをマウントするすべてのNFSクライアントによって使用されます。失敗した場合は、server2に透過的に切り替えられます。 server2は、/ gfs/mzをマウントするすべてのNFSクライアントによって使用されます。失敗した場合、それらは透過的にserver1に切り替えられます。

上記の微調整は、クラスター化されたファイルシステムの代わりに2つのDRBDリソースを使用することです。これは、特にDRBDに既に精通している場合は、設定が簡単な場合があります。

4
sciurus

私は実際にお勧めします Gluster 。これはオープンソースであり、十分に文書化されており、RedHatが最近購入しました。パフォーマンスは比較的良好で、現在はRedHatプロジェクトであるため、CentOSで十分にサポートされています。 HekaFSと呼ばれるプロジェクトもあります。このプロジェクトは、SSLやその他の機能を追加することで、光沢のある認証とセキュリティの機能を拡張することを目的としています。それは非常にシンプルで非常によく設計されています。それはかなり良い管理ユーティリティが付属しています。

7
juwi

チェックアウトOCFS2: http://oss.Oracle.com/projects/ocfs2/

乾杯

2
HTTP500

多くの人々が、商用ディスクと無料ディスク、共有ディスクと非共有ディスクの両方のオプションの完全なリストをまとめています。 高レベルのクラスター化されたファイルシステムの概念はここにあります および ファイルシステムの完全なリスト をカバーするウィキペディアのエントリがあります。

各システムのローカルディスクを使用して、非共有ストレージで操作しているようです。同期トラフィックが通常のWebアプリケーションに干渉しないように、2つのホスト間に専用のネットワーク接続が必要になる場合があります。

今、私の本当の問題は、2つの独立したファイルシステムがあり、おそらくWebサイトにダウンタイムを発生させることなく、それらを1つの信頼性の高いパフォーマンスの高いファイルシステムにマージしたいということです。難しい問題は、ストレージスペースを半分に削減しようとしていることであり、これらの手順のいくつかのバリエーションを実行する必要があります。

  • 選択したファイルシステムを選択します
  • 練習できるようにテストリグを作成します。ネットワークを可能な限り複製する
  • ダウンタイムとミスを最小限に抑えるために、最初に練習システムでここに表示されるすべてをテストしてください
  • すべてのデータを1つのNFSサーバーに移行します
  • 1つのNFSサーバーが両方のアドレスにサービスを提供するようになりました
  • 2番目のマシンは、新しいクラスター化されたファイルシステムの最初のノードになります
  • NFSからのすべてのデータが新しいファイルシステムにコピーされます
  • 新しいクラスターへのクライアントの移行が始まります
  • すべてのクライアントがオンボードになるまで、NFSからクラスター化されたファイルシステムへのデータの継続的な移行
  • NFSファイルシステムを削除します
  • 現在使用されていないサーバーを再構築し、クラスターに参加させます
  • レプリケーションや負荷分散が計画どおりに機能することを確認します
  • クラスターの元のノードを切断してシステムをテストし、クライアントが稼働し続けていることを確認します

あなたの唯一のクライアントがいくつかのウェブサーバーであるなら、それは本当に悪いことではないかもしれません。 FTP、Samba、SSH/SCP、NFSなどのさまざまなプロトコルを介してクラスター化されたファイルシステムに引き続きアクセスすることもできます。

重要なヒントの1つ-クラスター化されたファイルシステムは、ライブデータベースのデータベースファイルの保存場所を貧弱にします。これが当てはまる場合は、データベースエンジンに固有のクラスタリングテクノロジーを使用してください。

新しいファイルシステムへの移行は決して短くも簡単でもありません。基盤となるファイルシステムを選択して、それを取り入れて頑張ってください。

2
zerolagtime

GFS2( http://en.wikipedia.org/wiki/Global_File_System )が本番環境で実行されているのを見てきました。最大10台のマシンに簡単にアクセスできます。わいせつな量の使用率をスローしない限り、それを超えて拡張されます。

1
tsykoduk