【PHP】設定ファイル書き出し

PHP でコンフィグレーションファイルを読むのに
parse_ini_file()があるが、書き込む関数が見当たらない。

webで検索しても見つからないので作ってみた。

これで一応、parse_ini_file()のサンプルが正常に展開格納できるが、Zend Frameworkにiniファイル書くヤツがあるというのが分かった。

しかし、Zend Framework の Zend_Config_Writer_Ini() と同じ結果だから、手軽に使うならこれでいいや。

UCAM-DLF30MBK

UCAM-DLF30MBKを社長に買っ貰った。
早速、Linuxマシンに接続してみたが、xawtvで何の苦労も無くあっさり使えた。

で、キャプチャソフトを探してみると動体検知ができる motion なるものがあった。
これは良くできていて、daemonとして常駐し、httpでコマンドが送れる。

マニュアルでスナップショットを取るとかできるし、イベントトリガーで、キャプチャが終わったら、任意のコマンドを実行するとかできる。

組み立て方次第で、機能拡張できるから、システムに組み込むのに便利だ。

家で色んな箇所を監視するんだったら、これよりも、ZoneMinderの方が良さそう。

コメント復活

なんかうまくローカルのmySQLにインポートできねえなあと思ってたら、行末がセミコロンじゃなくて、カンマのままだった (^^;

ローカルにインポートした後、

DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

とやって、ゴミを一掃した後、mysqladministratorでバックアップして、レンタルサーバのmySQLへインポートした。

今まで、投稿に コメント○件 と表示されていながら、コメント空の状態だったが、これで整合性が取れただろう。

RTX-1200設定

ひかり電話で使用しているフレッツ光のインターネット回線が、接続されずに遊んでいるそうなので、RTX-1200の設定弄って、メインのインターネット接続が障害で落ちた場合に、フレッツ光の回線を使うように設定した。

ip route default gateway pp 1 hide gateway pp 2 weight 0
ip lan3 address dhcp

pp select 2
description ntt
pp keepalive use off
pp always-on on
pp address 192.168.24.1/32
pp enable 2

と設定して、CTUの線をRTX-1200のlan3へ入れた。
RTX-1200はCTUのDHCPからIPアドレスを貰って、lan3インターフェースのIPアドレスが決定する。

自席のマシンから、ping 192.168.24.1 ってやると応答があるので、ちゃんとルーティングされてるっぽい。

非常時の回線として、一応、インターネット接続だけは確保できるが、VPNまでやろうと思ったら、CTUを取っ払って、ONUへRTX-1200を繋いでPPPoEとかでネゴればいいのかな?

しかし、VG820aを普通にRTX-1200にぶら下げて、ひかりオフィス電話が使えるのかよく分からん。多分、VG820aのパケットを、ONUのインターフェースを通るようにRTX-1200を設定してやらないと電話は使えないだろう。

あ、VG820aに固定IPアドレスを振って、
ip route 192.168.XXX.YYY/32 gateway pp 2
って設定してやればいいのか。

まあ、VPNを完全にバックアップ回線対応とするには、VPNの接続相手のルータ全ての設定やらないといけないから、お手軽にできるのは、CTUにぶら下げるところまでだな。

AHCI HotPlugを試す

Ubuntu 9.04 desktopでSATA IIディスクのHotPlugを試してみた。

挿した途端に、/var/log/messagesに認識されたログがでて、fdisk /dev/sdb もちゃんとできた。2台めの増設とか、RAID1の不良ディスク交換などは、AHCIなら無停止でできる訳だな。

あとやってみたいのが、RAID1で/dev/sdaがdegradeしたケース。
抜いたら /dev/sda が消えて、挿したら再び、/dev/sda が現れるのかな?

/dev/sdb になる場合は、抜き差ししても /dev/sdb として認識したから、多分、 /dev/sda でも大丈夫そう。

いつもは、VirtualBoxでシミュレーションしているが、SATA IIのディスクのHotPlugだけは、実機を使わないと試せないから、今の内にノウハウを貯めておこう。

YAMAHA RTX-1200のVPN

ここ二週間ほどRTX-1200同士で接続するVPNでのファイル転送が遅い問題と格闘していた。おかげで、結構YAMAHAのルータに詳しくなった 🙂

FTPで

本社→東京 30Mbps
本社←東京 300kbps

という感じで、片道だけ遅いという状況。

結局、東京のRTX-1200のPPインターフェースのMTUを1454→1400とてきとーに下げたら、遅いのが直った。

BフレッツMTUサイズ(1492ではなく1454の理由)

これによると、L2TPヘッダが付くので、MTUは1454で良いようで、インターネットの通信では特に遅い現象は発生していないので、問題は無いようだ。

しかし、VPNの時だけ著しい速度低下が発生し、尚且つ、MTUの値を下げれば改善するという事は、これはVPNのパケット送信時にdata fragmentが発生しているのではないかと予想される。

MTU1454byteって指定してるんだから、それに収まるようにやってくれているものとばっかり思ってたな。

問題は最適なMTUの値だが、1454byteで糞詰まり現象があったという事例が殆ど無いので、何が最適値なのかさっぱり分からない。

パスMTUディスカバリブラックホール問題」とは:ITpro

なんて、相当古い話だし、VPNの話とはいえ、今更、こんなのに悩まされるとは思ってもみなかった。

RAID mdadmメモ

マシン起動時に、RAID1を構成するハードディスク2台中1台がdegradedになってる時、mdadmdで、「不良ディスクがあるけど起動するか?」って聞いてきて、’y’を入力しないと、コマンド待ちで止まってしまう。

これでは、稼働率が落ちてしまうので、入力待ちにならないようにするには、
echo 1 >/sys/module/md_mod/parameters/start_dirty_degraded

とやれば良い。

RAIDの状態がおかしくなっていれば、どの道、mdadmdにより、メールが飛ぶから分かるし、対処するまでは稼働し続けるのが望ましい。

Java Appletテスト

Java は結構面白いな。ブラウザクラッシュしたらスマン(^^;


Javaが有効じゃないから見せてやんない(´・ω・`)



このブログの文字コードはEUC-JP、Appletの中身の文字コードはUTF-8で書いたけど、linuxのfirefoxだとちゃんと見えてる。

Appletの文字コードはEUC-JPになってるのかな?一体、どうなってんだろ?

【追加開始】
コードよく見たら、Graphicsクラスだよ(笑)。
表示された文字はイメージだから、文字コード関係ねー
【追加終了】

apacheの不思議

proxyを動かそうと思い、

sudo a2enmod proxy proxy_http proxy_ftp proxy_connect

とかやって、

/etc/apache2/mods-available/proxy.conf で

と設定したが、ブラウザのproxy指定でlocalhostと指定すると、Access deniedとか言われる。

とやって、proxy設定を127.0.0.1とやるとOK。

noizumi@bluewolf:~$ nslookup localhost
Server:        192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
Name:    localhost
Address: 127.0.0.1

だし、別におかしいところは無いとは思うが、

noizumi@bluewolf:~$ telnet localhost 80
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET http://www.noizumi.org/

だと、デナられる。

noizumi@bluewolf:~$ telnet 127.0.0.1 80
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
GET http://www.noizumi.org/

127.0.0.1の指定だと何ともない。

WHY?

で、今結果を見ていてハタと気がついた。

答えは /etc/hosts の中にあった。

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback

ipv6か。
ipv4の localhost とipv6の localhost は別物なのねん。

AVIC-ZH9000バージョンアップ

フルバージョンアップした。リビングキットを使い、スマートループ利用者は、インターネットからファイルを取得して無料でバージョンアップできるから、利用しない手はない。

予約制で、予め予約しておいて、その時間帯にバージョンアップしろという事で、先週予約したら、かなり予約が埋まっていて、今日になった。

アップデートマネージャというツールでバージョンアップするのだが、ネットからバージョンアップファイル11GBをダウンロードして、ナビのブレインユニットに転送するというバージョンアップ手順。

予想所要時間36時間49分とか出てて(゜Д゜)ハァ?という感じ。
ダウンロードが11:00から開始して、22:10頃終了。実際には11時間10分程度だった。

「ダウンロード転送を同時に行う」にチェックを入れていたので、ダウンロード終了毎にブレインユニットへの転送を行っていたが、これをやっていなかったら日付が変わっていただろう。