2011-01-01から1年間の記事一覧

UCD-DISKIO-MIB::diskIODevice で取得される dm-0 とかをデバイス名に読み替える

LVMを使っている時に、SNMPの UCD-DISKIO-MIB::diskIODevice で取得できる名前を、/dev/hogehoge とかの名前に読み替える方法(OIDでは .1.3.6.1.4.1.2021.13.15.1.1.2)。lvdisplay で下記のような情報が表示されるので・・・ --- Logical volume --- LV Na…

logrotate の delaycompress

何かのスクリプトで作成した定期バッチのログを logrotate でローテートするようにした場合、バッチが午前4時に起動して10分間実行されると実行中にログローテートされることになります。バッチスクリプトでログファイルを開きっぱなしにしている場合、ロー…

ストレージエンジン混在でレプリケーション

ストレージエンジンで MyISAM と InnoDB が混在している環境でレプリケーションしたらどうなるか気になったのでやってみました。 前提条件 5.5.16 で、ステートメントベースでレプリケーションしてます。 テーブル定義 CREATE TABLE ii ( id INT NOT NULL PR…

Logwatch の通知を weekly にする

何台もサーバがあると毎日のlogwatchで大量にメールが来てしまうので、週一だけ通知されるように変更してみました。「logwatch --range help」を見た感じ、「Date::Manip」があれば range で色々指定出来るらしいので・・・ # cpan -i 'Date::Manip' # perl …

CentOS6にkeepalivedをインストール

RPMビルドしてインストールしようと思ったら少しハマったのでメモです。 必要そうなものをインストール。 yum install rpm-build make gcc openssl-devel popt-devel kernel-devel ipvsadmRPMビルド環境の準備。 eval echo "%_topdir ~/rpm" > ~/.rpmmacros …

CentOS6でbonding

CentOS6でbondingを設定したときのメモです。 /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet DEVICE=eth0 NM_CONTROLLED=no BOOTPROTO=none ONBOOT=yes IPV6INIT=no USERCTL=no PEERDNS=no MASTER=bond0 SLAVE=yes /etc/sysconfig/network-scrip…

ホストのシャットダウン時のオートサスペンド

CentOS 6 なら libvirt-guests で停止→開始できるのでこのようなものは不要です。..ゲストが起動したままホストをシャットダウンすると、ゲストはプッツリ切られてしまうようなので、なんとかできないかと探してみたところ下記を発見。 http://d.hatena.ne.j…

telnet で smtp を使ってメールを送信する方法

メールサーバのちょっとした動作確認のために telnet で直接 smtp でメールを送信する方法のメモ。">" から始まる行はメールサーバからの応答です。 "#" から始まる行はコメントです。 # telnet でメールサーバの smtp ポートに接続する telnet 192.168.1.2 …

CentOS5へRHEL5のSRPMからApacheをアップデートする

CentOS5のyumで入れたApacheを、RHEL5のSRPMを使ってアップデート出来るか実験する必要があったので、その時のメモです。 ますはRHEL5のSRPMをダウンロードします。 wget http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/httpd-2.2.…

Cactiのデータソースの最大値をrrdtoolで修正する

サーバにメモリを増設したところcactiでメモリの空き容量が表示されなくなりました。メモリを増設したことで空き容量が増え、cactiの「ucd/net - Memory - Free」データテンプレートの「Maximum Value」よりも値が大きくなったことが原因の様な気がしたので…

CentOS6でシリアルコンソールを設定する

CentOS6にシリアルコンソールの設定をしてみたところ、CentOS5とは色々違っていたのでメモっておきます(要するにカーネルパラメータだけ弄れば良くなった)。 /boot/grub/grub.conf CentOS5と特に変わりはありません。 default=0 timeout=5 #splashimage=(h…

Pacemaker/Heartbeat で Master/Slave の migration

PacemakerでDRBDのようなマスタ/スレーブ型のリソースを管理しているときに、マスターをコマンドラインから手動で切り替える方法。*1 例えば次のようにリソースが定義されている場合(primitiveは省略) group group_master \ fs vip mysql apache ms ms_drb…

Windows7のVMwarePlayerのホストでタグVLANを使う

とは言ってもVMホストのNICがタグVLANに対応している必要がありますが。。。 設定したVMホストのNICは次のような構成になっています。 オンボードNIC Realtek PCIe GBE Family Controller 増設NIC VIA Velocity-Family Gigabit Ethernet Adapter デスクトッ…

Bashの便利な機能とか

Bashの知ってると便利な機能(Bash関係無いのも含まれてます) シェルスクリプト内でコマンドのエラーで実行を中断する 「set -e」と書いておくと、任意のコマンドで0以外が返るとスクリプトの実行が中断される #!/bin/bash set -e echo a # 0以外の値を返す…

KVMで CentOS 6 のイメージをコピーして別ゲストを作成したらNICの番号が変わった

KVMで セットアップ済み CentOS 6 のディスクイメージをコピーして別ゲストを作成したところ、NICの番号が eth0 から eth1 に変わってしまった。 # ifconfig -a eth1 Link encap:Ethernet HWaddr 52:54:00:DD:B2:90 BROADCAST MULTICAST MTU:1500 Metric:1 R…

VARCHAR と 〜TEXT の違い

長年知らなかったが、「VARCHAR」と「〜TEXT」では最大文字数の意味が違っていた!!! 試してみる CREATE TABLE t1 (s VARCHAR(255) NOT NULL); CREATE TABLE t2 (s TINYTEXT NOT NULL); INSERT INTO t1 VALUES ( REPEAT('a', 1024) ), ( REPEAT('あ', 1024…

全てのドメイン宛のメールを受信する

メールフォームの様なアプリの開発時にテストメールが外部へ送信されないようにするために、全てのドメイン宛てのメールを受信するように設定したときのメモ。 ただし、自社のドメイン宛てのメールはそのまま配送したかったので、一部のドメインは普通に送信…

KVMでvlanを使う

以下の通り構成でKVMでVLANを使ったときのメモ 構成 +------------------------+ | L2SW | +---------[port1]--------+ | | (vlan:10) | +--------[eth1]----------+ | ホスト | | | (eth1.10) | | | | | (br_vlan10) | | | | +--------[vnetX]---------+ | …

MySQLのinnodbでテーブルロックを使う

テーブルロックとトランザクションは排他的にしか使えないと思っていたが*1自動コミットをOFFにするとテーブルロックとトランザクションを同時に使えるらしい。 http://dev.mysql.com/doc/refman/5.1/ja/lock-tables.html トランザクションとテーブルロック…

特定のバージョンのカーネルソースを比較

CentOSの特定のバージョンのカーネルソースを比較したときのメモ RPMディレクトリ作成 eval echo "%_topdir ~/rpm" > ~/.rpmmacros mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} SRPMをダウンロード wget http://ftp.iij.ad.jp/pub/linux/centos/5.6/up…

NetSNMP プロキシ設定

snmpdの設定 /etc/snmp/snmpd.conf # context secname source community com2sec local localhost private com2sec external default public com2sec -Cn ctx_proxy external default proxy # group model secname group local v1 local group local v2c loc…

NetSNMP の snmpd で v3 を設定する

snmpdのアクセス設定 /etc/snmp/snmpd.conf に下記を追記 # model には usm を指定、secname はユーザ名 # group model secname group snmpv3 usm hogehoge # view incl/excl subtree view all included .1 # level は noauth / auth / priv のいずれか # no…

Logwatchのlogwatch.conf

Logwatch 7.3 グローバルな設定の設定ファイルのパス 次の順番で上書き適用される(下にあるものが優先度高) /usr/share/logwatch/default.conf/logwatch.conf /usr/share/logwatch/dist.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf /etc/logwatc…

CentOS5でrpmforgeからCactiを入れているときにphpを5.3に変更する

CentOS5 で rpmforge から Cacti をインストールしていると、依存関係で php 5.1 がインストールされます(CentOS5 の php パッケージ)。この状態で php のバージョンを 5.3 に上げるために php53 パッケージをインストールしようとしても競合でインストー…

PHP で forkするときの注意点

PHP

以下のコードは子プロセスの終了時に親プロセスのMySQL接続が閉じられてしまうため意図した通りに動作しません。 子プロセスで明示的に mysql_close を行わなくても php プロセスの終了時の後処理で暗黙的に mysql_close されてしまうためです。SIGTERM など…

Pacemaker/Heartbeat で良く使うクラスタ操作コマンド

クラスタ情報の表示 crm_mon -1 # ノードでグループ化 crm_mon -1n # フェイルカウントも表示 crm_mon -1f ノード一覧の表示 crmadmin -N crm node list crm node status リソース一覧の表示 crm_resource -L リソースの位置を表示 crm_resource -WQ -r <resource> ス</resource>…

spineで独自スクリプトのデータが取得できない

cactiにspineを導入してみたところ、独自に作成していた "Data Input Methods" が "Script/Command" なスクリプトでデータが取得できなくなりました。 原因はスクリプトの出力が、下記のように行の終端に半角スペースが含まれているためでした(配列を forea…

pacemaker-pygui

Pacemaker/Heartbeatで、リソース障害などが発生したときに SNMPTrap を送信するために pacemaker-pygui をインストールしたときのメモ ビルドに必要なものをインストール yum --enablerepo=clusterlabs install pacemaker-libs-devel yum install autoconf …

network-scripts

よく忘れるのでメモ IPエイリアス # vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 BOOTPROTO=none IPADDR=192.168.0.1 NETMASK=255.255.255.0 ONPARENT=yes ブリッジ # vi /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO…