DataKeeper のパフォーマンスを最大に発揮させるための Fusion-io のベストプラクティス

SPS for Linux はブロックレベルのデータレプリケーション機能を備えており、共有ストレージを使用しないHAクラスタを非常に簡単に設定できます。Fusion-io を使用すると、SPS for Linux ではフェイルオーバ保護用として「shared nothing」クラスタを構成できます。

クラスタ設定の一部としてデータレプリケーションを活用する場合、ディスクへの書き込みと同等な速度でデータがネットワーク上で複製可能なだけの十分な帯域幅があることが重要です。以下のベストプラクティスを使用すると、高速ストレージを使用する場合に「shared nothing」 SPS クラスタ設定を最大に活用できます。

ネットワーク

  • 10 Gbps の NIC を使用する。 Fusion-io のフラッシュベースのストレージデバイス (または OCZ、LSI、などの同様な製品) は、750 MB/ 秒を超えるデータ速度でデータを書き込むことができます。1 Gbps の NIC は理論的な最大値である約 125 MB/ 秒のみを送出できるので、ioDrive の性能を活用すると、1 Gbps のネットワーク接続での複製よりもはるかに高速で簡単にデータを書き込むことができます。リアルタイムのデータレプリケーションを実行するのに十分な帯域幅をサーバー間に確保するには、レプリケーショントラフィックの転送に必ず 10 Gbps の NIC を使用してください。

  • ジャンボフレームを有効にする。 使用しているネットワークカードとスイッチでサポートされている場合、ジャンボフレームを有効にするとネットワークのスループットが増加するだけでなく、CPU サイクルが減少します。ジャンボフレームを有効にするには、以下の設定を実行してください (RedHat/CentOS/OEL Linux ディストリビューションの例)。

    • 次のコマンドを実行してください。
      ip link set <interface_name> mtu 9000

    • 再起動後も変更内容を保持するには、以下のファイルに「MTU=9000」を追加してください。
      /etc/sysconfig/network-scripts/ifcfg-<interface_name>

    • エンドツーエンドのフレーム動作を検証するには、次のコマンドを実行してください。
      ping -s 8900 -M do <IP-of-other-server>

  • NIC の転送キュー長を変更する。

    • 次のコマンドを実行してください。
      ip link set <interface_name> txqueuelen 10000

    • 再起動後も変更内容を保持するには、 /etc/rc.local に追加してください。

  • NIC の netdev_max_backlog を変更する。

    • 次の設定を /etc/sysctl.conf に追加してください。
      net.core.netdev_max_backlog = 100000

TCP/IP の調整

レプリケーションのパフォーマンスを向上することが確認された TCP/IP の調整 を以下に示します。

  • /etc/sysctl.conf を編集して、以下のパラメータを追加してください ( 注記: これらは例であり、使用している環境で異なる場合がある)。
    net.core.rmem_default = 16777216
    net.core.wmem_default = 16777216
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_sack = 0
    net.core.optmem_max = 16777216
    net.ipv4.tcp_congestion_control=htcp
    

設定上の推奨項目

  • Fusion-io ドライブ上に、ビットマップファイルを入れる小型の (約 100 MB) のディスクパーティションを割り当ててください。このパーティションにファイルシステムを作成し、マウントしてください (例: /bitmap )。
    # mount | grep /bitmap
    /dev/fioa1 on /bitmap type ext3 (rw)
    

  • ミラーを作成する前に、 /etc/default/LifeKeeper 内の以下のパラメータを調整してください。
    LKDR_CHUNK_SIZE=4096
    

    デフォルト値は 256 です。

  • 通常と同様に、ミラーを作成してクラスタを設定してください。

  • ビットマップファイルは、上で作成したパーティションに作成するように設定してください。

  • 再同期を高速化するための設定をおこないます。DataKeeper リソースの右メニューから、Set Resync Speed Limits を選択して、ウイザードに以下の値を設定してください。

    • Minimum Resync Speed Limit: 200000

  • 同時に他の I/O が実行されているときに許可する再同期の速度を指定します。再同期の実行時に通常の I/O 動作が妨げられないようにするには、経験則として、この値をドライブの最大書き込みスループットの半分以下に設定する必要があります。

    • Maximum Resync Speed Limit: 1500000

  • 再同期に使用する最大帯域幅を指定します。可能な最大速度で再同期が実行されるように、この値を十分高い値に設定する必要があります。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信