タグ

lvsに関するmasudaKのブックマーク (18)

  • LVSの高負荷対策 その2 ~障害の再現とその原因~ : DSAS開発者の部屋

    こんにちは。インフラ担当の岡村です。 「LVSの高負荷対策 その1 ~障害発生~」の記事で、大量のSYNパケットを受信した際にロードバランサの再起動が発生したことと、その緊急の対策についてご紹介しました。 今回は、再現確認を行い判明した再起動の原因と、LVSに備わっている高負荷対策の機能についてご紹介します。 検証 前回ご紹介した通り、障害発生時のログからメモリ周りが怪しそうでした。 そこで、ロードバランサにSYNパケットを送り、メモリの使用量の推移を観察しながら、再起動が発生するかどうかを確認しました。 検証環境の構成は次のようになります。 検証環境の構成 パケット送信用サーバを複数台、ロードバランサを1台、Webサーバを1台使用し検証を行いました。 ロードバランサの検証を行う上で、番環境と同様にロードバランスの処理をさせたかったため、LVSに振り分け先のWebサーバのIPアドレスを複

    LVSの高負荷対策 その2 ~障害の再現とその原因~ : DSAS開発者の部屋
    masudaK
    masudaK 2017/09/26
    運用めんどいし、自動化しにくいからLVSは極力運用したくない派
  • DELLのサーバでCentOS6でLVS+keepalivedなロードバランサを構築したらハマったりした話

    みなさんどうもこんにちは。CTOの馬場です。 最近DELLのサーバ(R410)で、CentOS6.3を使ってLVS+keepalivedなロードバランサを構築したら 見事にハマったりしたので記念ポスト。 ちょっと長いので、一番のドハマリだけ見たい方は最後の「通信速度が著しく遅い件」だけでも見ていただけるとよろしいかと思います。かしこ。 eth0、eth1がない件 いやー。びびった。まじでびびった。 インターフェース名がem1、em2になってます。きもい。 このあたりを参考に対応します。 Getting back to using eth0 in Fedora 15 /boot/grub/grub.conf に biosdevname=0 追記 /etc/udev/rules.d/70-persistent-net.rules の NAME を変更 /etc/sysconfig/networ

  • Linuxでiptablesを使ってDSRする - (ひ)メモ

    1. リアルサーバ側にもグローバルIPを振る必要がある(IPが少ないところは結構きついかも). リアルサーバでは、VIPをループバックインターフェースにIP aliasすればいいので、リアルサーバの数だけグローバルIPアドレスを消費するってことはないような。(誤読してるかも ただ、この方式だと、VIPの数だけいちいちリアルサーバにIP aliasして回らないといけないので、わりと大規模(VIPがたくさんある or リアルサーバがたくさんある)だとめんどくさいことこの上ない。 で、リアルサーバでこんなiptablesのルールを設定すれば、IP aliasしないでDSRできそうというのが主題。 VIP=10.1.1.0/24 iptables -t nat -A PREROUTING -d $VIP -j REDIRECT多分、これでいけると思うんですけどちと自信なし。検証 and 詳しい説明

    Linuxでiptablesを使ってDSRする - (ひ)メモ
  • Linux Virtual Server Statistics Grapher プロジェクト日本語トップページ - OSDN

    Linux Virtual Serverの統計情報を rrdtool を用いてグラフ化するプログラムです。 情報収集/グラフ作成スクリプト、及びグラフ表示用CGIからなります。 開発言語はRubyです。 現在は ip_vs kernel module のグラフ化にのみ対応しています。 スクリーンショットはWikiから http://sourceforge.jp/projects/lvs-stats/wiki/FrontPage

    Linux Virtual Server Statistics Grapher プロジェクト日本語トップページ - OSDN
    masudaK
    masudaK 2012/01/12
  • 33. LVS: Monitoring

    Michael McConnell: Top doesn't display CPU usage of ipchains or ipvsadm. vmstat doesn't display CPU usage of ipchains or ipvsadm. Joe ipchains and ipvsadm are user tools that configure the kernel. After you've run them, they go away and the kernel does it's new thing (which you'll see in "system"). Unfortunately for some reason that no-one has explained to me "top/system" doesn't see everything. I

    masudaK
    masudaK 2012/01/12
  • どじっこねっと::ipvsadmのexactオプション

    masudaK
    masudaK 2012/01/12
  • 『【研究課題レポート抜粋】LVSの統計情報のグラフ化プログラムの設計・実装』

    これは第2回研究課題レポートの抜粋です。同レポートは、社員のMaedaさんによって作成され、優秀賞を受賞しました。 研究の背景 サイバーエージェントのインフラを構成するネットワーク機器の内、ロードバランサは以前から商用のロードバランサを使用していた。 Linuxのロードバランサである、ip_vs カーネルモジュール(以下、LVSと記す)をロードバランサとして使用する事で、下記の点でコストの削減が可能である。 ハードウェアが一般的なIAサーバで済む年間の保守費が不要になる 但し、日々の負荷状況の把握、増設計画を立てる上で、LVSの具体的な統計情報を取得することが求められる。 統計情報を有効に活用する為には、量的な変化を直観的に把握できるグラフでの表示が必要と考えた。 研究の開始時点(2008年10月)において、LVSのグラフ化を行う方法、プログラムは既にいくつか存在していたため、何点かのプ

    『【研究課題レポート抜粋】LVSの統計情報のグラフ化プログラムの設計・実装』
    masudaK
    masudaK 2012/01/12
  • lvsでsession persistence(セッションパーシステンス) - うまいぼうぶろぐ

    調べてみると、現状lvsではsource IP addressでのpersistence処理しかないみたいですね。L4だから当然なのか。 ipvsadmでの設定 ipvsadmで設定するときに-pオプションをつけるだけ。 お好みでtimeoutの秒数も設定できる。 ipvsadm -A -t www.example.com:80 -p keepalived.confでの設定 virtual_server groupの設定に persistence_timeout 300を設定する。 persistenceするときの注意 persistenceを有効にする場合はkeepalived.confにinhibit_on_failureを設定してはいけない模様。 inhibit_on_failure realserverが落ちた際に、設定から削除せずweightを0にする inhibit_on_fa

    lvsでsession persistence(セッションパーシステンス) - うまいぼうぶろぐ
    masudaK
    masudaK 2011/10/20
  • Keepalived for Linux

    Home Download Documentation Release Notes List & Archives Sponsors Keepalived User Guide (deprecated) - June 13, 2002 Keepalived internals for LVS-HA using VRRPv2 (currently out-of-date) - November 21, 2001 LVS-NAT + Keepalived HOWTO - September 18, 2002 Keepalived-lvs-nat-director-proxyarp-firewall-howto - May 12, 2003 Keepalived Freshmeat Homepage draft-ietf-vrrp-ipsecah-spec-00 - February 25, 2

    masudaK
    masudaK 2011/10/20
  • ipvsadm(8) 日本語訳

    LVS の管理インターフェースである ipvsadm コマンドのマニュアルを翻訳しました。 オリジナルはsvn最新版です。配布条件はオリジナルの ipvsadm に従います。 誤訳等あればコメントをいただけると嬉しいです。 ========================================================================================== IPVSADM(8) Linux 管理者ガイド IPVSADM(8) NAME ipvsadm - Linux Virtual Server 管理 SYNOPSIS ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|u|f service-address i

    masudaK
    masudaK 2011/10/20
    ふむ。
  • ■ - komamitsu.log

    Keepalivedを使っていると、たまに Jan 6 15:11:03 aplvs2 Keepalived_vrrp: bogus VRRP packet received on eth1 !!! Jan 6 15:11:03 aplvs2 Keepalived_vrrp: VRRP_Instance(VI_1) ignoring received advertisment... Jan 6 15:11:04 aplvs2 Keepalived_vrrp: receive an invalid ip number count associated with VRID! Jan 6 15:11:04 aplvs2 Keepalived_vrrp: bogus VRRP packet received on eth1 !!! Jan 6 15:11:04 aplvs2 Keepalived_

    ■ - komamitsu.log
    masudaK
    masudaK 2011/06/15
  • 同一セグメントでのLVS - OKWAVE

    LinuxでLVSを利用してロードバランサを構築しています。 構成1: LB[keepalived(192.168.1.1)]仮想(192.168.0.3) A[Apache(192.168.0.1)] B[Apache(192.168.0.2)] 構成2: A[Apache+keepalived(192.168.0.1)]仮想(192.168.0.3) B[Apache(192.168.0.2)] DSASのページなどを参考にしているのですが、構成1の3台構成NATであれば問題なく動きます。しかし構成2の同一セグメントでサーバそのものに仮想を持たせるとうまくいきません。どうもAが仮想を持った際に192.168.0.2への振り分けが発生しても、自身で処理しようとしているのか失敗してしまいます。設定は以下の通りです。何が足りないのか教えて頂けると助かります。尚、問題切り分けとしてvrrpは片

    同一セグメントでのLVS - OKWAVE
    masudaK
    masudaK 2011/06/14
  • LVSで実現するロードバランサ - KLablabWiki

    環境構築 それでは実際に、Linuxベースのロードバランサを構築していきます。最近では標準でIPVSをサポートしているディストリビューションが多いので、必要なパッケージをインストールして少し設定するだけで動作させることができる便利な世の中になってきています。 今回使用するソフトウエアについて Debian GNU/Linux3.1(sarge) ディストリビューションはDebianを使用します。 IPVS対応カーネル ロードバランサの基機能であるIPVSはカーネルの内部に実装されています。そのためIPVSに対応したカーネルが必要になります。Debian付属のカーネルイメージ(2.6.8-3)でも利用できますし、自前で再構築してもかまいません。カーネルを再構築する際の注意点については後述します。 ipvsadm IPVSを制御するためのツールです。仮想サーバグループの追加やリアル

  • 8. LVS: LVS-Tun

    LVS-Tun is an LVS original. It is based on LVS-DR. The LVS code encapsulates the original packet (CIP->VIP) inside an ipip packet of DIP->RIP, which is then put into the OUTPUT chain, where it is routed to the realserver. (There is no tunl0 device on the director; ip_vs() does its own encapsulation and doesn't use the standard kernel ipip code. This possibly is the reason why PMTU on the director

    masudaK
    masudaK 2011/06/14
  • どじっこねっと::DSR構成のリアルサーバのVIPを設定するインタフェース

    keepalived…じゃなくてもいいけど、DSR構成の時、 VIPをリアルサーバに設定し、VIPのarpリクエストに反応しないよう、 kernelパラメータを変更するわけだけども、 なぜ、ethじゃなくてループバックインタフェースに設定するんだろう?とふと思った。 ホントに軽くぐぐってみたけど、そこに言及してるサイトって見当たらないなー ある意味当然の事なんだろうけど、まぁ試してみたのでメモ。 ★リアルサーバのVIPをlo:0に設定してみた。 VIPへのarpリクエストをクライアントから送ると、 反応するのはLVSサーバのethで、リアルサーバは反応しない。 まぁ当然っちゃ当然。これが正しい反応。 ★リアルサーバのVIPをeth0:0に設定してみた。 VIPへのarpリクエストをクライアントから送ると… VIP:10.1.1.100 クライアント:10.1.1.104 ○リアルサーバ #

  • ロードバランサーを用いてサーバの不可分散をする際に、 リアルサーバにループバックIPを振るかと思いますが、 その際にARPに反応しないよう以下の設定を、 /etc…

    ロードバランサーを用いてサーバの不可分散をする際に、 リアルサーバにループバックIPを振るかと思いますが、 その際にARPに反応しないよう以下の設定を、 /etc/sysctl.confにするといつくかのサイトに書かれていました。 ================================ net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 ================================ こちらの意味は具体的にどういったものでしょうか。 以下のサイトに英文で説明が載っていたのですが、 よく理解できませんでした。 http://www.austintek.

  • LVS/TUN without iptables : blog.nomadscafe.jp

    LVS/TUN without iptables IP tunnelingを利用したLVSで、VIPをリアルサーバで処理するために、iptablesを使ってましたが、iptablesのip_conntrack_max(nf_conntrack_max)とかが気になる(気になる程度、限界はわからない)なので、iptablesを使わない方法を調べてみました iptablesを使ったパターンでは、redirectを使います。 tunl0にethXのIPを割り当てて起動し、VIP宛のパケットを受け取る設定になります IF0=`/sbin/ifconfig eth0 | grep 'inet addr:' | awk {'print $2'} | head -1 | cut -d ':' -f 2` /sbin/ifconfig tunl0 $IF1 netmask 255.255.255.255

    masudaK
    masudaK 2011/06/14
  • DSAS開発者の部屋:知っていても損はしないkeepalivedの話 〜 MISC_CHECKの注意点

    keepalived では様々なヘルスチェック方式がサポートされています。 HTTP_GET SSL_GET SMTP_CHECK TCP_CHECK これらの使い方はなんとなく想像がつくと思いますが、これら以外のサービスのヘルスチェックをするにはどうすればいいのでしょうか。 例えば DNS とか FTP とかあれとかこれとか・・・ FTP は最悪 TCP_CHECK でお茶を濁すって手もありますが、FTP サーバがポートをオープンしたまま応答不能になることも考えられるので、あまりお勧めできません。また、DNS をチェックする機能は keepalived にはありません。 そんな時に使うのが MISC_CHECK です。今回は MISC_CHECK を利用する上での注意点や設定のサンプルを紹介したいと思います。 指定したプログラムを実行して、その終了コードによってリアルサーバを UP した

    DSAS開発者の部屋:知っていても損はしないkeepalivedの話 〜 MISC_CHECKの注意点
  • 1