Mimori's Algorithms Diary

Last Modified : 01/20 19:41
Access :
tds mode : [static,site,cache:on]

2003/01/10 (Fri)

#1 [FreeBSD] fxp(4) on FreeBSD

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の時点では実装されていない。

#2 [NetBSD] fxp(4) on NetBSD

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の方に先に実装された雰囲気濃厚。

#3 MR104DV IPsecトンネル

12月24日の状態そのままで通信できるようになってた。great!

MR104DVから複数地点へのトンネル作成はできない模様だが、3万円なんだからそこまで要求するのは酷だ。スループットの計測はこれから。 置いてあるのが自分とこじゃないので最初の試験としては不便だ…

#4 10499歩

2003/01/11 (Sat)

#1 Deskstar 仕様

IC35L040AVVNの仕様を調べるのにAKIBAWatchからIBMに飛んだら「Hitachiに統合されたぜよ」というツレナイページに。

#2 [NetBSD] FreeBSDの入っていたマシンにNetBSD

FAQにパーティションidを165から169にしろ、とは書いてあるがインストールの時点での作業については書いていない。

@ FDISK (MS-DOS) パーティションの作成・変更

Warning:'DOS' is reserved. DOS パーティションテーブルを消すには、ディスクの先頭セクターを消去します dd if=/dev/zero of=/dev/wd0d bs=512 count=1

を実行してまっさらなところからはじめないとどうにもならなかった。インストーラからshに落ちるとddコマンドが使える。

#3 maginet

香港のホテルに備え付けの高速インターネット接続。途中のNATに仕掛けがあって認証しないと外に出れないシステム。240kbps だった。 HUBで接続したマシンも別途認証が必要だったが、sshでhttp/pop3/smtpトンネルを作って1台で済ませた。

@ iPass

当初は昔のようにiPassで接続しようと思ってたんだけど、 iPass 接続用ソフトウェア を日本でダウンロードし忘れていてどうしたもんかと飛行機の中で悩んでいたのだった。

#4 22213歩

2003/01/12 (Sun)

#1 31548歩

2003/01/13 (Mon)

#1 茶芸楽園

いつもの銅羅湾店に行ってみると店がなくなっていた! 尖沙咀店に行ってみると日本人が3グループぐらいいて狭い店内が混みあっている。 それほど高くない鉄観音とプーアルを調達した。

#2 17298歩

2003/01/14 (Tue)

#1 [NetBSD] PPPoEの自動再接続

ドキュメントや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

#2 8920歩

2003/01/15 (Wed)

#1 Wirehub! Internet DynaBlock

いわゆるブラックリストでメールを遮断する仕組みらしいのだがやたら範囲が広いつーかダイアルアップ回線は全部ダメ〜みたいな。エラーメールに含まれるのは以下の通り。

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そんなのしてないね。回線業者に頼むしかないんか。

@ dnsを使って参照できるspam対策用ブラックリスト(dnsbl)

SpamCopが有料になっとる。ぬぬー

#2 Transmeta、「Crusoe TM5800」にセキュリティ機能を内蔵

VLIWに最適化された暗号化ルーチン搭載できたら結構いいかも。これでNetBSDベースのOpenBlocksみたいな奴作ってくれないかしらん。

#3 [NetBSD] FreeBSDマシンへのインストールその後

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に触れられていないのは残念だが情報は豊富で便利。

@ GNU Parted の使い方

BSDのパーティションも切れる…と書いてあるがよー分からん。LinuxはDOSパーティションと不可分なだけにLinuxのパーティションツールが一番進化している模様。

#4 [NetBSD] RAIDFrame (失敗なので数値は参考にしないこと)

あいかわらず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で起動してやってみたけど復旧せず。最初からやりなおしか?

@ mbrlabel

MBRに書き込まれているfdiskパーティションを disklabel の形式で出力するツール。 NetBSDにおけるfdiskパーティションは BIOSからのブートの時にのみ利用していて、disklabelとは独立している。関連はかなり薄い。disklabel -i -I wd0d とかやってdisklabelを作成した後、 ルートパーティションの位置を fdisk パーティションに書けばブートしてくれる。fdiskで書き込まれているパーティションサイズはほとんど関係がない。 LBAモードで起動する限りはシリンダの境界にこだわる必要もあんまりないかも。(DOSと共存するときはいろいろ考えないといけないけど)ということらしい。

@ RAIDframe時のブート

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パーティションを指定してブートしてくれる模様。


*1:計算しなくて済む
*2:raidctl -A no raid0 を実行した後、シングルユーザモードで起動して手動で /usr,/var をマウント・/etc/fstab を復旧して元に戻した。
*3:実は初期の時点で raidctl -f /dev/wd9a raid0 を行っていたために failed という表示だったのかもしれない。

#5 KDDI社長会見「NTT東西の地域IP網県間接続には断固反対」

フレッツグループアクセスが都道府県越えられたら確かに商売上がったりだよなあ。 距離に応じた課金のシステムがないというのはそれはそれで悩ましい。

#6 7097歩

2003/01/16 (Thu)

#1 [NetBSD] installboot

/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


*1:installbootが書き換えるのはディスクの中のみで、in-coreは書き換えないため disklabel wd0d だと正しそうに見える。かなりハマリポイント。

#2 [NetBSD] swap on RAIDframe

再起動すると必ずParityがDIRTYになる原因はミラー化されたボリュームにswapパーティションのせいではないかと推察。

ミラー化されたボリュームにswapパーティションがあるのも無駄なのと、swapパーティションをミラーの外にしておけば ドライブ毎の容量の微妙な差異を吸収できるはず *1 なので、wd0的には RAID+swap の2パーティションで構成することにする。 またディスクの先頭の方が読み書きが速いため、raid0の中は / → /var → /home → /usr の順でパーティションを切った方がちょっとだけいいような気がする。

この構成でParityがDIRTYになる問題は解決した。

@ savecore

起動時に savecore が raid0b がdumpデバイスに指定されてるけどそんなんないぞ、と文句を言う。

swapctl -D /dev/wd0b とやると一時的に設定されるようだが保存してくれない。savecore 実行する前にやらないとダメかな。

@ ディスク故障テスト

primaryHDDにつながっているコネクタをsecondaryHDDに刺して、secondaryなし状態で起動すると無事そのまま立ち上がった。 *2

そのままprimaryHDDにコネクタを戻してsecondaryなし状態で起動しても立ち上がった。

更にsecondryを元に戻すと何事もなかったかのように起動したが、同期が取れてなくてまずいはずなので、 raidctl -R /dev/wd1a raid0 コマンドを実行。これだけで wd1a 側をマスターとして再構築を開始してくれた。 ちなみに40GB弱で16分前後で再構築が完了する。ずいぶん速いなあ。

FreeBSDではできなかったルートパーティション含めてのミラーリングがこれで完了。どっちのディスクが故障してもすぐに復旧できるぞ。素晴らしい。


*1:実際参考にしたサイトでは1.5G容量に差のあるHDDを使っていたわけだし
*2: HDDのジャンパー設定はCableSelectにしてある。ATA66ケーブルだったらCableSelectだね。

#3 どれみ どっか〜ん #49

細田守 演出、香港に行っている間の放映であったか。

手を温めるシーンなんか涙腺直撃ですよ。ぐわー。 みんなで音楽演奏するというストーリーは若干ずるいという印象を持ちながら見てたけど、それを補って余りあるええ話でした。

#4 HV-HD500

価格comで5万円弱。HDTVをiLink経由でデジタル録画するためだけのマシン。アナログVHSには期待できないらしい。SVHSじゃないし。

NBAオールスターの放映までにはなんかHDTV録画できるメディアを調達する予定。とりあえずハードディスクを40GBばかし埋めてもいいんだけどね…

@ HM-DH35000

間もなく後継機種が出る模様。2月上旬に間に合うかどうかは微妙。1週間ぐらい待ってみるか。

#5 D-VHSからのデジタルキャプチャ

うーん危険だ。少し頑張ればRecPotからもホエホエできそーな気がする。

#6 12097歩

2003/01/17 (Fri)

#1 [NetBSD] IPv6からのログインが遅い

ログイン後IP逆引きに失敗するまで待っていた。

IPv6逆引きの設定で ipv6.int → ip6.arpa の移行をしていなかったのが原因だったので named.conf にエントリを追加して完了。 IPv6逆引きのゾーンファイル作成は面倒なことこの上ないので支援ツールが欲しい。

MACアドレスで自動生成される奴は登録しないでサービス用IPだけ書くのがいいような気もするが。それだったら連番にすればいいのか。 ns0.v6.ntt.net は 2001:218::53 とかになっている。

#2 FreeBSD-5.0R

RELEASE_5_0_0 タグが打たれていた。

#3 [NetBSD] fxp2 を認識しない

NICを追加すると、追加したNICがfxp0で、従来のfxp0,fxp1→fxp1,fxp2 とインターフェース名が変わってしまう。これぐらいは以前からあった現象なのでともかく、 どういうわけか内蔵の2つ目fxp2がたまに認識に失敗する。エラーメッセージは NetBSD unable to map device registers

PnP周りくさいのでman pcibios に書いてある通りにカーネルオプションを追加してみた。 BIOS設定画面でPnP OSがYESになっているとそうなるらしいが、このマシンでは選択肢がない。

#4 [NetBSD] CVSup サーバー

日本のサーバからはどーにもひっぱってこれそうにないので、ドイツから取得開始。ローカルにCVSupサーバ上げないといかんなこりゃ。 別にcurrentを追いかける気はないんだけど、セキュリティパッチ出た時にすぐに持ってきて複数マシンに展開する体制が現在の悩みどころ。

#5 NetBSD リリース用語集と図

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 だけだな。

2003/01/18 (Sat)

#1 [NetBSD] Diff for /pkgsrc/pkgtools/pkg_install/Makefile between version 1.68 and 1.69

現在 ring.asahi-net.or.jp に置いてある pkgsrc.tar.gz がこいつ適用前のものらしく以下のようなエラー出しまくり。

make: Unclosed variable specification for PKG_TOOLS_BIN
make: Unknown modifier ''

cvsupもなかなかうまくいかんし、12月のもので作業してしまおう。

#2 ぷらっとほーむの Anonymous CVS Server

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 がまともならそれでいいんじゃが…


*1:pkgsrcについては真の最新版 (-current) 利用

#3 [NetBSD] pkgchk

pkg_chk -u で、FreeBSDの portupgrade -a と同じような感じ。動作が速いのは単にpkgsrcに収録されているソフトが少ないせいだろうな…

2003/01/19 (Sun)

#1 ARAID99-1000 外付け1394モデル

IDEミラーリングユニット。Macだとブートしたりするのかなー。 ここからダウンロードした User's ManualにはMacOS9でも動作すると書いてあるが、内蔵型と共用のためちと不安。

ただの外付け型 はIDEケーブルを外に出すという強引技。ちなみにHDDデュプリケータとしても動作するらしい。

#2 IMGタグの title 属性

Q:HTML 4.01 において 慣習的に使われている alt 属性による「画像を説明する為のポップアップ」が なぜ Nestcape 7で表示されず、title 属性でテキストを指定するとポップアップで表示されるようになったかを詳細に述べよ。

確かに Phoenix0.5 だと表示されないぞ。

Netscape7以上だったらHTML中にあるすべてのIMGタグのalt属性の文字列をtitle属性に設定する奴でも作ろうかと一瞬JavaScriptのドキュメントを読み始めたが、 うぇぶでざいなー方面にこんなの出回ったらHTML文法オタに刺されそうなので止めた。 *1


*1:つーか俺が若干HTML文法オタなんだけど

#3 妹パソ

ADSLもない田舎に就職するので壊れにくいノーパソでも就職祝いにしようかという話が親からあり価格調査。ThinkPadしか眼中にないけど。

kakaku.comにて A30p 2653-65J の値段が強烈。今買うんだったらこれしかないすな。某所の「ThinkPad R31-1HJお買い上げの先着20名様に、ThinkPad 701Cのプラモデルを進呈中」も捨てがたいが… どーせメール・うぇぶ・Word・Excelマシンと思われるので R31 で十分なんだろうけど液晶がへぼいノートは嫌だしなあ。


ジャンプ 検索
年月日 :
カテゴリー :
Title only
Ignore case
コメント
ハンドル : 名前記録
一言 :

[Management] [TdfEditor] [LogAnalyse]
Powered by Tomsoft Diary System 1.6.2
Copyright(C) 2003 by KAMIYA Satosi [Mail] <mimoriso@anet.ne.jp>. All rights reserved. このサイトはリンク上等です。