web-dev-qa-db-ja.com

NFS自動フェイルオーバーまたはロードバランスまたはクラスタリング?

私はNFSを使用しています(そしてそれは私がネットワークファイルでよく知っている唯一のものです)。しかし、まだ見つけることができません..

  • クラスター化された設計でNFSサーバーを作成する方法(または負荷分散?)
  • または、少なくとも、MORE-THEN-ONEサーバーにデプロイして「自動フェイルオーバー」を行うこと。

主な目的は、実行中の単一のNFSサーバーを単一障害点にしないことです。


私はそれを適切に作る方法がわからないので、これまで私は自分で発明しました:

  1. 2サーバー上のNFS。
  2. 第1(想定マスター)サーバーから別の第2サーバーへのRSYNC。
  3. アプリケーション(Webなど)サーバーから、Shell Script NSFマスターサーバーマウントポイントの正常な状態を確認します。そして、必要に応じて、そこから自動マウント解除(残して)し、2番目のものから自動マウントします。
  4. 自動シェルスクリプトで使用した主な関数はnfsstat -m ..マウントポイントの状態を確認します。

(私はRedhatを使用しています)

とにかく、私はそれが安全で標準的な方法だとはまだ思っていません。

11
夏期劇場

このチュートリアルのタイトル: 高可用性NFSクラスター:コロシンクとペースメーカーのセットアップ は、NFS、コロシンク、ペースメーカーを使用してNFSアクティブ/アクティブをセットアップする方法を示しています。または、次のタイトルのこのガイドに従うこともできます。 DRBDおよびPacemakerを使用した高可用性NFSストレージ これは、DRDBおよびPacemakerを使用してアクティブ/アクティブを設定する方法を示しています。

また、これらの他のリンクを参照して、さまざまなテクノロジーや用語に慣れることもできます。

このServerFault Q&Aも役立つはずです linux clustered Filesystem

追加のリファレンス

8
slm

これは、NFSが吸う多くの方法の1つにすぎません。

バージョン3までのNFSだけでこれを行う方法はありません。手動で機能を追加する必要があります。

これはおそらく意味します:

  • データ複製またはいくつかの共有ストレージ
  • IPテイクオーバー
  • ある種のハートビート監視
  • クラスター管理

これらすべてを行うためのパッケージがありますが、組織に統合する必要があります。

Linux HAプロジェクトは、これらのいくつかを実装するために何年も前に設立されました。 http://www.linux-ha.org/

彼らが行ったことのほとんどは、使用している一般的なディストリビューションにパッケージ化されているはずです。

注目に値する...システムの障害の最大の単一の原因は(はるかに)管理エラーであり、HAクラスターは定義上、複雑なシステムであり、管理エラーが発生しやすくなっています。

NFS v4を超えてOK、NFS v4startsは、AFSが20年間持ってきたスケーラビリティ、セキュリティ、および可用性機能の一部を実装します。どのような手段でも、完全にまたは広く実装されているか、さまざまなクライアントやサーバーと完全に互換性がありますが、NFSを使用している場合は、v4から始めて、プラットフォームにすでに実装されているものを確認してください。

5
Colin

私が知る限り、NFSをアクティブ-アクティブクラスターにすることはできません。現在、アクティブ-パッシブには、これを達成するのに役立つ特定のツールがあります。私は、目的に応じて高可用性NFS共有を作成する可能性を提供するSolaris OSとSolaris Clusterに精通しています。

必要なものの1つは、必要に応じてサーバーAからサーバーBに、またはその逆に移動できる共有ストレージです。理想的には、iSCSIまたはSANストレージ。NFS共有に関連付けられたIP。

クラスターはこのように機能します。サーバーAに障害が発生した場合、サーバーBはNFSサーバーに関連付けられたIPを有効にし、共有ディスクの所有権を取得してマウントし、NFSサーバーを起動します。サーバーBに障害が発生し、サーバーAが稼働している場合も同様です。

これを手動で行う場合は、基本的な手順として、サービスを自動的に有効または無効にするための監視スクリプトとスクリプトを使用します。

Redhat については、こちらをご覧ください。

2
BitsOfNix

Red Hat RHSS/RHGS(Red Hat Storage/Gluster Server)製品は、FuseベースのGlusterFSクライアントを使用して、実行中のバックエンドサーバーへのNFS接続をプロキシし、複数のサーバーノードのバックエンドミラーストレージを維持しながら、これを完璧に行います。すべてクライアント側に透過的です。これはあなたのために働く非常に洗練されたソリューションです。 EPEL/Extra RPMのソリューションをインストールするか、Red Hatから購入できます。クライアント側では、単にfstabのマウントタイプとしてFuse/glusterfsまたはNFSを使用します。面倒なクォーラム/フェンシングの問題はまったくありません。

2
Joe

ロードバランサー、CentOS、NFS、 [〜#〜] drbd [〜#〜] (レプリケーション)を使用して、「デュアルプライマリ」アクティブ/アクティブ構成でNFSファイルサーバーの冗長ペアをセットアップしました、 GFS2 (クラスター化ファイルシステム)および Pacemaker (クラスター管理)。

以下は、RackSpaceでのこの実装のガイドですが、他の環境でも同様です。

Howtoセットアップ CentOS 6のデュアルプライマリDRBD:GFS2&Pacemaker

2
doublesharp

これは非常に素晴らしくシンプルなハウツーであり、試してみてうまく機能します。

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

個人的にはhaとロードバランスを組み合わせるのでlvsを好みますが、nfs + gfs2 + drbdで試してみましたが、実際にはうまくいきません。多分私はいくつかの方法が必要ですが、lvs + nfs haについて何も見つかりません

1
elbarna