稼働中のPCやら衝動買いしたPCやら実験やら破壊やら構築やら。
情報としての価値はほぼなし。
なんていうか完全に自己満足。
要するについてくる人が居ないのでこっちに書くだけの話っていうかチラシの裏。
※あと、お仕事募集中
コンタクトはk.haramai[atmark]gmail.com まで。

2012/03/18

Crashed Zabbix Database

しばらく放置というか、起動状態でほうっておいたZabbixだったが、久しぶりにスクリーンを覗いてみるとデータが未取得となっていた。

具体的にはこんなメッセージが/var/log/zabbix/zabbix_server.logに上がっていた。

3223:20120318:062815.752 [Z3005] Query failed: [145] Table './zabbix/history' is marked as crashed and should be repaired [select min(clock) from history where itemid=19976]

おやー?と思って、mysqlから接続してDBを見る。


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| clipbucket         |
| mysql              |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)


とりあえず、接続は出来る。

次にZabbixのDBへ接続して該当テーブルをチェック。


mysql> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed
mysql> check table history extended;
+----------------+-------+----------+----------------------------------------------------------+
| Table          | Op    | Msg_type | Msg_text                                                 |
+----------------+-------+----------+----------------------------------------------------------+
| zabbix.history | check | warning  | Table is marked as crashed                               |
| zabbix.history | check | warning  | 2 clients are using or haven't closed the table properly |
| zabbix.history | check | error    | Key in wrong position at page 49271808                   |
| zabbix.history | check | error    | Corrupt                                                  |
+----------------+-------+----------+----------------------------------------------------------+
4 rows in set (15 min 31.31 sec)

あー、そうですかそうですか。
ぶっ壊れてるんですね。

repairをかける前にMySQLを止めてバックアップを取得。

#service mysqld stop 
#cp -rp /var/lib/mysql /opt/mysqlback

んでもって起動してrepair処理を実行。

#service mysqld start

mysql> repair table zabbix.history;
+----------------+--------+----------+----------+
| Table          | Op     | Msg_type | Msg_text |
+----------------+--------+----------+----------+
| zabbix.history | repair | status   | OK       |
+----------------+--------+----------+----------+
1 row in set (4 min 51.48 sec)

終了、戻ってよかったよかったというお話。

2011/11/17

openfiler 2.99のiSCSIエラーとか。

openfiler 2.3から2.99へ移行して暫くは順調に機能していたが、ここ最近で一点問題が出てきた。
家のOpenFilerはRAIDで組まれたボリュームを二つに区切り、前方をiSCSI、残りをCIFSとして割り当てている。

NICは、オンボードをCIFS、及び制御用に構成。
追加したPCIeのintel pro 1000 ctを2本束ねてiSCSIに割り当てた。
CIFSとiSCSIもVLANで別けている。
その内、障害が出たのはiSCSI側。

特に膨大なトラフィックは発生しないはずである。
しかしながら、数十MB程度のトラフィックしなないのにも関わらず、iSCSIがAbort Taskして徐々に挙動がおかしくなる。
最初の内は、Function Completeとなり、応答性は悪いものの機能はする。
その内に、Unknown LUNとなりVM側からは切り離されることがある。
こうなったら最後、iSCSI Targetを再起動し、VMも再起動するしかなくなる。
しかしiSCSIを再起動したあとには、エラーを吐いてOpenFilerごと再起動しなければならない事態も多々。

原因が判らないのが一番の問題で、対処のしようがないところ。
CIFS側では常時膨大なトラフィックが発生しているので、そちら側に何か引っ張られているのでは無いかとも考えられるが。
 手っ取り早いのは、OpenFilerを2.3で組み直して様子をみるか、というところ。

2.99にした理由もあまり無いので、それでもよし。
ただ、iSCSI Targetが物理的に二台になってしまうことだけは避けたい。
もしくは、導入されているiETを古いものに置き換えるか。
 少なからず、2.3の時点ではこんなことはなかったはずだからだ。

 いろいろ面倒が続くなぁ。

2011/10/16

Walbrix x86_64bit版のアレやコレ

人柱版として公開されているisoやらから導入。
現状としては仮想アプライアンスは32bitのみだそう。

今回の目的は、とにかく早いエンコード環境なのでメモリはそれなりに積めた方が良いし、CPUも早いほうが望ましいので、買ったままあまり使わなかったThinkPadT510を生贄に。

スッペクは以下のとおり。
CPU:Intel Core i7-620M (2.66GHz)
MEM:8GB DDR3
HDD:HGST500GB(SATAII)
と、実はサーバ含めて一番性能がいいマシンだった。

Walbrixを仮想アプライアンスの導入は32bit版と大差はないのでさっくり割愛。
とりあえず潤沢にあるメモリのおかげで快適に動いている気がする。

仮想アプライアンスはHandBrakeをダウンロード。
200GBのHDDと2GBのメモリを割り当てた。

普通にLinux入れてHandBrake入れて~でもよかったのだが、

>Walbrix特別仕様で、変換したい動画ファイルを共有フォルダにコピーしておくだけで自動的に順次目的のビデオフォーマットに再エンコードする仕組みが最初から設定されています(初期状態ではiPhone,iPadに対応)。

という一文に負けた。
自分、めんどくさがりですから・・・。

ただ、完全にサーバとして動作していただくので毎回何かするたびにWBコンソール開いて・・・てやるのはさらに面倒なので、最低限SSHで入れるようにしておく。
あと、ついでにIP固定も。

IP固定についてはこの辺りに乗っているのでバッサリ。
で、結局IPを固定した上でSSHログインができるようにしておく。
基本的にはsshdの設定なので、/etc/ssh/sshd_config を開いて

Authentication項目の、
#PasswordAuthentication no
PasswordAuthentication yes
としてsshdを再起動するだけ。
あとは /etc/init.d/sshd restart ってしてあげれば入れます。
※ただし、上記方法ではパスワードが空の場合はダメなので、先にpasswdコマンドで指定してあげてください。

とりあえず、こんなところ。
あぁ、眠い。