Hatena::Grouphimotech

HimoTech::rAdio このページをアンテナに追加 RSSフィード

2011,7,24

LVS-TUNについて調査中

| LVS-TUNについて調査中 - HimoTech::rAdio を含むブックマーク はてなブックマーク - LVS-TUNについて調査中 - HimoTech::rAdio LVS-TUNについて調査中 - HimoTech::rAdio のブックマークコメント

さくらVPSを複数台利用してLVSによるhttp振り分けを実現したかったのだけど、LVSとリアルサーバが異なるネットワークセグメントになってるみたいで、LVS-DSRだと振り分けできないっぽい。

keepalivedを使って起動させてるんだけど、ipvsadmの起動と、ヘルスチェックまでは上手くいってるものの、別サーバからcurlなどでアクセス確認すると、「ipvsadm -L」ではInActConnのカウントが増えるが、リアルサーバへは到達していないもよう。

DSRではなくTUNならいけるかも、ということで調査中。

NATやDSRは、そのものズバリのHowTo記事が多いんだけれども、TUNはその片鱗しか見えてこない。

やりたいこと

環境

  • CentOS 5.6 x86_64
  • keepalivedもipvsadmもIPVS v1.2.1環境下での再ビルドを実施
    • keepalivedは1.2.1のソースからrpmbuildして入れた。
      • kernelバージョン(2.6.18-238.12.1)だと、1.2.1ならコンパイルできるが、1.2.2だと古いためできない、とのことだった。
    • ipvsadmは1.24のCentOSSRPMをrpmbuildして入れた。

調査資料スタック

Rackspace Cloud Computing & Hosting
http://www.rackspace.com/cloud/blog/2010/09/22/installing-and-configuring-lvs-tun/
LVS/TUN without iptables : blog.nomadscafe.jp
http://blog.nomadscafe.jp/archives/000727.html
ARP problem in LVS/TUN and LVS/DR
http://jlvs.infoscience.co.jp/arp.html
Virtual server via IP tunneling
http://jlvs.infoscience.co.jp/VS-IPTunneling.html
Yet Another Diary: 少しだけ気合いを入れてkeepalived, lighttpdを試してみた
http://yasu-2.blogspot.com/2010/02/keepalived-lighttpd.html
LVSトラブル対応 | へっぽこSE奮闘記
http://fine.ap.teacup.com/hepo/4.html
[lvs-users] keepalived+lvs
http://archive.linuxvirtualserver.org/html/lvs-users/2011-03/msg00015.html
LVS over Internet / client director and realserver at different networks
http://archive.linuxvirtualserver.org/html/lvs-users/2005-09/msg00164.html
LVS - defiantの日記
http://d.hatena.ne.jp/defiant/20070406/1175847800
LVS - Nginx - NodeJS - MongoDB - Cluster Setup on RackSpace
http://boj.github.com/blog/2011/01/14/lvs-nginx-nodejs-mongodb-cluster-setup-on-rackspace/
kazeburo : day : 2006/10/30
http://webcache.googleusercontent.com/search?q=cache:femo.jp/kazeburo/2006/10/30
Linux Virtual Server Tutorial- LVSトンネル
http://ultramonkey.sourceforge.jp/papers/lvs_tutorial/html/#SECTION00026000000000000000
ipvsadm + keepalived で 別セグメントへロードバランス - Linux Square - @IT
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45841&forum=10

さくらインターネットのサポートから回答があった。

キュリティ上、仮想IPなどの「指定されているネットワーク情報以外のIP」を付与した場合、通信ができなくなる、とのことだった。

しかしながら、以下のように、LVSではないとはいえ、仮想IPさくらVPSに適用させて運用している例はあるらしいので、本当にそうなのか、LVS-TUNを実際に構築してこの目で確かめる必要がある。

さくらVPSiPhone用の野良WiFi通信傍受対策のL2TP/IPsec(VPN)を設定したメモ - nori_no のメモ
http://d.hatena.ne.jp/nori_no/20100919/1284889388
さくらVPSVyattaを入れて、Amazon VPCVPN接続 - kikumotoのメモ帳
http://d.hatena.ne.jp/kikumoto/20110430/1304173204
140台以上の「さくらVPS」を自在に操る! 仮想化の鉄人が語るVPS使いこなし術 | Think IT
http://thinkit.co.jp/story/2011/07/15/2185

仮想IPを利用せず、LVS-TUNが構築できるのであれば、下図のような感じで実現可能な気がするんだけどなぁ…。

           ┌──────┐
           │ LVS-Serv.  │
           └─[ eth0 ]─┘
                  │
        ┌────┴────┐
        │                  │
┌─[ tunl0 ] ─┐  ┌─[ tunl0 ] ─┐
│  Real-Serv.1 │  │  Real-Serv.2 │
└──[ eth0 ]─┘  └──[ eth0 ]─┘

qiitaに質問を投稿した。

さくらVPS」を利用した異なるネットワークセグメントにあるサーバ間でのLVS構成に関する情報をお持ちの方はいらっしゃいますでしょうか。LVS-TUN構成なら構築可能だと考えて、様々な設定を試みているのですが、リアルサーバまでパケットが到達せず困っております。 - Qiita
http://qiita.com/questions/82
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110724