タグ

ブックマーク / dsas.blog.klab.org (12)

  • DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します

    Linuxロードバランサ構築・運用ノウハウ』を公開します! これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。 一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、 サーバ負荷分散一般についてのはなし Linuxでロードバランサを作ってみる ロードバランサを冗長化 といった構成になっています。 みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください! 第1章 サーバ負荷分散概論 特集のはじめに なぜサーバ負荷分散をするのか? サーバ負荷分散の実現方法 ロードバランサのいる構成 ロードバランサはなにを元に分散す

    DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します
  • Keepalivedのヘルスチェックを強化するパッチ : DSAS開発者の部屋

    keepalived は MISC_CHECK を利用すると、標準の機能でサポートされていないヘルスチェックをすることができますが、MISC_CHECKの注意点でご紹介したように、安全に運用するためには結構気を使わなければいけません。また、比較的短い周期で繰り返さなければならないヘルスチェックでは「チェックの度に別プロセスを起動する」というアプローチは、できるだけ避けたいと考えるかもしれません。 というわけで、それなりにニーズがあると思われるヘルスチェック機能を keepalived-1.1.13 に組み込んでみましたのでパッチを公開します。 keepalived-extcheck.patch (46080bytes) ただしこのパッチ、まだDSASの番環境には適用していません。 つまり稼働実績がありません。今は開発環境での試験運用中ですので、その点をご理解の上でご利用下さい。不具合報告

    Keepalivedのヘルスチェックを強化するパッチ : DSAS開発者の部屋
    celtic
    celtic 2007/06/01
  • 「DSASのあれこれ」の資料を公開します : DSAS開発者の部屋

    そのときの発表資料と音声を公開します。 発表資料(PDF 1532KB) 音声(MP3 57350KB) ※音声はボリューム最大にしないと聞こえないかもしれません・・ごめんなさい ※資料はPDFに変換しているのでアニメーションがありません・・ごめんなさい 内容は DSASの設計思想 かたっぱしから冗長化 NICを冗長化してみよう L2SWを冗長化してみよう WEBサーバを冗長化してみよう ロードバランサも冗長化しよう メンテナンス性を重視したネットワーク構成 VLANの紹介 タグVLANの紹介 LinuxでもタグVLAN DSASの構成 フロントエンドサービス向けサーバ群の特徴 マスタサーバの特徴 Webサーバの特徴 こんな感じになっています。 おかげさまで多くの方にご参加いただき、盛況のうちに終了することができました。 懇親会もとても楽しかったです。 今回の反省点としては、、 「あれこれ

    「DSASのあれこれ」の資料を公開します : DSAS開発者の部屋
  • クラスタファイルシステム「lustre」を触ってみます : DSAS開発者の部屋

    負荷分散環境では必須ともいえるネットワークストレージですが、皆様の環境ではどのようなものをお使いでしょうか。 「ファイル共有なんてなくしてしまえっ!!」って言いたくなることも時々あったりしますが(笑)、画像などの素材データ類はDBに格納するよかファイルとして扱う方が運用上楽だったりするので、そう簡単に抹殺するわけにもいきません。 DSASではDRBDで冗長化したNFSサーバ(もちろんLinuxベース)をネットワークストレージとして使っていますが、構成上どうしても特定のサーバに負荷が集中しがちになるのが悩みの種です。 特にせっぱ詰まって困ってる訳ではないのですが「どーしたもんかなあ」と物思いにふけっていると、いつもお世話になっている協力会社の方から「lustreってのもあるよん」と教えてもらったので軽く調べてみました。これはなかなか楽しそうなクラスタファイルシステムじゃあないですか! lus

    クラスタファイルシステム「lustre」を触ってみます : DSAS開発者の部屋
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
    celtic
    celtic 2006/12/26
  • keepalivedの運用ノウハウお見せします 〜 割当管理を簡単にしたい : DSAS開発者の部屋

    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_be

    keepalivedの運用ノウハウお見せします 〜 割当管理を簡単にしたい : DSAS開発者の部屋
    celtic
    celtic 2006/10/06
  • DSAS開発者の部屋:keepalivedの運用ノウハウお見せします 〜 設定ファイルを同期する

    keepalivedはLinuxで冗長構成を組む道具としてとても便利ですが、運用面に関する配慮に物足りなさを感じることがあります。例えばIncludeがないとかIncludeがないとかIncludeがないとか(笑) naoyaの日記でnaoyaさんも悩んでいるようですが、設定ファイルをうまく保守する仕組みをどう作るかが導入する際の大きな鍵になると思います。今回は、DSASではどのようにして2台のkeepalivedを運用しているかを少しだけご紹介させて頂きたいと思います。 1) マスターで設定ファイルを編集する 2) バックアップに設定ファイルを転送する 3) バックアップで設定を反映する 4) マスターとバックアップの差分を確認する 5) マスターで設定を反映する 具体的にはどのようにしているかというと、、、 lv1:# vi 設定ファイル lv1:# lvs-sync -ine lv1

    DSAS開発者の部屋:keepalivedの運用ノウハウお見せします 〜 設定ファイルを同期する
    celtic
    celtic 2006/09/20
  • bash で,サブシェルが起動される条件 : DSAS開発者の部屋

    今回は少々マニアックというか,重箱の隅的お話です. bash(1) には,複数のコマンドをまとめたり,コマンドの実行結果をコマンドラインに取り込むための記法が複数あります.それらのコマンドを実行するために,bash は必要に応じてサブシェルを起動しますが,どういう記述をした際にサブシェルが起動されるのか,いまいちはっきりしなかったため,実際に試してみました.今回試したのは,( ), $( ), { }, <( ) です. を実行して,ps コマンドの親プロセスがどれになっているかで確認しています.bash が設定する $PPID 変数を見ないのは,変数の展開をどのシェルがするかに依存するために,確認しにくいからです.ps コマンドを --forest オプション付きで単純に起動すると $ ps --forest PID TTY TIME CMD 20218 pts/18 00:00:00

    bash で,サブシェルが起動される条件 : DSAS開発者の部屋
    celtic
    celtic 2006/09/12
  • 高トラフィックに対応できるLinuxロードバランサを目指して 〜 LVSをNATからDSRへ : DSAS開発者の部屋

    「こんなに簡単! Linuxでロードバランサ」のシリーズでは、 こんなに簡単! Linuxでロードバランサ (1) 〜 LVS + NATで負荷分散をしてみよう こんなに簡単! Linuxでロードバランサ (2) 〜 keepalivedでWebサーバのヘルスチェック こんなに簡単! Linuxでロードバランサ (3) 〜 VRRPでロードバランサを無停止にする こんな流れでNATによる負荷分散システムを構築してきました。 今回はこれを DSR(Direct Server Return) 方式に変更してみます。 「DSRとはなんぞや?」という方は、 ロードバランサの運用.DSRって知ってますか? L4スイッチはDSR構成にすべし こちらでわかりやすく説明されていますので参考にしてみてください。 一般的(?)に大規模システムを構築する場合は、「ネットワーク機器の整備はこの部門」、「サーバの調

    高トラフィックに対応できるLinuxロードバランサを目指して 〜 LVSをNATからDSRへ : DSAS開発者の部屋
    celtic
    celtic 2006/09/04
  • こんなに簡単! Linuxでロードバランサ (3) : DSAS開発者の部屋

    前回はkeepalivedを使ってWebサーバを冗長化してみました。 今回はkeepalivedのもう一つの機能であるVRRPを使って、ロードバランサ自身を冗長構成にしてみたいと思います。 ┌─────┐ │ client │ └──┬──┘ │[10.10.31.200] │ ━━━━━━━┯━━━━┷━━━━━┯━━━━━━━━━ 10.10.31.0/24 │ │ │ │ │ ←(10.10.31.10) → │ │ ←{10.10.31.100}→ │ [10.10.31.11]│ │[10.10.31.12] ┌─┴─┐ ┌─┴─┐ │ lv1 │ │ lv2 │ └─┬─┘ └─┬─┘ [192.168.31.11]│ │[192.168.31.12] │ ←(192.168.31.10)→│ │ │ ━━━━━━┯┷━━━━━━━━━━┷┯━━━━━━━━ 192.168.3

    こんなに簡単! Linuxでロードバランサ (3) : DSAS開発者の部屋
    celtic
    celtic 2006/08/30
  • こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋

    前回までで、 複数のWebサーバにロードバランスする というところまではできました。 これでリアルサーバへ負荷分散することができたのですが、冗長性がありませんでした。つまり、リアルサーバがダウンしても、ロードバランサはそれを認識できず、ダウンしているリアルサーバなのにパケットを送ってしまっていました。 このとき、クライアントから見ると、たまにサーバから応答がないように見えてしまいます。 というわけで今回は冗長化のお話、 リアルサーバのヘルスチェック を紹介したいと思います。 今回はkeepalivedを使います。 おおざっぱにいうと、keepalivedは2つの機能を提供します。 1. ヘルスチェック機構と連携したIPVSでのリアルサーバの管理 (--check) 前回ipvsadmコマンドを使って行ったような、バーチャルIPアドレス (VIP) やリアルサーバの管理を設定ファイルに記述す

    こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋
    celtic
    celtic 2006/08/28
  • DSAS開発者の部屋:ネットワークパケットを覗いちゃえ

    レイヤを問わず (ethernet から HTTP や SMTP まで) 、ネットワーク絡みのトラブルシューティングや挙動の確認をするときにパケットの流れが見られると非常に有益です。 開眼すると「パケットの流れが目で見える」そうですが、私などはまだまだ修行が足りず裸眼では見えないので、tcpdump というツールを使って見ています。 tcpdump はその名前があまりよくないと私は思っていて、"tcp" だけでなく udp やICMP や ethernet フレームまで覗ける超強力ツールです。 というわけで tcpdump の簡単な説明を書いてみます。 tcpdumpについて tcpdump は UNIX 系の OS で使えるツールなのですが、Windows 用にはWinDumpという CUI のツールがあり、tcpdump と同じように使えます。 GUI がお好みの方は、後でも紹介するE

    DSAS開発者の部屋:ネットワークパケットを覗いちゃえ
    celtic
    celtic 2006/08/25
  • 1