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


11

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

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

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


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

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

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

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

回答:


8

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

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

このServerFaultのQ&Aは、Linuxクラスター化されたファイルシステムとしても役立つはずです。

追加のリファレンス


@AndrewSavinykh-あなたが探しているものであれば、そのリンクはあなたが共有したアクティブ/パッシブを示します。
slm

5

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

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

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

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

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

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

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

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

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



2

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

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

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

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

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


ロードバランサー、CentOS、DRBD、GFS2、Pacemakerを使用してアクティブ/アクティブNFSクラスターをセットアップしました。詳細については、私の回答を参照してください。
doublesharp 2015

2

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

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

CentOS 6でデュアルプライマリDRBDをセットアップする方法:GFS2&Pacemaker


2

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


同意します。問題なく機能し、設定は簡単です
elbarna '20

1

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

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

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


しかしVirtual IP、サーバーで、私はそこでどのように説明しますか?(わかりません)
夏期劇場

私はlvsサーバーでセットアップしています。virtualipを作成するには、lvsが必要です。必要に応じて、virtualipを作成するためのpirahna guiと呼ばれる素晴らしいWebインターフェイスがあります。たとえば、guug.de / lokal / hamburg / talks / Linuxの
elbarna

nfsがリモートからマウントされ、1つのサーバーがダウンしている場合、lvs、virtualip..isはほぼ不可能です。最後のサーバーとリモートクライアントでも、nfsがブロックされています。
elbarna 2015

まさか、NFSでのアクティブ/アクティブクラスタは不可能です
elbarna '11

しかし、幸いにもpnfsを使用できます
elbarna
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.