アーカイブ
-
シェルスクリプト内での 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
無指定 – secondsdeadtime
クラスタノードが死んだとみなす間隔(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.6ipvsadm のインストール
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