lvs

2007年10月09日

特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します

はてなブックマークに登録

Linuxロードバランサ構築・運用ノウハウ』を公開します!

これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。

一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、

  1. サーバ負荷分散一般についてのはなし
  2. Linuxでロードバランサを作ってみる
  3. ロードバランサを冗長化

といった構成になっています。

みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください!



klab_gijutsu2 at 00:07|この記事のURLComments(10)TrackBack(2)
2007年06月01日

Keepalivedのヘルスチェックを強化するパッチ

はてなブックマークに登録

keepalived は MISC_CHECK を利用すると、標準の機能でサポートされていないヘルスチェックをすることができますが、MISC_CHECKの注意点でご紹介したように、安全に運用するためには結構気を使わなければいけません。また、比較的短い周期で繰り返さなければならないヘルスチェックでは「チェックの度に別プロセスを起動する」というアプローチは、できるだけ避けたいと考えるかもしれません。

というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。
  • keepalived-extcheck.patch (46080bytes)
  • ただしこのパッチ、まだDSASの本番環境には適用していません。
    つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告などいただけると、とてもとても嬉しいです。

    追加した機能
  • FTP_CHECK: FTPサーバがNOOPコマンドに応答できるかをチェックする
  • DNS_CHECK: DNSサーバがレスポンスを返すことができるかをチェックする
  • SSL_HELLO: サーバがSSLハンドシェイクに応答できるかをチェックする


  • 続きを読む
    klab_gijutsu2 at 16:49|この記事のURLComments(0)TrackBack(0)
    2007年05月18日

    知っていても損はしないkeepalivedの話 〜 notification_emailの罠

    はてなブックマークに登録

    このブログではすでにお馴染みとなっている keepalived ですが、設定ファイルの書き方には少し癖があります。 今回は、keepalived を設定する上での注意点を紹介したいと思います。 なお、この内容は現在の最新バージョン(1.1.13)のものですのでご注意下さい。

    続きを読む
    klab_gijutsu2 at 21:01|この記事のURLComments(0)TrackBack(0)
    2007年02月23日

    パソコン1台ではじめるロードバランサ体験

    はてなブックマークに登録

    昨日書いたの通り,記事を寄稿したWEB+DB PRESS Vol.37が,今日発売になりました.それを記念して(?),記事の内容が簡単に実験できるパッケージを公開します.
    これは,VMWareを使って,だれでも直ぐにロードバランサの実験を始められるパッケージになっています.何台もマシンを集めたり,Linux をインストールする必要は一切ありません.無償配布されているVMWare Playerがあれば,いつでもどこでも実験ができます.

    もちろん,このブログで去年の夏に公開した4つのエントリ

    の実験もできます.

    ダウンロードはこちらからどうぞ(75MB程です).

    使い方は,ダウンロードしたパッケージに付属の ReadMe.txt をご覧下さい.また,同じ内容を以下に引用しておきます.続きを読む

    klab_gijutsu2 at 13:25|この記事のURLComments(0)TrackBack(3)
    2007年02月22日

    LVSロードバランサの作り方について雑誌記事を書きました! (WEB+DB PRESS Vol.37)

    はてなブックマークに登録

    WEB+DB PRESS Vol.37

    手前味噌ですが―
    WEB+DB PRESS Vol.37に寄稿しました!


    こんな内容です。

    特集2 Linuxロードバランサ構築・運用ノウハウ

    • 第1章 サーバ負荷分散概論
    • 第2章 LVSで実現するロードバランサ
    • 第3章 ロードバランサの冗長化
    • 第4章 負荷分散システム運用のコツ

    このブログの過去のエントリ、

    をより詳しく丁寧に説明し、加えて運用のコツについても書いた感じに仕上がっております。
    LVSやkeepalivedについて書かれた雑誌記事はあまり見かけないので、参考になるのではないかと思います!

    あとですね、この連載の内容に関連した「とあるもの」を後日プレゼントする予定です。準備ができたらこのブログで告知しますのでお楽しみに〜


    klab_gijutsu2 at 14:04|この記事のURLComments(0)TrackBack(0)
    2006年10月05日

    keepalivedの運用ノウハウお見せします 〜 割当管理を簡単にしたい

    はてなブックマークに登録

    keepalivedの設定ファイルは、以下のようなエントリをひたすら並べなくてはいけないので、規模が大きくなるほど可読性が落ちます。


    virtual_server_group SITE1 {
    a.b.c.d 80
    }

    virtual_server group SITE1 {
    delay_loop 3
    lb_algo wlc
    lb_kind DR
    nat_mask 255.255.252.0
    protocol TCP
    persistence_timeout 0
    real_server 192.168.8.1 80 {
    weight 1
    inhibit_on_failure
    HTTP_GET {
    url {
    path /s/health.jsp
    status_code 200
    }
    connect_port 80
    connect_timeout 5
    nb_get_retry 1
    delay_before_retry 2
    }
    real_server 192.168.8.2 80 {
    weight 1
    inhibit_on_failure
    HTTP_GET {
    url {
    path /s/health.jsp
    status_code 200
    }
    connect_port 80
    connect_timeout 5
    nb_get_retry 1
    delay_before_retry 2
    }
    }



    RealServerが10台以上もあるような大きなサイトだと、ひとつのサーバグループの設定だけでも1画面に収まり切らないほどの量になってしまうんです。こんな巨大な設定ファイルを人間が書き換えなければならないなんてとてもとても我慢できません。サイトを増やそうとしてどっかの設定をコピペしたままうっかり書き換え忘れるような事故が起きることは容易に想像がつきます。

    DSASの特徴のひとつとして、「サーバの増減が容易である」というものがあります。
    その実体が 「keepalived.confの編集」だと「どこが容易やねん!」という突っ込みが入ることは目に見えていますよね(笑

    DSASでは、設定ファイルの編集ミスによる事故を防止するためと、管理者の負担を軽くするために、様々な工夫をしています。

    続きを読む
    klab_gijutsu2 at 22:47|この記事のURLComments(0)TrackBack(0)
    2006年09月04日

    高トラフィックに対応できるLinuxロードバランサを目指して 〜 LVSをNATからDSRへ

    はてなブックマークに登録

    「こんなに簡単! Linuxでロードバランサ」のシリーズでは、

    こんなに簡単! Linuxでロードバランサ (1) 〜 LVS + NATで負荷分散をしてみよう
    こんなに簡単! Linuxでロードバランサ (2) 〜 keepalivedでWebサーバのヘルスチェック
    こんなに簡単! Linuxでロードバランサ (3) 〜 VRRPでロードバランサを無停止にする

    こんな流れでNATによる負荷分散システムを構築してきました。
    今回はこれを DSR(Direct Server Return) 方式に変更してみます。

    「DSRとはなんぞや?」という方は、

    ロードバランサの運用.DSRって知ってますか?
    L4スイッチはDSR構成にすべし

    こちらでわかりやすく説明されていますので参考にしてみてください。

    続きを読む
    klab_gijutsu2 at 10:26|この記事のURLComments(14)TrackBack(1)
    2006年08月30日

    こんなに簡単! Linuxでロードバランサ (3)

    はてなブックマークに登録

    前回はkeepalivedを使ってWebサーバを冗長化してみました。
    今回はkeepalivedのもう一つの機能であるVRRPを使って、ロードバランサ自身を冗長構成にしてみたいと思います。

    続きを読む
    klab_gijutsu2 at 13:07|この記事のURLComments(7)TrackBack(1)
    2006年08月28日

    こんなに簡単! Linuxでロードバランサ (2)

    はてなブックマークに登録

    前回までで、

    • 複数のWebサーバにロードバランスする

    というところまではできました。

    これでリアルサーバへ負荷分散することができたのですが、冗長性がありませんでした。つまり、リアルサーバがダウンしても、ロードバランサはそれを認識できず、ダウンしているリアルサーバなのにパケットを送ってしまっていました。

    このとき、クライアントから見ると、たまにサーバから応答がないように見えてしまいます。

    というわけで今回は冗長化のお話、

    • リアルサーバのヘルスチェック

    を紹介したいと思います。
    続きを読む
    klab_gijutsu2 at 10:01|この記事のURLComments(5)TrackBack(2)
    2006年08月24日

    こんなに簡単! Linuxでロードバランサ (1)

    はてなブックマークに登録

    DSASのロードバランサは高価なアプライアンス製品ではなく、LinuxのLVS (Linux Virtual Server)を利用しています。

    安価、というか、ハードウエア以外は金銭的コストがゼロなので、一般のクライアントからのアクセスを受ける外部ロードバランサのほかに、内部サービス用のロードバランサも配置しています。それぞれactive, backupで2台ずつあるので合計で4台もロードバランサがあることになります。(こんな構成を製品を使って組んだら数千万円すっとびますね)

    また、ネットワークブートでディスクレスな構成にしているので、ハードディスが壊れてロードバランサがダウンした、なんてこともありません。

    ですので「ロードバランサは高くてなかなか導入できない」という話を耳にする度にLVSをお勧めしているのですが、どうも、

    • なんか難しそう
    • ちゃんと動くか不安
    • 性能が出ないんじゃないか

    等々の不安の声も聞きます。

    そこでこれから数回に渡って、How toスタイルでLinuxでロードバランサを作ってみたいと思います。

    今回は初回ということで、ごくごく基本的な

    • 複数のWebサーバにロードバランスする

    というところまでやってみたいと思います。

    では、はじまりはじまり〜
    続きを読む
    klab_gijutsu2 at 08:00|この記事のURLComments(1)TrackBack(6)
    Blog内検索
    このブログについて
    DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
    このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
    最新コメント
    最新トラックバック
    Archives