web-dev-qa-db-ja.com

自家製SAN-トポロジのアイデア?

次のテクノロジーを使用して、Linux上でSANソリューションを手動でロールすることに興味があります。

  • iscsi
  • mdadm raid
  • lvm
  • マルチパス
  • xfs/gfs/???
  • チーム化されたNIC

ハードウェアに関しては、ターゲットとイニシエーターの両方に複数のgigENICを備えた2x gigE(またはそれ以上)のスイッチを考えています。

理想的には、完全なn + 1(min)冗長性を前提として、これを構成する方法について、どのような推奨事項がありますか?

また、iSCSI「ファブリック」の中央にアグリゲーターホストのセットが必要ですか?このようなもの:

ターゲット(mdadmを使用)<-gigE->アグリゲーターホスト(lvm)<-gigE->イニシエーター

または、次のようなことをする方が良いですか:

ターゲット(ミラーリングなし)<-gigE->アグリゲーターホスト(mdadm)<-gigE->イニシエーター(lvm)

これを設計する方法はたくさんありますが、他の人が同じようなことをしたときにどのような経験をしたのか興味がありますか?

SANは、VMwareイメージおよび汎用ファイルサービス(および実行可能な場合はいくつかのデータベース)に使用されます。

5
Brad

これは非常に主観的な質問であり、達成しようとしていることに大きく依存します。

さらに、あなたはいくつかのかなり低いレベルの質問をしているので、あなたはこれまでこの分野で働いたことがないと私は信じています。

これらの2つの観察結果を踏まえて、私はあなたが小さく始めて、上に向かって進むことを提案します。

[1]最初に、異なるホスト上のiSCSIイニシエーター(クライアント)とiSCSIターゲット(サーバー)から始めます。それらはストレートケーブルでもスイッチでもかまいませんが、この時点では問題ではありません。しばらくの間、それで大騒ぎしてください。さらにターゲットを追加し、クリネット上のiSCSIターゲットからmdadm RAIDを作成します(今のところ、すべてのiSCSIターゲットが1つのスピンドルから外れても心配しないでください)。次に、クライアントでLVMを試してみます。複数のPVを作成し、それらをVGに追加してから、LVを作成します。 LVを拡張します。 LVのスナップショットミラーを作成します。

本当にLVMを掘り下げてください、それはあなたがする他のすべてへの鍵となるでしょう。

次に、2番目のiSCSIターゲットサーバーを追加します。また、この時点で、LACPといくつかの管理をサポートする適切なスイッチを入手することをお勧めします。 Procurve 1800シリーズスイッチは優れたボトムエンドであり、CiscoSG-300も同様です。スイッチの管理と機能は後でより重要になりますが、今すぐそれらに投資することをお勧めします。この時点で、2つのiSCSIターゲットサーバーを使用して、1つのサーバーを使用していたときと同じように泡立ててすすぎを繰り返します。本当にもっと楽しみたい場合は、2つ目のイニシエーターを追加して、同じiSCSIターゲットをマウントしてもらいます。 2つのシステムに同じEXT3ボリュームに書き込もうとするとどうなりますか?ボリュームをGFSのようなものに変換します(もっと複雑ですが、それが現時点での目的です)。 2つのホストが同じボリュームに書き込むとどうなりますか?

それでは、すべてのクライアントに2つのNICを追加しましょう。次に、ネットワークボンディングについて学ぶ必要があります[2]。異なるモードは何ですか、それらはどのように異なりますか。接続の両端でいくつかの帯域幅測定ツールを実行し、さまざまなボンディングモードでリンクをフラッディングします。モードを混合して両端が一致しない場合はどうなりますか? LACPと互換性のあるモードを使用し、スイッチがLACP [3]を実行するように構成されている場合はどうなりますか?泡すすぎは、上記の保管に関して行ったことを繰り返します。

結合されたインターフェースからインターフェースを削除します。ターゲットサーバー上の各インターフェイスに一意のIPを割り当てます。ターゲットサーバーが各インターフェイスを介してiSCSIターゲットを共有することを確認してください。次に、2つの異なるIPアドレスを使用してiSCSIターゲットをマウントします。それぞれに手紙を書くとどうなりますか?次に、マルチパス[4]を構成し、しばらくそれを試してみます。ターゲットサーバーのNICの1つをダウンさせます(デバイスをダウンさせた場合はケーブルを取り外します)。ログには何が表示されますか?パフォーマンスはどのように向上/低下しますか?

次に、2番目のネットワークスイッチを追加します。ネットワークインターフェイスを2倍にするか、スイッチ間で分割することができます。どのようなボンディングモードを使用する必要がありますか? 2つのスイッチ間にリンクが必要ですか? STPを有効にする必要がありますか?

今、あなたはあなたの学習の終わりに近づいていて、あなたはマスター見習いのレベルに近づいています。あなたはそれをすべて知っているわけではありませんが、あなたはほとんどの人よりもはるかに優れた理解の基盤を持っています。ここから、ストレージインフラストラクチャを設計する方法についてより良いアイデアが得られます。ファイバチャネルまたはATAoEを使用するとテクノロジーは変わりますが、主要な概念は同じです。

便利なWebリソース:
[1] http://www.cyberciti.biz/tips/rhel-centos-Fedora-linux-iscsi-howto.html
[2] http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
[3] http://en.wikipedia.org/wiki/Link_aggregation
[4] http://sources.redhat.com/lvm2/wiki/MultipathUsageGuide

これを開いて、誰でも編集できるようにします。

3
Red Tux