SVX日記
2005-01-13(Thu) PICマイコン根性の動作
昨日に引き続いてYRPに出勤。なんと午前中に早くも予定の仕事がコナれてしまった。午後はウニャウニャ気分で来週分の仕事に着手。定時にはウルトラマキシムハイパーグレートビッグストロングターボダッシュスペシャルを発動。瞬時にホテルYRPにチェックインだ。
あまりに早かったため、晩飯を食おうと予定していた光龍というラーメン屋が開いていない。開店早々に行くのも五時半族(豊田高専語)っぽくてカッコ悪いので、18時頃に行ってミニギョーザセットを食った。まぁうまい。
昨日はダラダラと過ごしてしまい、232メモリの開発がサッパリ進まなかったので、今日はミッチリと作業を行うべく机の上をセットアップする。ホテルYRPは部屋の照明もシッカリ明るく、デスクには電気スタンドも完備で、コンセントも多く、超高速ネット接続だからして、まことにデスクワークがハカドるコトこの上ない環境である。いえーい。
しかしイカに環境が素晴らしくてもハマるときはハマるのがこの世のサダメである。現在はPIC単独で、外部EEPROMに対して正しくI2Cプロトコルを発行する様子をオシロで確認するという目的で作業を行っているのだが、これがサッパリ動作しない。シミュレータではシッカリと動くことを確認しているのに、現実のPICは非常に珍妙な波形を繰り出してくるのである。
つーか、ナニよコレ。3.0Vロジックなのに、なぜか1.5Vで安定する期間がある。波形もナマりまくりだ。別にアナログロジックじゃないんだけどなぁ。あまりにも珍妙な動きなので、コード的にはスタートコンディションを発行するダケという単純なレベルにまで落としてオシロを適用しているのだが、クロックだけならチャンと波形が出るのに、データとのコンビネーションにするとLOWにした直後にポョンと1.5Vまでハネ返ってしまうのだ。うがー、ワケわからん。
原因がわからないので、直接GPIOのビットをSET(bsf),RES(bcf)で操作するのをヤメLD(movwf)でGPIOに書き込むようにしてみたり、NOPで操作間隔を長めに調節してみたり、毎回TRISをセットしてみたりしたのだがサッパリ効果なし。何度もコードを書き換えてはオシロでチェックするのだが、PICライタとosziFOXはシリアルポートも電源アダプタも共用であるため、ケーブルの繋ぎ替えやアプリの上げ下げが超面倒。そのまま6時間ほどベッタリとハマり続けでいい加減イヤになってきた。
仕方ないので今日はアキらめて寝るかという頃合に、なにげにオシロを電圧計モードにしてPICの電源ラインをチェックしてみた……2.7V……低い……よな。電源には単3電池x2を利用しているのだが、まだ2.9Vは確保されている……っと×◎は△に〆※っ○ッ!!
恐ろしいことにPICのVddがオープンだったのである。なんでッ!? Vddがオープンでナゼ動くッ!? Vssはグランドに落ちている。すると1kΩプルアップしてあるポートから流れ込んだ電流で動作していたというコト? PICにつながっている正圧はソコしかないのでそうとしか考えられない。そりゃ動作が不安定なワケだ……。
2007-01-13(Sat) バックアップのためのRAID1
昨晩、半徹したので遅い朝ながらも、しばらく前にようやく歩き始めたウチのガキのイッペイの相手をしつつ、隙を見て本格的にサーバをバラしにかかる。なかなかしっかりした作り。本機は電源ファンがケースファンを兼ねる構造になっているが、非常に理にかなった空気の流れが作り出されるような配置になっている。感心。
しかし、バラせばバラすほど、どこにも作りが特殊な部分は見つからない。フツーのATAのHDDが、マスター設定で、プライマリ側につながっている。マザー上にも特にヘンな接続はない。COM2が前面のLCDパネルにつながっているのと、PCI上のギガ蟹のLEDが前面パネルに引き出されているくらい……となると、BIOSの中身が特殊? それは、あまり考えたくはないが……。
バラした状態でいつまでも眺めていてもどーしよーもないので、元通りに組み立てる。もう一度レスキューモードで上げて、grub-install……うまくいかない。どーしても、RAID1からシステムを起動したいんだけどなぁ……どーにもうまくいかない。
悩み続けていても仕方ない。フツーにインストールしてみよう。改めてフツーにインストールする。パッケージは最小。あれ? 動く? 起動するじゃん!? とりあえず、ちょっと安心。これでインストールできなかった日には、いきなりNASがレンガに変身するところだ。
ソフトRAIDを妙な設定にしたのが原因なんだろうか? となると、この状態から、システムをミラーリング状態に持ち込まなければならないことになるが……と、ココらあたりで、なんでHDDを1台しか搭載していないサーバで、そんなにオイラがミラーリング構成を組みたがっているのか説明しておこう。
- サーバの停止を伴うか、バックアップの所要時間はどれくらいか
- バックアップファイルの形態、利用が容易かくて
- バックアップに必要な容量、履歴管理が可能か
で、2番目の条件も重量。Linux標準のdumpでバックアップすると、1個のデカいファイルになってしまう。テープにバックアップするのが前提ならそれで仕方ないが、ちょっと昔のファイルにアクセスしたいだけなのに、バックアップの目録を見ながら個々にファイルを書き戻してから……なんぞウザくてやってられないッ!!
この点、平時はRAID1の片肺を「崩した状態」にしておき、バックアップを取りたいときにUSBのHDDを接続して「RAID1の復旧」を行い、RAID1の再構築が完了したところで「片側を切り離す」というバックアップ手法を取れば、システムに負荷をかけることなく、無停止でバックアップを行うことが可能なのである。たぶん、RAID1の切り離しはATOMICに行われるであろうからバックアップはスナップショットにほかならないし、なんといっても、切り離したディスクはそのままmount可能な形式なのである。この扱いやすさは最強だ。おまけにバックアップの進捗を/proc/mdstatでビジュアルに監視できる楽しさもある。
世間一般では、スナップショットならLVMを使うのが素直であるが、いまだLVMの安定性には問題がある。また、接続しっぱなしでRAID1運用するという手もあるが、接続しっぱなしだと落雷で同時に破損する可能性は避けられない。やはり平常時は切り離しておきたい。切り離しておけば電力も食わないしね。
ちなみにこのバックアップ法は最後の条件には不適である。んが、どうせオイラは数週間に一度くらいしかバックアップしないだろうし、履歴管理したければ改めてDVD-Rに書き出せばいいのだ。そのために、パーティションサイズはあらかじめ4GBに設定してある。
と、RAIDを組みたい理由はそんな理由なのだが、どうにも既存のインストールを、うまくRAID状態に持っていくことができない……つーか、そもそも最初にソフトRAIDでのインストールした際に起動しなかった理由がわからない……ダメモトでもう一度やってみる? えぃ……
……な、なんだ? 最初と同じ手順で作業したはずなのに(そもそもRHEL4のインストールの際、そんなに多くの選択肢はない)見事にRAID1から起動できてしまった。そういえば、昨日はメモリチェックが始まらなくて強制リセットかけたりしてなんだか安定しなかったが、今日は非常に安定している……慣らし運転じゃないが、どこかしらのエージングが進んで動作が安定してきたのだろうか? まぁ、特に電源とかはロジカルなパーツではないから、あながちありえない話でもないだろうが。
# mdadm --manage /dev/md0 --fail /dev/hda2
# mdadm --manage /dev/md0 --remove /dev/hda2
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda1[0]
4192832 blocks [2/1] [U_]
# mdadm --manage /dev/md0 --add /dev/sda1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[1] hda1[0]
4192832 blocks [2/2] [UU]
# mdadm --manage /dev/md0 --fail /dev/sda1
# mdadm --manage /dev/md0 --remove /dev/sda1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hda1[0]
4192832 blocks [2/1] [U_]
# mdadm --create /dev/md1 --level 1 --force --raid-devices=1 /dev/hda2
# mdadm --grow /dev/md0 --raid-disks=3
Personalities : [raid1]
md0 : active raid1 sda1[1] hda1[0]
4192832 blocks [3/2] [UU_]
# mdadm --manage /dev/md0 --add /dev/sda2
Personalities : [raid1]
md0 : active raid1 sda2[2] sda1[1] hda1[0]
4192832 blocks [3/3] [UUU]
2024-01-13(Sat) 秩父ドライブ
帰りは行きのように塩尻経由ではなく、秩父を抜ける。最初の経由地は長瀞。「MOTER MAN 秩父鉄道」の「長瀞だけにトロトロ走っております」とか「イジらないで、長瀞さん」とかで、妙に心が惹かれる地名なんだよな。「岩畳」という案内が気になってそれに向かってクルマを走らせる。朝早いので道はスカスカだ。「岩畳」とは道路ではなくて、河岸が石のカタマリになっているという意味なんだな。寝覚の床みたいな場所だ。近くまで行ったもののどこも有料駐車場なので降りずに雰囲気だけ楽しんで後にする。そのうち改めて訪れたい場所だな。
秩父の町を抜けて先へ。以前から「三峰口」って不思議な終端駅だな、と思っていたのだが、神社への観光用の駅だったのだな。雰囲気のいい山岳道路を進み、国道140号を南ルートへ向かう。今回のメーンイベントは故駒ヶ滝隧道なのだ。手前の駐車場に駐めて周囲を散策する。隧道の入り口は塞がれていて、道路はごく普通に先に伸びているが、GoogleMapで事前にチェックしていた自分にはその道路がなかった頃の景色が重なって見える。ちょっと横から見ればだいぶ無理して作られた道路だということが見て取れる。うーん、この隧道は通ってみたかったなぁ。2013年に閉鎖じゃ、通るチャンスはなかったけれど。
さらに旧道を抜けて雁坂トンネルへ向かう。すごく立派なトンネルなのにほとんど交通量がない。青函トンネルを思い出させるな。手前のパーキングエリアでも「実は雁坂トンネルはお得!使って!」的なチラシを見かけたが、ETCも使えないし、なんか負け戦的なヤケクソを感じさせる。通ってみると何てことはない普通のトンネル。いや、線形が直線過ぎて半分くらいからもう出口の光が見えてしまうのは珍しいかもな。
雁坂トンネルを抜けたところにある「道の駅みとみ」で小休止。まだ11時前だったので、先に進んでから飯にしようかと思ったが、6時過ぎに食ってるんだからちょっと早めでも悪くない。「ほうとう」を出す店もあるし、空いてるからここで食ってしまうか、と早い昼飯にすることにした。
ここは「ほうとう」に「宝刀」という字を当てているが、これは諸説あるうちのひとつらしい。カッコイイけどカッコよすぎるなぁw。とか考えているとブツがきた。デカい。具も多い。が、普段から燃費の悪い生活をしている胃袋持ちなのでペロリである。特段の感動もなかったが、ウマかったな。