lvs
2007年10月09日
特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します
『Linuxロードバランサ構築・運用ノウハウ』を公開します!
これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。
一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、
- サーバ負荷分散一般についてのはなし
- Linuxでロードバランサを作ってみる
- ロードバランサを冗長化
といった構成になっています。
みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください!
- 第1章 サーバ負荷分散概論
- 特集のはじめに
- なぜサーバ負荷分散をするのか?
- サーバ負荷分散の実現方法
- ロードバランサのいる構成
- ロードバランサはなにを元に分散するか
- なぜロードバランサを導入しないのか?
- Linuxベースのロードバランサ
- 第2章 LVSで実現するロードバランサ
- 環境構築
- LVS-NATによる負荷分散
- DSRに挑戦
- 第3章 ロードバランサの冗長化
- ロードバランサを冗長化する
- VRRPとは
- VRRPを使ってみよう
- フェイルオーバしてみよう
- 第4章 負荷分散システム運用のコツ
- はじめに
- MATRIXでサーバ集中管理
- keepalivedの運用テクニック
- SSH以外のリモートメンテナンス手段
- ネットワークブート
2007年06月01日
Keepalivedのヘルスチェックを強化するパッチ
keepalived は MISC_CHECK を利用すると、標準の機能でサポートされていないヘルスチェックをすることができますが、MISC_CHECKの注意点でご紹介したように、安全に運用するためには結構気を使わなければいけません。また、比較的短い周期で繰り返さなければならないヘルスチェックでは「チェックの度に別プロセスを起動する」というアプローチは、できるだけ避けたいと考えるかもしれません。
というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。
ただしこのパッチ、まだDSASの本番環境には適用していません。
つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告などいただけると、とてもとても嬉しいです。
追加した機能
FTP_CHECK: FTPサーバがNOOPコマンドに応答できるかをチェックする
DNS_CHECK: DNSサーバがレスポンスを返すことができるかをチェックする
SSL_HELLO: サーバがSSLハンドシェイクに応答できるかをチェックする
続きを読む
というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。
ただしこのパッチ、まだDSASの本番環境には適用していません。
つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告などいただけると、とてもとても嬉しいです。
続きを読む
2007年05月18日
知っていても損はしないkeepalivedの話 〜 notification_emailの罠
このブログではすでにお馴染みとなっている keepalived ですが、設定ファイルの書き方には少し癖があります。
今回は、keepalived を設定する上での注意点を紹介したいと思います。
なお、この内容は現在の最新バージョン(1.1.13)のものですのでご注意下さい。
続きを読む
続きを読む
2007年02月23日
パソコン1台ではじめるロードバランサ体験
昨日書いたの通り,記事を寄稿したWEB+DB PRESS Vol.37が,今日発売になりました.それを記念して(?),記事の内容が簡単に実験できるパッケージを公開します.
これは,VMWareを使って,だれでも直ぐにロードバランサの実験を始められるパッケージになっています.何台もマシンを集めたり,Linux をインストールする必要は一切ありません.無償配布されているVMWare Playerがあれば,いつでもどこでも実験ができます.
これは,VMWareを使って,だれでも直ぐにロードバランサの実験を始められるパッケージになっています.何台もマシンを集めたり,Linux をインストールする必要は一切ありません.無償配布されているVMWare Playerがあれば,いつでもどこでも実験ができます.
もちろん,このブログで去年の夏に公開した4つのエントリ
- こんなに簡単! Linuxでロードバランサ (1)
- こんなに簡単! Linuxでロードバランサ (2)
- こんなに簡単! Linuxでロードバランサ (3)
- 高トラフィックに対応できるLinuxロードバランサを目指して〜LVSをNATからDSRへ
ダウンロードはこちらからどうぞ(75MB程です).
使い方は,ダウンロードしたパッケージに付属の ReadMe.txt をご覧下さい.また,同じ内容を以下に引用しておきます.続きを読む
2007年02月22日
LVSロードバランサの作り方について雑誌記事を書きました! (WEB+DB PRESS Vol.37)
手前味噌ですが―
WEB+DB PRESS Vol.37に寄稿しました!
こんな内容です。
特集2 Linuxロードバランサ構築・運用ノウハウ
- 第1章 サーバ負荷分散概論
- 第2章 LVSで実現するロードバランサ
- 第3章 ロードバランサの冗長化
- 第4章 負荷分散システム運用のコツ
このブログの過去のエントリ、
- こんなに簡単! Linuxでロードバランサ (1)
- こんなに簡単! Linuxでロードバランサ (2)
- こんなに簡単! Linuxでロードバランサ (3)
- 高トラフィックに対応できるLinuxロードバランサを目指して〜LVSをNATからDSRへ
をより詳しく丁寧に説明し、加えて運用のコツについても書いた感じに仕上がっております。
LVSやkeepalivedについて書かれた雑誌記事はあまり見かけないので、参考になるのではないかと思います!
あとですね、この連載の内容に関連した「とあるもの」を後日プレゼントする予定です。準備ができたらこのブログで告知しますのでお楽しみに〜
2006年10月05日
keepalivedの運用ノウハウお見せします 〜 割当管理を簡単にしたい
keepalivedの設定ファイルは、以下のようなエントリをひたすら並べなくてはいけないので、規模が大きくなるほど可読性が落ちます。
RealServerが10台以上もあるような大きなサイトだと、ひとつのサーバグループの設定だけでも1画面に収まり切らないほどの量になってしまうんです。こんな巨大な設定ファイルを人間が書き換えなければならないなんてとてもとても我慢できません。サイトを増やそうとしてどっかの設定をコピペしたままうっかり書き換え忘れるような事故が起きることは容易に想像がつきます。
DSASの特徴のひとつとして、「サーバの増減が容易である」というものがあります。
その実体が 「keepalived.confの編集」だと「どこが容易やねん!」という突っ込みが入ることは目に見えていますよね(笑
DSASでは、設定ファイルの編集ミスによる事故を防止するためと、管理者の負担を軽くするために、様々な工夫をしています。
続きを読む
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では、設定ファイルの編集ミスによる事故を防止するためと、管理者の負担を軽くするために、様々な工夫をしています。
続きを読む
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構成にすべし
こちらでわかりやすく説明されていますので参考にしてみてください。
続きを読む
こんなに簡単! Linuxでロードバランサ (1) 〜 LVS + NATで負荷分散をしてみよう
こんなに簡単! Linuxでロードバランサ (2) 〜 keepalivedでWebサーバのヘルスチェック
こんなに簡単! Linuxでロードバランサ (3) 〜 VRRPでロードバランサを無停止にする
こんな流れでNATによる負荷分散システムを構築してきました。
今回はこれを DSR(Direct Server Return) 方式に変更してみます。
「DSRとはなんぞや?」という方は、
ロードバランサの運用.DSRって知ってますか?
L4スイッチはDSR構成にすべし
こちらでわかりやすく説明されていますので参考にしてみてください。
続きを読む
2006年08月30日
2006年08月28日
2006年08月24日
こんなに簡単! Linuxでロードバランサ (1)
DSASのロードバランサは高価なアプライアンス製品ではなく、LinuxのLVS (Linux Virtual Server)を利用しています。
安価、というか、ハードウエア以外は金銭的コストがゼロなので、一般のクライアントからのアクセスを受ける外部ロードバランサのほかに、内部サービス用のロードバランサも配置しています。それぞれactive, backupで2台ずつあるので合計で4台もロードバランサがあることになります。(こんな構成を製品を使って組んだら数千万円すっとびますね)
また、ネットワークブートでディスクレスな構成にしているので、ハードディスが壊れてロードバランサがダウンした、なんてこともありません。
ですので「ロードバランサは高くてなかなか導入できない」という話を耳にする度にLVSをお勧めしているのですが、どうも、
等々の不安の声も聞きます。
そこでこれから数回に渡って、How toスタイルでLinuxでロードバランサを作ってみたいと思います。
今回は初回ということで、ごくごく基本的な
というところまでやってみたいと思います。
では、はじまりはじまり〜
続きを読む
安価、というか、ハードウエア以外は金銭的コストがゼロなので、一般のクライアントからのアクセスを受ける外部ロードバランサのほかに、内部サービス用のロードバランサも配置しています。それぞれactive, backupで2台ずつあるので合計で4台もロードバランサがあることになります。(こんな構成を製品を使って組んだら数千万円すっとびますね)
また、ネットワークブートでディスクレスな構成にしているので、ハードディスが壊れてロードバランサがダウンした、なんてこともありません。
ですので「ロードバランサは高くてなかなか導入できない」という話を耳にする度にLVSをお勧めしているのですが、どうも、
- なんか難しそう
- ちゃんと動くか不安
- 性能が出ないんじゃないか
等々の不安の声も聞きます。
そこでこれから数回に渡って、How toスタイルでLinuxでロードバランサを作ってみたいと思います。
今回は初回ということで、ごくごく基本的な
- 複数のWebサーバにロードバランスする
というところまでやってみたいと思います。
では、はじまりはじまり〜
続きを読む


