アーカイブ

  • シェルスクリプト内での rsync に ssh 鍵を指定する

    rsync を ssh でするとき、普通のコマンドラインなら

    $ rsync -e “ssh -i /path/to/ssh_key” -avz -p -o \
    –delete remoteuser@hostname:/path/to/remote/file /path/to/local_save/file

    てな感じにするけれど、
    シェルスクリプト内だと、”ssh -i /path/to/ssh_key” の部分が指定を見てくれないのです。何かやり方があるのかな??

    でも、環境変数 RSYNC_RSH に ssh の鍵指定をしてやればOK。
    man page にこんなことが書いてあります。

    You can also choose the remote shell program using the RSYNC_RSH
    environment variable, which accepts the same range of values as
    -e.

    なので、こういう風にすればOK。

    RSYNC_RSH=”ssh -i /path/to/ssh_key”
    # rsync -avz -p -o –delete [...]

    2007年 12月 25日 | Filed under Linux
  • Heartbeat の ha.cf #2

    前回 の続き。ha.cf のサンプルの “Unusual options” とされているオプションたちについて。
    Linux-HA サイト を見ると、他にもありますが、ここでは、Fedora Core 6 の heartbeat-2.0.8 RPM パッケージのサンプルファイルベースでまとめています。

    hopfudge

    シリアルポート転送の最大数を設定する。どれだけの回数をパケット転送したら破棄するか。デフォルトは 1。

    deadping

    クラスタ内の ping ノードを死んだと判断する時間を指定。(HeartbeatTimeSyntax で指定)

    hbgenmethod

    Heartbeatの世代番号を作成する。通常はディスクに保存され、必要に応じてインクリメントされる。

    realtime

    リアルタイム機能を有効にするかどうか。Heartbeat の実行優先度をリアルタイム実行にする。デフォルトは on。

    debug

    デバッグレベルを設定する。1 以上にすると、動作速度とかが落ちる。デフォルトは 0。

    msgfmt

    通信の中でのメッセージ形式を設定。classic か netstring を選べる。デフォルトは classic。

    classic – メッセージを文字列に変換して転送する。
    netstring – バイナリメッセージで直接転送される。変換をしないので効率が良い。

    use_logd

    ログデーモンを使うかどうか。yes or no。
    ログデーモンが使われる場合は、logfile/debugfile/logfacility は無効になる。
    ログデーモンの設定ファイルはデフォルトで /etc/logd.cf。yes がお勧め。

    conn_logd_time

    Heartbeat がログデーモンとの接続に失敗した際に、再接続する間隔。デフォルトは 60 秒。

    compression

    圧縮モジュールの設定。メッセージが大きくなったり、圧縮が必要になったりする場合に、使用する圧縮方法を設定。
    zlib か bzip2 のライブラリを選べる。

    compression_threshold

    メッセージを圧縮する閾値を設定。例えば 1 を設定した場合、メッセージサイズが 1 KB を超えたら圧縮する。デフォルトは 2。

    2007年 12月 18日 | Filed under Linux
  • Heartbeat の ha.cf #1

    Heartbeat の設定ファイルについての簡単なまとめ。
    ここ とか、インストール時についてくるサンプルファイルとかを参考にした。
    まずは基本的な設定から。

    debugfile

    デバッグメッセージの出力先を指定。

    logfile

    ログファイルの出力先を指定

    logfacility

    syslog のファシリティを指定

    keepalive

    heartbeat パケットの間隔を設定(Heartbeat Time Syntax で指定)

    [Heartbeat Time Syntax]
    ms – milliseconds
    us – microseconds
    usec – microseconds
    無指定 – seconds

    deadtime

    クラスタノードが死んだとみなす間隔(Heartbeat Time Syntax で指定)

    warntime

    “late heartbeat” WARNING を出すまでの時間を設定(Heartbeat Time Syntax で指定)

    initdead

    Heartbeat が最初に起動したときにクラスタノードが(応答が無かったとかで)死んだとみなす間隔(Heartbeat Time Syntax で指定)

    udpport

    UDP のポート番号を指定。同じサブネット上で multiple bcast cluster がある場合と、既にローカルポリシーか何かでポートが使われている場合のみ、この値が覆る。

    baud

    シリアル通信の速度を指定(9600, 19200, 38400, 57600, 115200, 230400, 460800)デフォルト値は 19200。

    serial

    シリアルポートのデバイスを指定

    bcast

    ブロードキャスト通信のパス設定(ブロードキャスト使う場合)

    mcast

    マルチキャスト通信を使う場合のパス設定(マルチキャスト使う場合)

    [書式]
    mcast [dev] [mcast group] [...]

    2007年 12月 17日 | Filed under Linux
  • IPVS 用にカーネルを再構築する

    ディストリビューション付属のカーネルではなく、自分でコンパイルしたカーネルを使って IPVS を動かしてみます。
    今回はカーネルバージョン 2.6.23.9 を使います。

    ソースをダウンロードしてコンフィグ

    # cd /usr/src/kernels
    # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.9.tar.gz
    # tar xzf linux-2.6.23.9.tar.gz
    # cp /usr/src/kernels/2.6.22.9-61.fc6-i586/.config /usr/src/kernels/linux-2.6.23.9/.config
    # cd linux-2.6.23.9
    # make oldconfig

    IPVS を有効にするコンフィグ
    make menuconfig を使います。とりあえずこの辺のバージョンならデフォルトでいけますね。
    mini-HOWTO
    ・IP virtual server support

    — Networking support
    Networking options —>
    — IP virtual server support (EXPERIMENTAL)
    [*] IP virtual server debugging
    (12) IPVS connection table size (the Nth power of 2)
    — IPVS transport [...]

    2007年 12月 10日 | Filed under Linux
  • LVS on CentOS 5

    CentOS 5 上で LVS(Linux Virtual Server) を動かしてみます。これを使うと Linux でロードバランサを組むことができます。

    ※VMware Server 上に CentOS 5 を 2 つ稼動させて動作させました。
    ※LVS 用の OS 側には VMware Server で NIC(eth1) を追加しておく必要があります(Host-only で設定します)。
    ※環境がないのでポートをわけて設定しましたが、実際には実サーバを複数台用意したほうが良いです。

    環境

    OS
    ホスト名
    IPアドレス1
    IPアドレス2
    ポート
    WWW サーバ

    CentOS 5
    toire
    192.168.101.128: eth0
    10.0.0.1:eth1
    80
     

    CentOS 5
    ohuro
    10.0.0.2: eth0
     
     
    8000, 8001
    Apache-2.2.6

    ipvsadm のインストール
    LVS 用サーバに LVS 管理コマンドの ipvsadm をインストールします。

    toire# yum -y install ipvsadm
    toire# ipvsadm -v
    ipvsadm v1.24 2003/06/07 (compiled with popt and IPVS v1.2.0)

    LVS の設定
    ルーティングができるように、IP フォワーディングを有効にします。

    toire# echo “1″ [...]

    2007年 12月 3日 | Filed under Linux
Archive for 2007年 12月