GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのフォールトトレランス:Linuxの高可用性

ITのダウンタイムは、どのビジネスにとってもコストがかかります。 Gartner [I]は、ダウンタイムの1分あたりのコストは平均で5,600ドルと見積もっており、実際のコストは業種、会社の規模、およびその他の要因によって異なります。ただし、高可用性とフォールトトレランスを実現するように設計されたシステムを使用すれば、コストを大幅に回避できます。

定義:高可用性Oracle [II]は、高可用性を「ほぼフルタイムの可用性を提供するように構成されたコンピューティング環境」と定義しています。高可用性の一般的な基準は「ファイブナイン」、つまり99.999パーセントの稼働時間です。

すべてのサービスプロバイダーがこの堅牢な基準を満たすことができるわけではないため、年間5分強のダウンタイムが許容されます。

平均的なダウンタイムコストに近づく組織にとって、「ファイブナイン」よりもさらに高い可用性を達成することは、収益性、さらには存続にとって重要です。 Atlantic.netは、Linux High Availability(Linux-HA)を活用することで、業界をリードする100%のネットワーク稼働時間を保証しています。

高可用性の概要

オラクルが説明しているように、ネットワークは、冗長なハードウェアとソフトウェアを利用し、問題が発生した場合にシステムを実行し続けるための単一障害点を回避することにより、高可用性を実現するように構成されています。ワークロードはロードバランサーによってネットワークの一部に分散されます。ロードバランサーは、障害が発生したコンポーネントやオフラインになったコンポーネントからトラフィックをリダイレクトします。

ロードバランサーによって統合された機能のためにグループ化されたサーバーは、クラスターと呼ばれます。コンポーネントの1つに障害が発生しても適切に動作し続けるシステムは、フォールトトレラントと見なされます。障害を回避するためのクラスター内のトラフィックまたはワークロードの自動移動はフェイルオーバープロセスと呼ばれ、それが採用されると、エンドユーザーは、サーバーがクラッシュした場合でもアプリケーションを使用し続けることができます。

高可用性システムの主な利点は、計画外のダウンタイムによるコストの削減です。負荷分散は信頼性を向上させるだけでなく、自動化とエラー検出を通じて回復速度を向上させることもできます。さらに、アプリケーションのパフォーマンスを向上させることもできます。

「アプリケーションの記述が不十分な場合や、スケーリングに問題がある場合でも、ロードバランサーを使用すると、他の変更を加えることなくユーザーエクスペリエンスを向上させることができます。」

NGINX [III]

システム全体をオフラインにすることなくシステムコンポーネントを更新する機能は、バックアップや更新などのメンテナンスタスクが適切に実行され、急いで運用を再開しないようにするのにも役立ちます。高可用性システムは、組織がネットワークをプロアクティブに監視できるようにし、冗長ストレージによるデータ損失のリスクを軽減することで、さらなる保護を提供します。

高可用性は、HIPAA準拠のホスティングなど、規制への準拠を保証するためにも価値があり、必要な場合もあります。 HIPAAセキュリティルール[IV]では、「情報はオンデマンドでアクセス可能で使用可能」であると同時に、予期しない需要やハードウェア障害などの「予期しないネガティブなイベントが発生した場合でも」情報が維持されるようにするための緊急時対応計画が必要です。

ネットワークへのフォールトトレランスの構築

フォールトトレランスを提供できる一般的に使用される負荷分散製品には、Apache Zookeeper、Pacemaker、およびHAProxyがあります。 Zookeeper [V]は、分散システム向けのオープンソースの調整サービスであり、複数のサーバーで実行した場合に高可用性を提供します。奇数番号の「アンサンブル」でネットワークノード上で実行され、作成するデータレジスタの名前空間を介してそれらを調整します。 Pacemaker [VI]はクラスターリソースマネージャーであり、オープンソースでもあり、元々はLinux-HAプロジェクトの一部でしたが、その後独自のものになりました。また、ノード上で実行され、HeartbeatやOpenAISなどのクラスターインフラストラクチャサービスを介してノードを調整します。

対照的に、HAProxy[VII]はAtlantic.Netのマネージドファイアウォールアプライアンスに含まれています。

フォールトトレランスは、HAProxyによる冗長ネットワークリソースの制御によって提供されます。サーバーに障害が発生した場合、HAProxyは、トラフィックを問題からリダイレクトし、この目的のために準備が整っている冗長サーバーにリダイレクトするために、含まれている多数のアルゴリズムの1つを使用します。新しいサーバーへの切り替えには約1秒かかりますが、クラッシュしたサーバーをオンラインにするのに数時間かかる場合があります。その冗長サーバーのコストは、通常、これが発生してからわずか数分以内にダウンタイムを短縮することで節約されます。

HAProxyは、一方のサーバーに障害が発生した場合やメンテナンスのためにサーバーを停止する必要がある場合にサイトを支援するだけでなく、両方のサーバーが稼働しているときにWebトラフィックの負荷を分散して、顧客への応答時間を増やすように設定することもできます。

HAProxyもオープンソースであり、現在多くの人気のあるLinuxディストリビューションに同梱されています。アクティブなHAProxyコミュニティはソフトウェアを継続的に更新し、再構成せずに新しいバージョンを展開できます。 HAProxyは、1日に数十億のWebページにサービスを提供し、フォーチュン500企業に多額の資金を提供し、13年間、安定した(完成した)バージョンまたは単一の既知の侵入にバグはありませんでした。

相互に関連するベストプラクティス

悪意のあるネットワークトラフィックが障害を引き起こすシナリオでは、負荷分散は通常、それ自体では問題を解決しません。トラフィックをフィルタリングするファイアウォールは、問題が新しいサーバーへのワークロードを単純に追跡することを防ぎます。同様に、ファイアウォールのトラフィックフィルタリングは、ファイアウォール内のハードウェア障害またはソフトウェアバグに対するネットワークの脆弱性を軽減することはほとんどありません。強力なファイアウォールと高可用性システムの両方を利用すると、全体的な保護が劇的に向上します。

冗長性が組み込まれ、ワークロードがロードバランサーによって制御されるネットワークは、最悪の場合の障害にも耐え、最大の可用性を提供します。さまざまなコンポーネントを適切に組み合わせることでネットワークの信頼性が確保されるのと同様に、高可用性の恩恵を受ける組織は、冗長ネットワークコンポーネントのフルセットとともに、HAProxyなどのロードバランサーを使用することでそれらを実現できます。

Atlantic.NetのVPSホスティングソリューションを使用すると、リクエストに応じてサーバーが高可用性を実現できるようにセットアップされていることを確認できます。マネージドファイアウォールアプライアンスと組み合わせると、最も必要なときにサイトがダウンするのを防ぐための信頼性の高いソリューションが提供されます。ヘルプや詳細については、[email protected]までメールでお問い合わせください。当社の営業チームは、プロセスを迅速かつ簡単にガイドするお手伝いをします。

[私]http://blogs.gartner.com/andrew-lerner/2014/07/16/the-cost-of-downtime/

[II] https://docs.oracle.com/cd/A91202_01/901_doc/rac.901/a89867/pshavdtl.htm

[III] https://www.nginx.com/blog/10-tips-for-10x-application-performance/

[IV] https://www.hhs.gov/sites/default/files/ocr/privacy/hipaa/administrative/securityrule/securityrulepdf.pdf?language=es

[V] https://cwiki.apache.org/confluence/display/ZOOKEEPER/ProjectDescription

[VI] http://wiki.clusterlabs.org/wiki/Pacemaker

[VII] http://www.haproxy.org/


Linux
  1. Linuxでフェイルオーバーと高可用性ネットワークボンディングを構成する方法

  2. RCRON – cron ジョブの高可用性のセットアップ

  3. Linux のハイ メモリとロー メモリとは何ですか?

  1. Linux –高I / Oの原因となる特定のファイルを決定しますか?

  2. Linux – Linuxのハイメモリとローメモリとは何ですか?

  3. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  1. Linuxmvコマンド

  2. Linuxduコマンド

  3. Linuxipコマンド