Last Modified : | 01/20 19:41 |
Access : | |
tds mode : | [static,site,cache:on] |
ifconfig fxp1 link0した。
fxp1: Microcode loaded, int_delay: 1000 usec bundle_max: 6
と出てくる。sysctl -a で調べると hw.fxp0.int_delay, hw.fxp0.bundle_max といったカーネル変数にこれらの値が入っているのが確認できた。
FreeBSD-3.5.1Rの時点では実装されていない。
man fxp より引用。こっちのが詳しい。細かいパケットがばかすか飛んでくるような環境で割り込み回数を減らす効果があるということかな。
Certain versions of the i8255x support loading microcode which implements a receive interrupt mitigation function, known as ``CPUSaver''. Use of this option can improve performance in some situations by reducing inter- rupt load on the host. This option is available on the following chip versions: o i82558 step A4 (rev 4) o i82558 step B0 (rev 5) o i82559 step A0 (rev 8) o i82559S step A (rev 9) o i82550 (rev 12) o i82550 step C (rev 13) This option is enabled by setting the ``link0'' option with ifconfig(8).
NetBSDの方に先に実装された雰囲気濃厚。
12月24日の状態そのままで通信できるようになってた。great!
MR104DVから複数地点へのトンネル作成はできない模様だが、3万円なんだからそこまで要求するのは酷だ。スループットの計測はこれから。 置いてあるのが自分とこじゃないので最初の試験としては不便だ…
IC35L040AVVNの仕様を調べるのにAKIBAWatchからIBMに飛んだら「Hitachiに統合されたぜよ」というツレナイページに。
FAQにパーティションidを165から169にしろ、とは書いてあるがインストールの時点での作業については書いていない。
Warning:'DOS' is reserved. DOS パーティションテーブルを消すには、ディスクの先頭セクターを消去します dd if=/dev/zero of=/dev/wd0d bs=512 count=1
を実行してまっさらなところからはじめないとどうにもならなかった。インストーラからshに落ちるとddコマンドが使える。
香港のホテルに備え付けの高速インターネット接続。途中のNATに仕掛けがあって認証しないと外に出れないシステム。240kbps だった。 HUBで接続したマシンも別途認証が必要だったが、sshでhttp/pop3/smtpトンネルを作って1台で済ませた。
当初は昔のようにiPassで接続しようと思ってたんだけど、 iPass 接続用ソフトウェア を日本でダウンロードし忘れていてどうしたもんかと飛行機の中で悩んでいたのだった。
いつもの銅羅湾店に行ってみると店がなくなっていた! 尖沙咀店に行ってみると日本人が3グループぐらいいて狭い店内が混みあっている。 それほど高くない鉄観音とプーアルを調達した。
ドキュメントやmanによると自動再接続することになっているのだが、突然接続が落ちてそのまんまになることがある。 以下のようなスクリプトを5分ごとに起動するようにしてみた。
#!/bin/sh PATH=/sbin:/usr/bin:/bin:/usr/sbin iface=pppoe0 ifconfig $iface | fgrep -q 'inet 0.0.0.0' case $? in 0) ifconfig $iface down ifconfig $iface up ;; esac
いわゆるブラックリストでメールを遮断する仕組みらしいのだがやたら範囲が広いつーかダイアルアップ回線は全部ダメ〜みたいな。エラーメールに含まれるのは以下の通り。
rcpt to: <xxxxxx@xxxxxxxx.co.jp> 553 Dynamic IP range listed by Wirehub! Internet DynaBlock - http://dynablock.wirehub.net/errors.html
日本のサイトに関してはかなり大雑把に登録しているようで指定されると届かないサイト多数かと…
but a typo in the zonefile got it blocked anyway. Solved now.
NSレコードの片割れがdjbdnsキャッシュ移行の時に返事しなくなってた。 修正しつつ、そもそも削除すべきネームサーバーアドレスだったのでJPNICに申請…しようと思ったけどもはやJPNICそんなのしてないね。回線業者に頼むしかないんか。
SpamCopが有料になっとる。ぬぬー
VLIWに最適化された暗号化ルーチン搭載できたら結構いいかも。これでNetBSDベースのOpenBlocksみたいな奴作ってくれないかしらん。
dd if=/dev/zero of=/dev/wd0d bs=512 count=1 してからのインストールでインストール作業自体は完了したのにブートしない問題でずーっと悩む。 自力で fdiskやら cd /usr/mdec; ./installboot -f biosboot.sym /dev/rwd0a やらを使ってブートコードの書き込みをしても直らず。
BIOS起動画面をよく見るとPrimaryHDDが CHSモード、SecondaryHDDが LBAモードで認識されている。どっちも設定はautoなのだが BIOS設定画面からLBA固定に指定したら動いた。 ある意味BIOS画面をロゴ表示にしていたのが敗因。
BSDに触れられていないのは残念だが情報は豊富で便利。
BSDのパーティションも切れる…と書いてあるがよー分からん。LinuxはDOSパーティションと不可分なだけにLinuxのパーティションツールが一番進化している模様。
あいかわらずfdiskは分からなかったので、最初のディスクのMBRをそのままコピー。dd if=/dev/wd0d of=/dev/wd1d bs=512 count=1
さらに最初のディスクのディスクラベルを取り出して sudo disklabel wd0 > wd1.label 、cパーティションと同じ数値の aパーティションを作って *1 c,dのみ残して書き込み。
a: 80418177 63 RAID 0 0 # (Cyl. 0*- 79779) c: 80418177 63 unused 0 0 # (Cyl. 0*- 79779) d: 80418240 0 unused 0 0 # (Cyl. 0 - 79779)
raidctl -C raid0.conf raid0; raidctl -I YYYYMMDD raid0; raidctl -iv raid0 はドキュメント通り。最後の初期化のところでは raid0: Error re-writing parity! という エラーメッセージが出てくるが気にしない。
raid0 に対して以下のように書き込みたかったが、どういうわけか disklabel -R による復旧モードではうまくいかず disklabel -i raid0 で対話的に作成した。
a: 523264 1024 4.2BSD 1024 8192 86 b: 524288 524288 swap 0 0 0 c: 80417985 63 unused 0 0 0 d: 80418048 0 unused 0 0 0 e: 6291456 1048576 4.2BSD 2048 16384 86 f: 4194304 7340032 4.2BSD 2048 16384 86 h: 68883712 11534336 4.2BSD 2048 16384 86
newfs -b 16384 -f 2048 /dev/raid0e; newfs -b 16384 -f 2048 /dev/raid0f; newfs -b 16384 -f 2048 /dev/raid0h
移行用のコピーをするためにマウントする時には mount -o softdep を忘れずに。
fstabを編集するところは、 raid側のfstab、すなわち /mnt/etc/fstab を編集しないといけない。/etc/fstab を編集してしまってどはまり。 *2 raidctl -A no raid0 を実行して再起動するとraidは無効になっているので、raidctl -c raid0.conf raid0 でRAIDframeを起動する。
wd0 をraidの片割れにするには元々 wd1 用に利用した disklabelのテンプレートがあるのでそれを利用する。disklabel -R -r wd0 ./wd1.label; raidctl -a /dev/wd0a raid0。 この時点で raidctl -s raid0 を実行すると以下のような表示でスペアとして wd0a が登録され、 wd9a が component1 という名前になっているのが分かる。 *3
Components: /dev/wd1a: optimal component1: failed Spares: /dev/wd0a: spare Component label for /dev/wd1a: Row: 0, Column: 0, Num Rows: 1, Num Columns: 2 Version: 2, Serial Number: 20030115, Mod Counter: 171 Clean: No, Status: 0 sectPerSU: 128, SUsPerPU: 1, SUsPerRU: 1 Queue size: 100, blocksize: 512, numBlocks: 80418048 RAID Level: 1 Autoconfig: Yes Root partition: Yes Last configured as: raid0 component1 status is: failed. Skipping label. /dev/wd0a status is: spare. Skipping label. Parity status: DIRTY Reconstruction is 100% complete. Parity Re-write is 100% complete. Copyback is 100% complete.
とここまでやって再起動したら カーネルが読み込めずブートしない。RAIDパーティションを設定するときにオフセットを1008にするというところにヒミツがあるんかー?
Re: Installing onto raid1 を改めて読むと disklabel -I を確実にやれというようなことが書いてあるのでインストールCDROMで起動してやってみたけど復旧せず。最初からやりなおしか?
MBRに書き込まれているfdiskパーティションを disklabel の形式で出力するツール。 NetBSDにおけるfdiskパーティションは BIOSからのブートの時にのみ利用していて、disklabelとは独立している。関連はかなり薄い。disklabel -i -I wd0d とかやってdisklabelを作成した後、 ルートパーティションの位置を fdisk パーティションに書けばブートしてくれる。fdiskで書き込まれているパーティションサイズはほとんど関係がない。 LBAモードで起動する限りはシリンダの境界にこだわる必要もあんまりないかも。(DOSと共存するときはいろいろ考えないといけないけど)ということらしい。
fdiskの設定でRAIDの設定の書いてあるセクター分を足してあげないといけないのかなーと調べてみたら /usr/src/sys/arch/i386/stand/lib/biosdisk.c にこんなのが書いてある。
if (lp->d_partitions[partition].p_fstype == FS_RAID) d->boff += RF_PROTECTED_SECTORS;
少なくともRAIDの先頭に a パーティションを作っておけば、BIOS的にはRAIDパーティションを指定してブートしてくれる模様。
フレッツグループアクセスが都道府県越えられたら確かに商売上がったりだよなあ。 距離に応じた課金のシステムがないというのはそれはそれで悩ましい。
/usr/mdec/installboot -b 16 /usr/mdec/biosboot.sym /dev/rwd1d
の意味するところは、第16セクターにブートプログラムを配置して fdiskも書き換えてしまう。fdiskパーティションサイズはかなり変だが、他のOSとの共存を考えないのであればブートするようにはなるはず。
disklabelも書き換えてしまうらしい。特にcパーティションの開始セクターが重要。wd0c等の場合のデフォルトの開始セクターは63だが、 RAIDframe化した場合のwd0cの開始セクターは0でないとダメ。disklabel -r wd0d で何度も確認する。 *1
再起動すると必ずParityがDIRTYになる原因はミラー化されたボリュームにswapパーティションのせいではないかと推察。
ミラー化されたボリュームにswapパーティションがあるのも無駄なのと、swapパーティションをミラーの外にしておけば ドライブ毎の容量の微妙な差異を吸収できるはず *1 なので、wd0的には RAID+swap の2パーティションで構成することにする。 またディスクの先頭の方が読み書きが速いため、raid0の中は / → /var → /home → /usr の順でパーティションを切った方がちょっとだけいいような気がする。
この構成でParityがDIRTYになる問題は解決した。
起動時に savecore が raid0b がdumpデバイスに指定されてるけどそんなんないぞ、と文句を言う。
swapctl -D /dev/wd0b とやると一時的に設定されるようだが保存してくれない。savecore 実行する前にやらないとダメかな。
primaryHDDにつながっているコネクタをsecondaryHDDに刺して、secondaryなし状態で起動すると無事そのまま立ち上がった。 *2
そのままprimaryHDDにコネクタを戻してsecondaryなし状態で起動しても立ち上がった。
更にsecondryを元に戻すと何事もなかったかのように起動したが、同期が取れてなくてまずいはずなので、 raidctl -R /dev/wd1a raid0 コマンドを実行。これだけで wd1a 側をマスターとして再構築を開始してくれた。 ちなみに40GB弱で16分前後で再構築が完了する。ずいぶん速いなあ。
FreeBSDではできなかったルートパーティション含めてのミラーリングがこれで完了。どっちのディスクが故障してもすぐに復旧できるぞ。素晴らしい。
細田守 演出、香港に行っている間の放映であったか。
手を温めるシーンなんか涙腺直撃ですよ。ぐわー。 みんなで音楽演奏するというストーリーは若干ずるいという印象を持ちながら見てたけど、それを補って余りあるええ話でした。
価格comで5万円弱。HDTVをiLink経由でデジタル録画するためだけのマシン。アナログVHSには期待できないらしい。SVHSじゃないし。
NBAオールスターの放映までにはなんかHDTV録画できるメディアを調達する予定。とりあえずハードディスクを40GBばかし埋めてもいいんだけどね…
間もなく後継機種が出る模様。2月上旬に間に合うかどうかは微妙。1週間ぐらい待ってみるか。
うーん危険だ。少し頑張ればRecPotからもホエホエできそーな気がする。
ログイン後IP逆引きに失敗するまで待っていた。
IPv6逆引きの設定で ipv6.int → ip6.arpa の移行をしていなかったのが原因だったので named.conf にエントリを追加して完了。 IPv6逆引きのゾーンファイル作成は面倒なことこの上ないので支援ツールが欲しい。
MACアドレスで自動生成される奴は登録しないでサービス用IPだけ書くのがいいような気もするが。それだったら連番にすればいいのか。 ns0.v6.ntt.net は 2001:218::53 とかになっている。
RELEASE_5_0_0 タグが打たれていた。
NICを追加すると、追加したNICがfxp0で、従来のfxp0,fxp1→fxp1,fxp2 とインターフェース名が変わってしまう。これぐらいは以前からあった現象なのでともかく、 どういうわけか内蔵の2つ目fxp2がたまに認識に失敗する。エラーメッセージは NetBSD unable to map device registers
PnP周りくさいのでman pcibios に書いてある通りにカーネルオプションを追加してみた。 BIOS設定画面でPnP OSがYESになっているとそうなるらしいが、このマシンでは選択肢がない。
日本のサーバからはどーにもひっぱってこれそうにないので、ドイツから取得開始。ローカルにCVSupサーバ上げないといかんなこりゃ。 別にcurrentを追いかける気はないんだけど、セキュリティパッチ出た時にすぐに持ってきて複数マシンに展開する体制が現在の悩みどころ。
FTPサイトにある /pub/NetBSD/NetBSD-release-1-6 の下をもってきてそれでインストールすればセキュリティパッチの当たった状態になる。 インストール用tarballならこれを使うのがよさげ。
wget -m ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-release-1-6/ してみたがFTPでファイルをばらばらに持ってくるのはちょっと無駄を感じる。 …って ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-release-1-6/tar_files/src が塊りなんやん。しまったー。 あとは pkgsrc だけだな。
現在 ring.asahi-net.or.jp に置いてある pkgsrc.tar.gz がこいつ適用前のものらしく以下のようなエラー出しまくり。
make: Unclosed variable specification for PKG_TOOLS_BIN make: Unknown modifier ''
cvsupもなかなかうまくいかんし、12月のもので作業してしまおう。
NetBSDだとここのが最速。 cvs -d :pserver:anoncvs@cvs.plathome.co.jp:/cvs/netbsd checkout -P pkgsrc でやっと取れた。 *1
pkgsrcのリポジトリを引っこ抜くのだと rsync -vrzt --delete rsync://rsync.plathome.co.jp/pub/NetBSD-cvs/main/pkgsrc/ /var/ncvs/cvsroot/pkgsrc/ かな? pkgsrc.tar.gz がまともならそれでいいんじゃが…
pkg_chk -u で、FreeBSDの portupgrade -a と同じような感じ。動作が速いのは単にpkgsrcに収録されているソフトが少ないせいだろうな…
IDEミラーリングユニット。Macだとブートしたりするのかなー。 ここからダウンロードした User's ManualにはMacOS9でも動作すると書いてあるが、内蔵型と共用のためちと不安。
ただの外付け型 はIDEケーブルを外に出すという強引技。ちなみにHDDデュプリケータとしても動作するらしい。
Q:HTML 4.01 において 慣習的に使われている alt 属性による「画像を説明する為のポップアップ」が なぜ Nestcape 7で表示されず、title 属性でテキストを指定するとポップアップで表示されるようになったかを詳細に述べよ。
確かに Phoenix0.5 だと表示されないぞ。
Netscape7以上だったらHTML中にあるすべてのIMGタグのalt属性の文字列をtitle属性に設定する奴でも作ろうかと一瞬JavaScriptのドキュメントを読み始めたが、 うぇぶでざいなー方面にこんなの出回ったらHTML文法オタに刺されそうなので止めた。 *1
ADSLもない田舎に就職するので壊れにくいノーパソでも就職祝いにしようかという話が親からあり価格調査。ThinkPadしか眼中にないけど。
kakaku.comにて A30p 2653-65J の値段が強烈。今買うんだったらこれしかないすな。某所の「ThinkPad R31-1HJお買い上げの先着20名様に、ThinkPad 701Cのプラモデルを進呈中」も捨てがたいが… どーせメール・うぇぶ・Word・Excelマシンと思われるので R31 で十分なんだろうけど液晶がへぼいノートは嫌だしなあ。