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
- 次の設定を /etc/sysctl.conf に追加してください。
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
再同期に使用する最大帯域幅を指定します。可能な最大速度で再同期が実行されるように、この値を十分高い値に設定する必要があります。
このトピックへフィードバック