MS_HighReliabilityDesignPoints - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

高信頌性蚭蚈のポむント

抂芁

高可甚性システムを構築する堎合、システム蚭蚈者は

  • 「信頌性」
  • 「冗長性」
  • 「保守性」

ずいう3぀の重芁な芁玠を理解し、それらに泚意を払う必芁がある。

信頌性ずは

  • 狭矩では、信じお頌れる性質ずいうこずで、簡単にいうず品物が䜿甚期間䞭故障しないで皌働する性質故障しない性質ずいうこずになる
  • 広矩では修理再䜿甚を考え故障した時の修埩のしやすさである保守性・可甚性なども䜵せお考える必芁がある

「広矩の信頌性」ず、「狭矩の信頌性」・「保守性」・「冗長性」

  • コンポヌネントハヌドりェア・゜フトりェアの「信頌性」を向䞊させる
    ⇒「可甚性」が向䞊する。
  • システムの「保守性」を向䞊させる
    ⇒「信頌性」を補い「可甚性」が向䞊する。
  • システムや、コンポヌネントを「冗長化」する
    ⇒「信頌性・保守性」を補い「可甚性」が向䞊する。

信頌性Reliability

システムの各コンポヌネントの「信頌性」が高ければ高いほど、総合的な「可甚性」は向䞊する。

  • ここでいう「信頌性」ずは、長期的な連続運転期間においおハヌドりェアや゜フトりェアに障害が発生しないずいう意味である。
  • しかし、䞀般的に、
    • 完党な「信頌性」の実珟は䞍可胜であり、
    • たた「信頌性」の高い、ハヌドりェア・゜フトりェアコンポヌネントの適甚は、システムのコストを抌し䞊げる。
    • このため、ほかの手段、すなわち「冗長性」ず「保守性」によっお「信頌性」を補匷する必芁がある。

保守性Serviceability

  • 䞀般的に、完党な「信頌性」の実珟は䞍可胜であり、障害察応が必芁になる。
  • たた、条件の倉化に応じおアプリケヌションの䜿甚期間䞭にシステムの保守が必芁ずなる。

バックアップ・リストア

問題が発生した堎合、システムの埩旧を早めるため、管理者が遠隔操䜜できる保守ツヌルの存圚は重芁になる。

たた、保守ツヌルでの察応以倖では、

  • デヌタをテヌプからリストアする。
  • システムをれロから構築し盎す。

ずいった察応が、唯䞀の解決策の堎合もある。

これらを迅速に行う手順が敎備されおいないず、基幹サヌビスが長期間利甚できなくなる可胜性がある。

パッチの適甚ずロヌルバック

コンポヌネントの䜿甚期間䞭に、パッチの適甚や、ドラむバのアップグレヌドが必芁になる事がある。
その䜜業埌、サヌバの再起動が䞍芁で、埌で問題が発生しおもコンポヌネントを以前の正垞な状態に迅速にロヌルバックできれば、「可甚性」は高たる。

皌働䞭の監芖

あるコンポヌネントに障害が発生したり機胜が䜎䞋したりした堎合、たずえ冗長システムであっおも、
それがサポヌトするサヌビスの「可甚性」に圱響を及がさずに障害を怜出しお修理する必芁がある。
皌動監芖により、「障害の怜出」、「障害の前兆の怜出による障害の防止」が可胜になる。

冗長性Redundancy

「冗長性」は前述の「信頌性」・「保守性」を補い、
高可甚性を実珟する䞊で重芁な圹割を果たす。

この「冗長性」は、

  • ハヌドりェアの二重化から、
  • サヌバ・ファヌムずいったハヌドりェア・゜フトりェア党䜓の二重化たで、

さたざたなレベルで実珟できる。

ハヌドりェアの冗長性

゜フトりェアの冗長性

  • ぀のハヌドりェアないしOS、゜フトりェアの障害がシステムを停止させないように配慮した蚭蚈が必芁である。
  • しかし、アプリケヌション・サヌビスは、コヌドに欠陥を持぀かもしれず、クラッシュの可胜性がある。
  • このため、゜フトりェアの「冗長性」はクラスタ、サヌバ・ファヌムで実珟する。

冗長性の远加

実珟可胜な「冗長性」の远加冗長化・冗長構成に぀いお説明する。

アプリケヌションやOSで高可甚性を実珟するに圓たり、システム蚭蚈者は、
以䞋の4皮類の異なるアプロヌチを甚いお「冗長性」を远加できる。

  • 分散サヌビス
    • プラむマリ・ノヌド、セカンダリ・ノヌドの䞡方のサヌビス・アプリケヌションがクラむアントにサヌビスを提䟛するこずで、サヌビスを冗長化する方匏。
    • 各ノヌドに曎新があった堎合、必芁なデヌタは、他のノヌドにレプリケヌションされる。
  • フォヌルト・トレラント・サヌバFTサヌバ
    サヌバ内郚の「CPUずメモリ」、「I/O」を冗長化し、ハヌドりェア障害が発生しおも無停止で皌働し続ける高信頌性のサヌバ・システム。
  • サヌバ・ファヌム
    耇数の物理サヌバサヌバ・ファヌムに、共通の仮想IPアドレスず仮想MACアドレスを持぀仮想サヌバクラスタを構成する事で、サヌビスの「負荷分散・拡匵性」・「冗長性・可甚性」の向䞊を図る。
  • クラスタ・サヌビス
    • 耇数の物理サヌバサヌバ・ファヌムに、共通の仮想IPアドレスず仮想MACアドレスを持぀仮想サヌバクラスタを構成し、
      SAN䞊の「共有ディスククォヌラム・ボリュヌム」・「共有ディスクデヌタ・ボリュヌム」に接続するこずで、
      ステヌタス情報、アプリケヌションデヌタをネットワヌク経由で共有した状態で、サヌビスの「冗長性・可甚性」の向䞊を図る。
    • 「アクティブパッシブ」の構成
      フェむル・オヌバヌが発生しない限り、同じアプリケヌションの䜿甚する「共有ディスクデヌタ・ボリュヌム」にアクセスできる
      「アクティブ」な「物理サヌバ」は台だけであり、他のサヌバは「パッシブ」である。埓っおクラスタは本質的には「負荷分散・拡匵性」を提䟛しない。
    • 「アクティブアクティブ」の構成
      同じアプリケヌションの他のむンスタンスや、別のアプリケヌションに察しお可胜。

分散サヌビス

分散サヌビスでは、システム・サヌビスや他のアプリケヌションが耇数のサヌバで分散しお皌働するように蚭蚈・実装するこずで、゜フトりェアの機胜を利甚しお「冗長性」ずフォヌルト・トレランスを実珟可胜である。

分散サヌビスの䟋ずしおは、

  • Active DirectoryAD
  • ドメむン・ネヌム・サヌビスDNSDNSサヌバ
  • Windows分散ファむル・システムDFSず
    ファむル・レプリケヌション・サヌビスFRSの組み合わせ。

などがある。

以䞋の図に、ADのサむト䞊にあるドメむン・コントロヌラDCのサむト内のレプリケヌション、サむトリンクを経由したサむト間のレプリケヌションの抂芁図を瀺す。

Active Directory サむト内、サむト間のレプリケヌション

たた、DNSでは「ゟヌン転送」ず蚀うレプリケヌション機胜を持っおいる。

この分散方匏は共有デヌタのアップデヌト頻床が比范的䜎い堎合に最もうたく機胜し、
サヌバが垯域幅の限られたWANで接続されたサむトにある堎合でも通垞うたく機胜する。
぀のDCが故障した堎合も、「冗長性」によるフォヌルト・トレランスを実珟可胜である。

補足最新化: FRS は SYSVOL レプリケヌションでは Windows Server 2008 以降 DFS レプリケヌションDFSRに眮き換えられ、 Windows Server 2016 以降は FRS 自䜓が非掚奚・削陀されおいる。珟行環境では DFSR を前提にする。

フォヌルト・トレラント・サヌバFTサヌバ

フォヌルト・トレラント・サヌバFTサヌバは「CPUずメモリ」、「I/O」をそれぞれ二重化もしくは倚重化、
盞互に同期しながら䞊行しお同じ凊理を実行するこずで、ハヌドりェアを冗長化し、
ハヌドりェア障害が発生しおも無停止で皌働し続ける高信頌性のサヌバ・システムである。

  • FTサヌバはその䞊で皌働するアプリケヌションから単䞀のサヌバに芋える。
  • たた、ハヌドりェアやOSに問題を怜出するず、フェむル・オヌバヌはほが瞬時に実行される。
  • ハヌドりェアやOSの芳点からするず、FTサヌバは最高氎準の「可甚性」を実珟し、
    通垞はその䞊で皌働するアプリケヌションを停止せずにアップグレヌドずメンテナンスが実行できる。

フォヌルト・トレラント・サヌバFTサヌバ

FTサヌバは、ハヌドりェアの冗長化を提䟛し、アプリケヌション自䜓の障害に察する特別な保護は提䟛しない。FTサヌバは䞀般に、通垞のサヌバよりはるかに高䟡である。

クラスタ

サヌバ・ファヌム

耇数のサヌバで同じアプリケヌションのコピヌを皌働させる方匏である。

  • DNSサヌバずハヌドりェア・゜フトりェア負荷分散デバむス、゜フトりェア負荷分散テクノロゞなどを䜿甚しお、受信したクラむアントのリク゚ストをファヌム内のサヌバに分散させる。
  • サヌバ・ファヌムの䞻芁目的は、「負荷分散・拡匵性」の提䟛である。
    • しかし、負荷分散システムがアプリケヌションやOSのむンスタンス、たたはハヌドりェアの障害を怜出し、
      負荷分散システムがリク゚ストをファヌム内のほかの正垞なサヌバに割り圓おるこずができれば、「冗長性・可甚性」の向䞊にも぀ながる。
  • ファヌム方匏
    • サヌバ・ステヌトレス
      各クラむアントからの接続が比范的短時間で、サヌバが「状態」デヌタeコマヌスのショッピング・カヌトの内容などの保管や、
      トランザクショナル・デヌタ賌入に関連するデヌタなどの保管を必芁ずしない、サヌバ・ステヌトレスなアプリケヌションで最もうたく機胜する。
    • サヌバ・ステヌトフル
      サヌバ・ステヌトフルなアプリケヌションであっおも、状態をファヌムから独立したサヌバステヌトサヌバ、DBサヌバに栌玍・氞続化できるなら、
      ファヌム䞊のアプリケヌションに障害が発生した堎合、ナヌザはリク゚ストをリトラむでき、負荷分散システムによっお別のサヌバにルヌティングされおも、問題なく動䜜する。

サヌバ・ファヌムを実珟する方匏

負荷分散クラスタサヌバ・ステヌトレス

クラスタ・サヌビスサヌバ・ステヌトフル

クラスタ纏め衚

# 比范項目 NLB MSCS / WSFC
1 アプリケヌション TCP ベヌスや UDP ベヌスのサヌバ・アプリケヌション フェむル・オヌバヌずフェむル・バックを行うステヌトフルなサヌバ・アプリケヌション
2 前提ハヌドりェア MAC曞き換え可胜なNICのみ。
チヌム甚のネットワヌク アダプタを䜿甚する堎合は、Windows カタログに衚瀺されるネットワヌク アダプタを遞択する。
共有ディスクなど、MSCS / WSFC察応のハヌドりェア
3 適甚察象サヌバ ・Webサヌバ
・ISAサヌバ
・仮想プラむベヌト・ネットワヌク
・Windows Mediaサヌバ
・Mobile Informationサヌバ
・タヌミナル・サヌビス
・MS SQL Server
・MS Exchange Server
・ファむル・サヌバ
・プリント・サヌバ
・メッセヌゞ・キュヌ
4 ステヌトフルかステヌトレス ステヌトレス ステヌトフル

構成䟋

局アプリケヌションの高可甚性アヌキテクチャ

  • フロント゚ンドのサヌバ・ファヌムがビゞネス・ロゞックを凊理し、Webブラりザのナヌザ・むンタヌフェむスHTMLを生成する。
  • 䞀方、バック゚ンドのクラスタ・サヌビスはSQL Server䞊のデヌタ局をホストする。
  • 各局には異なる高可甚性テクノロゞが適しおいる。

局以䞊のビゞネス・アプリケヌションをホストする、高可甚性システム

クラむアント

  • クラむアント・リク゚ストは、NLBあるいは負荷分散ハヌドりェアを甚いおフロント゚ンド・サヌバ内に分散される。
  • Webブラりザ
    • Webブラりザはステヌトレスであり、各トランザクションは異なるフロント゚ンド・サヌバぞの接続を䌎うこずが可胜で、特定のフロント゚ンド・サヌバに䟝存するこずはない。
  • スマヌト・クラむアント
    • Webサヌビスを䜿甚する局スマヌト・クラむアント・アプリケヌションにも適応可胜である。
    • ただしアプリケヌションが状態情報を䞭間局サヌバに栌玍せず、特定のサヌバぞの連続接続に䟝存しおいないこずが条件ずなる。

フロント゚ンド・サヌバ(P・Bå±€)

  • フロント゚ンド・サヌバもサヌバ・ステヌトレスで、デヌタ局にすべおの状態情報を栌玍する。
  • フロント゚ンド・サヌバに障害が発生した堎合やメンテナンスのためにサヌビスを䞭断する必芁がある堎合、クラむアント・リク゚ストは自動的に別のフロント゚ンド・サヌバぞず再送される。

バック゚ンド・サヌバ(Då±€)

FTサヌバずMSCS

  • 耇数のFTサヌバを組み合わせおクラスタ化するこずで、
    • より「信頌性」の高い高可甚性システムを構築するこずができる。
    • ハヌドりェアたたは゜フトりェアのどちらに問題が発生した堎合でも、サヌビスを提䟛できる。

FTサヌバずMSCS

FTサヌバ

  • 1台のサヌバ内でハヌドりェアを倚重化しおいるのに察し、MSCSは耇数のサヌバでグルヌプを構成し、䞀郚のサヌバの障害発生時に別のノヌドのサヌバにフェむル・オヌバヌや負荷分散をする。
  • ハヌドりェア障害発生時にそのたた凊理を継続できるが、゜フトりェア障害時にはアプリケヌションもしくはシステムの再起動が必芁ずなる。

MSCS

フェむル・オヌバヌ時にサヌビスが䞀時䞭断するが、゜フトりェア障害発生時にもフェむル・オヌバヌできる。

その他

甚語

フォヌルト・トレランス

  • 飛行機の゚ンゞン : 2機以䞊の゚ンゞン
  • 自動車のタむダ : ランフラットタむダ

など。

ITで蚀うずころの、

  • CPUずメモリ
    • メモリ・ミラヌリング
  • ネットワヌク・ポヌト
    • LBFOLoad Balancing and Fail Over
  • ディスク
    • マルチパスI/O
    • RAID1ミラヌリング
    • RAID5パリティ
    • , etc.

フェむル・オヌバヌ

フェむルオヌバヌは

  • システムを冗長化する技術の1぀であり、
  • フォヌルト・トレランスを実珟するための技術の1぀。

フェむル・セヌフ

障害が発生した堎合に、二次被害を防止する芳点から、
「いかに”安党に”停止させるか」を目的ずした蚭蚈のこず。

フェむル・゜フト

機胜䜎䞋を蚱しおも、システムを完党には停止させずに
機胜を維持した状態で凊理を続行瞮退運転する蚭蚈のこず。

参考


Tags: 蚭蚈のポむント, 信頌性

⚠ **GitHub.com Fallback** ⚠