数値を判定する正規表現
3桁ごとのカンマ付&+-対応&小数点対応の正規表現が探してみても見つからなかったので考えてみた
もっとよく探せばどこかに転がってそうな気もする
^(?![-+]0+$)[-+]?([0]|([1-9][0-9]*)?(,[0-9]{3})*)(\.[0-9]*[0-9])?$
クラスタがディスクリソースをマウントしてくれなくなった
壊れた?
クラスタ ディスク リソース ディスク I:: は壊れています。ChkDsk /F を実行して問題を修復してください。 このリソースのボリューム名は "\\?\Volume{45b9d2a7-469b-4b5d-a70d-a3ef18a79b7c}\" です。 利用可能な場合、ChkDsk の出力はファイル "C:\WINDOWS\Cluster\ChkDsk_Disk3_Sig023FEAEC.log" に格納されます。 ChkDsk はイベント ID 26180 でアプリケーション イベント ログに情報を記録することがあります。
とあるサービスが暴走してサーバがハングしてしまい、どうしようもなくなってリセットボタンを押したら共有Storage内のLUNが壊れたらしいorz
イベントログはChkDskをかけろというが、容量が8TBもあるディスクにかけると1週間はかかると思われ
なんとか
強制的にマウントさせられないかと調べたところ、そういうコマンドがあるらしい
ところが、クラスタの状態が「オンライン待機中」のためコマンドを受け付けてくれず
さらに調べたところ、上記に該当するレジストリがあるとのこと
HKEY_LOCAL_MACHINE\Cluster\Resources\[リソースのGUID]\Parameters\SkipChkdsk
の値を「1」にセットするとChkDskをSkipしてくれる(デフォルトは「0」)
ところが
レジストリキーをセットして再起動をかけても、相変わらずマウントしてくれないどころかまったく同じイベントログが記録されてる
しつこくレジストリをいじる
次はおなじ階層にある「ConditionalMount」の値を「0」にしてみる(デフォルトは「1」)
※ 上記したMicrosoftのURLだと、このオプションは「0」にすべきか「1」にすべきかよくわからない
マウントできたw
この状態で再起動すると、無事マウントすることに成功
見た感じどこも壊れてないようなので、レジストリの値をデフォルトに戻して再起動したところ、何事もなかったかのようにマウントされた
MySQL Clusterの管理ノードを冗長化する
先日MySQL Clusterを稼働中のシステムで、管理ノードが停止したため、クラスタが機能しなくなるトラブルに見舞われたので、管理ノードを冗長化した
その際、あまり情報があたってこなかったので、今後のために書いておくことにする
config.iniの書き方は思ったとおり
# vi /var/lib/mysql-cluster/config.ini [ndb_mgmd] id=1 # Node ID hostname=mgm01 [ndb_mgmd] id=2 # Node ID hostname=mgm02
でもこれだけじゃ足りなくて
my.cnfにも書く必要がある
# vi /etc/my.cnf ndbcluster ndb-connectstring=mgm01,mgm02 [mysql_cluster] ndb-connectstring=mgm01,mgm02*1
my.cnfに複数の管理ノードを記載するには、カンマで区切って並べる
*1:なぜ2ヶ所書く場所があるのかわからない。このセクションだけでいいような気もする
Muninで複数サーバのグラフを並べてみたい時の設定
監視する側の /etc/munin/munin.conf に書く監視される側の名前の付け方をひと工夫するだけ
[sv01.example.com] address sv01.example.com [sv02.example.com] address sv02.example.co.jp [sv03.example.com] address sv03.example.com.tw
ただし、各監視対象のサーバがこの名前では受けてくれないので、それぞれの /etc/munin/munin-node.conf の host_name の項目に sv03.example.com 等の「管理する際の名前」を書いておく
これでちょっと見やすくなる*1
*1:ちょっとだけね
調子に乗ってWindowsにも入れてみた
試しなんでXPなんだけど
http://www.jory.info/#downloads_muninnode
ここ↑から munin-node-win32 のBinaryをダウンロードして解凍
できたフォルダをProgram Files配下へ移動
コマンドプロンプトを開いて
> "c:\program files\munin\munin-node-win32.exe" -install
ってするとサービスに登録してくれる*1
CentOSにmunin-nodeを入れてみる
昨日Gentooへのインストールが出来たので、監視される側としてCentOSにmunin-nodeを入れてみる
yumでいっぱつ
# yum install munin-node
としてみたところ、主にPearl関連で6つインストールされるみたいだけど、やばげなのは特になかったので
# yum -y install munin-node
として一気にインストール
で、これだけでpluginとかも設定が終わってるw
すばらしい
あとは
# /etc/init.d/munin-node start # chkconfig munin-node on
して起動時に起動するようにして設定終わり
監視する側も2行だけ
# vi /etc/munin/munin.conf
で設定ファイルを開いて
[監視対象のサーバ名] address 監視対象のサーバ名またはIPアドレス
って書くだけ
これで5分後にはグラフができるって、すげぇ簡単