玄箱。


玄箱でWebmin。
玄箱のファームウェアアップデートとshutdown。

そのうちもう少しまともなフォーマットのページにしたいけど予定は未定。
このページは解説とかではなく、個人的な運用メモみたいなものなので、参考にされて困った事になっても責任もてないのでそのへん自己責任でよろしく。

玄箱入手

 小さくて電気喰わないサーバが欲しいなあ、と常々思っていた。
 現在常時稼動しているサーバは reginleif。Celeron1.4GのLinuxマシン。maicroATXのブック型筐体なのだが、サーバとしては ntpと 内向きDNSとレンタルサーバのログの自動収集とファイルサーバくらいしかさせていない。内向きDNSも一時期8台くらいのマシン(P5-200とか5x86-133とかK6-450とか)を常時稼動で宇宙人を探していた頃の名残で、無くても何とかなるのだが。(ちなみに現在の宇宙人探しマシンはCeleron1.4GとP4-2.4Gに収束。8台体制より計算力は上 ^^;)
 IBMの名機、PC110を使ってもみたのだが、ファイルサーバは結局別に用意しなければならないので、いまいち。

 そんなこんなの2003年末、BUFFALOの LinkStationが Linuxで動いていて、ちょいと箱を開けてあれこれすれば LinuxBoxになることを知った。予算的にも悪くない選択だ。
 年明けに HD-HG120LANを購入。
 ギガビットのにしたのは、HDDの中身は適当なLinuxBoxで吸い出して交換可能である事が分かったから。それなら長く使うこと前提で。
 ところが適当なLinuxBoxが用意できず、しばらくそのままNASとして使っていた。reginleifはちょっと引っ張り出すのに苦労する場所に設置してあったし、他の眠っている旧maev(Plamo2.?)ではEXT3をmountできないよーな気がしたし。
 そんなこんなで Knoppixとか試していたのだが、玄箱が発表された。
 とりあえずいじくりまわすならこっちの方がいいじゃん、という事で予約に走り、初回出荷分を入手した。HD-HG120LANはそのままNASとして使用することに決定。


 玄箱に、データ格納用に使用していた80G-HDDを搭載してマニュアル通りに設定。あっさり完了。

 玄箱のシステムはセキュリティに問題があるということは分かっていたが、外に公開するような目的で使うつもりは無いので、このまま使うつもりでいた。
 いたのだが。


ntpサーバ

 付属のCD-ROMにパッケージがいろいろと収録されている。
 ntpサーバは ntp-4.0.99g.tar.gzか。
 tarボールに見えるので、どかっと展開して、/etc/ntp.confを作成。とりあえず手動で ntpdを起動。
 一応動いているように見えるのだが、 ntpq -p の結果に*が付かない(時刻が同期しない)。同期するのには時間がかかるので一日放置したけども、駄目。
 reginleifではきちんと時刻同期しているので、ネットワークや ntp.confの問題は考えない。
 ntptimeコマンドを実行すると、エラーが帰ってくる。このせいか?

 CD-ROMには gccとか makeとかも一通り入っているので、自力でコンパイルしてみる。
 ntpd、xntpdをコンパイルしてみたが共に結果は同じ。
 玄箱のシステムの方の問題だろうか?


Vine化

 考えるのがめんどくさくなってきた(考える事が出来るだけの知識が無い)ので、LinkStation HD-HLAN シリーズ/玄箱 ハックキットを導入することに決める。
 Vineは使った事は無いが、今回は Xで動く管理ツールがあるわけでなし、SlackWareと Plamoで育ったので設定ファイルを直接いじる事に抵抗は無いのでなんとかなるだろう。それに apt-getは魅力だ。<本音

 週末にお願いして、週明けにCD-ROM到着。感謝。
 玄箱単体で Vine化を試みるが、上手くいかないので Knoppix3.2を引っ張り出してきてこの上でfdiskから。ちなみに単体で上手くいかなったのは私のポカミスだった模様。パーティション操作のミス。

 ざっとパッケージを展開した後、IPアドレスとかDNS設定とかの設定ファイルを修正。
 仮組みして起動。
 無事起動。telnetでログインもできた。
 が、電源ランプが点滅しっぱなし。そうこうするうちに DIAG LED が点滅してシステムが落ちた。
 BUFFALO LinkStation をハックしようで読んだ覚えのある症状なので、 ps -aux してみると、やはり ppc_uartd が動いていない。
 /etc/rc.d/init.d/ppc_uartd の修正 を見て、ppc_uartdを chkconfigに対応させて自動起動するように設定。
 ppc_uartd 関連の展開にハックキットの putlinkstationfiles.shを使用せずに、自力でコマンドプロンプトから展開したのが原因。
 スクリプトの内容はきちんと確認しよう。


ntpインストール

 apt-get install ntpd
 でntpをインストール。/etc/ntp.confを作成。とりあえず手動でデーモンを起動。
 しばらくしてからの ntpq -p の結果は

[root@kuro-box /]# /usr/sbin/ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+clock.nc.fukuok .GPS.            1 u   54   64  377   45.426  -2732.9 224.153
*clock.tl.fukuok .GPS.            1 u   52   64  377   60.745  -2745.9 232.456
+ntp2.jst.mfeed. mf-isdn1.mfeed.  2 u   50   64  377   20.509  -2741.3 218.982

と、きちんと同期印の*が付く事を確認。
 ふと気になって、ntptimeを実行してみる。

[root@kuro-box /]# /usr/sbin/ntptime
ntp_gettime() returns code 5 (ERROR)
  time c401987b.d2fa0000  Wed, Mar 17 2004  0:15:07.824, (.824127),
  maximum error 557678 us, estimated error 228364 us
ntp_adjtime() returns code 5 (ERROR)
  modes 0x0 (),
  offset 0.000 us, frequency 0.000 ppm, interval 4 s,
  maximum error 557678 us, estimated error 228364 us,
  status 0x1 (PLL),
  time constant 2, precision 1.000 us, tolerance 512 ppm,
  pps frequency 0.000 ppm, stability 512.000 ppm, jitter 200.000 us,
  intervals 0, jitter exceeded 0, stability exceeded 0, errors 0.

……あれ? やっぱりエラーだ。
[root@kuro-box /sbin]# ./hwclock --show
hwclock: 割り込み更新をオンにするための /dev/rtc への ioctl() が予期せぬ失敗に終
わりました, errno=515: 未知のエラー 515.
 hwclockもエラー。カーネルのRTC周りの問題??<適当な予測

 /var/log/messages に記録されている時刻が数時間ずれている事に気づく。9時間ずれてる? タイムゾーンの設定か。
 /etc/localtime の設定の問題。

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime

 と、リンクを張りなおす事で解決。
 普段インストーラーの質問事項にリターンキー連打でしかインストールした事しか無いので、このあたりの知識は皆無。勉強になるなあ。

 とりあえず ntpはこのあたりで様子を見ることに。

040319追記
 タイムゾーンの設定は、
# apt-get install timeconfig
# timeconfig
で設定するのが正しい流儀らしい。とりあえずこの手順で再設定。

 ntpdの動作だが、driftfileの中身が0.000のまま。ntpq -p の結果も offset が4桁と大きい。一応 driftfile のタイムスタンプは更新されていっているので、しばらく様子見。
 現時点での精度だが、Winマシンから ntpクライアントの桜時計で10分ごとに同期させてみると、約一秒進める、約一秒遅らせる、を交互に行っている。プラスマイナス約1秒で安定しているということなのだが、reginleifをntpサーバとした場合は、0.0x秒の誤差しか出ないので、精度はかなり劣る。
 せめて誤差1秒以下だといいのだが。……まあ現実問題として、約1秒の誤差で何が困るというわけでもないのだけど、気分的に。(^^;

 もう一台のHD-HG120LANの内蔵時計の精度を確認してみた。
 Webインターフェイスから読んだだけなのであまり正確ではないが、1時間で6〜7秒ずれる。ちょっと多すぎないか、これ?
 HD-HG120LANもバラして ntpくらい入れたほうがいいかも。
 その前に修正ファーム入れないと。それで追加されたりしてないかな?

040505
 ひさかたぶりにHD-HG120LANの内蔵時計を確認。思ったよりもずれていない。
 BUFFALOのファームウエア情報を見ると一日一回時刻合わせを行うらしい。ntpdateをcronで動かしているのかな。

040527
 久方ぶりにntpの精度検証。
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*clock.nc.fukuok .GPS.            1 u   74 1024  377   39.995   -0.162   0.699
+clock.tl.fukuok .GPS.            1 u  626 1024  377   44.328    0.101   0.065
+ntp2.jst.mfeed. mf-isdn2.mfeed.  2 u  116 1024  377   20.815    3.438   1.263
 以前に比べると、offset、jitter共に著しく小さくなっている。
 ntpは効力を現すのに時間がかかるとは知っていたが、玄箱ほどRTCが頼りない機械では、調整に月単位の時間がかかるということか。
 クライアントから10分ごとに調整をかけてみるが、誤差は0.0x秒の単位。reginleifと同等の精度。
 これでメインのntpサーバとして使用してもまったく問題なし。

040316
Samba

 Vineの sambaは 2.0なので、2G以上のファイルを扱えない。
 BUFFALO LinkStation をハックしようホームサーバ化その2:ファイルサーバを参考にして(というよりそのまま真似して)、samba-2.28a-jaを rebuildする。
 コンパイル速度はのったり。ThinkPad220(386SLC-20MHz)よりは早いが、旧maev(K6-450Mhz)よりは遅いかな。
 完了。が、なんか意図した動作をしてくれない。
 testparm でsmb.confをチェックしてもエラーは出ない……が、こんな設定ファイルに見覚えは無いぞ。
 smb.confの場所は /etc/smb.confではなく、 /etc/samba/smb.confというオチだった。

SWAT

 smb.confをいじるがすっかり忘れているので、SWATに頼る事にする。堕落堕落。
 日本 Samba ユーザ会のドキュメントを参考に /etc/inetd.confに以下追加。
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

 これだけで動作した。/etc/services には最初からswatの項がある模様。

/home

 sambaで使うために、ユーザ登録をする。が、/homeは /dev/hda1に作成されるので、容量が足りない。
 とりあえずユーザーのホームディレクトリだけ /dev/hda3(/mnt)に作成してリンクを張る。
[root@kuro-box /home]# ln -sf /mnt/hayasita /home/hayasita

 本当は /home全体を /mnt/homeとかにリンクした方がいいような気がする。
 とりあえず sambaはこれでしばらく使ってみることに。


 以下そのうちの予定は未定

LINK

玄人志向 玄箱をハックしよう
玄箱 Wiki


[index]
Copyright(c)2004 hayasita@@na.rim.or.jp
Last Updated:[an error occurred while processing this directive]