2010年7月30日

autofsとsshfsの組み合わせの覚え書き

たくさんのHDDを積んだファイルサーバを複数台ネットワークで接続して使っているため、autofsとsshfsを組み合わせて使用しております。
結構設定が面倒だったので、自分用に忘れない為の覚え書きとして記します。
検索エンジンとかで調べてもトラブル時の対応とか全然わかんなくて困ったし(苦笑)。
一応Debianでの事例につき、Debian及びUbuntu以外のディストリビューションについては微妙に手順や記述内容が異なるかもしれません。

sshfsをコマンドラインでの実行は
# sshfs -o fuse,allowother user@host:/dir
といった感じ。
ここまでのsshfs自体の導入の説明はしません。上述の様にすぐに接続出来る状態である事を前提にautofsでの設定方法を説明いたします。

autofsがすでにインストールされている段階であるとして
/etc/auto.master の記述は

/foo /etc/foo.sshfs --timeout 0 --ghost

/fooはローカルPCのmount先の1層上のディレクトリを記述。
このディレクトリは存在しない状態で構わない(autofsを動かすと作成され、止めると消されるため)。
foo.sshfsは適当な名前でよい。このファイルの内容についてはこの後説明する。
--ghostは実際にアクセスされるまでmountしない設定。--timeout 0は自動切断をしない。

/etc/foo.sshfs の記述(auto.masterで指定したものであればファイル名は任意でよい。ファイルは644あたりにしておくこと、755などの実行属性が付いていると正常に動作しません)

data --ftype=fuse,allow_other sshfs\#user@host:/dir

先頭のdataが実際にmountされるディレクトリになる。前述のauto.masterで指定した/fooの下層となり、実際には/foo/dataがmount対象となる。
--ftype=fuse,allow_otherはfuseを使用し、他のユーザでもアクセス可能にする意味。他にも読み込み専用であるroなどを付ける場合もある。
sshfs\#user@host:/dirの部分が接続先のホスト名、ログインユーザ名、対象となるホストのディレクトリを示す。要注意事項として、sshfs\#の様に#の前に\(バックスラッシュ)を入れないと、missing hostとなってしまい接続に失敗します。

これで、autofsを開始すれば/foo/dataへアクセスすると自動でmountしてくれるようになります。
なお、autofsでmountさせる場合は、/etc/fstabへの記述をする必要はありません。


2010年7月27日

落雷

関東では、茨城・埼玉・群馬が特に夕方の落雷・雷雨・ゲリラ豪雨がひどいのですが、今日は地元でも落雷・ゲリラ豪雨が発生しました。
駅からの帰り道で雨が降ってきたので、高架下で雨宿りしつつ、嫁に車で迎えに来てもらいました。
雨宿り中に高架の下にT字路があるわけですが、そのTの字の上側の方の街頭だけ数分消えました。どうやらそっちの方角だけ停電があったみたいです。

帰宅すると、停電の跡がありました。ルータとサーバにはUPSを付けていたので問題なく稼働したままでした。実家のサーバに繋がらないので、実家に電話すると、実家付近に落雷した為に多くの電気製品が故障したとの事でした。
その中にホームゲートウェイ(ルータ)が含まれていて、どうもネットと電話が出来ない状態に。エアコンや給湯器、TVブースターなども壊れたそうです。

実家の方のサーバ機もなんか起動しなくなったとの事なので後日回収して壊れたパーツを交換する事にします。あとUPSとかも導入予定。

うちの方は被害といえば、サーバルームの窓が開いていたために、雨が吹きこんで窓際のサーバ付近が水浸しになっていた位でした。ショートしなくてよかったとは思いますが、雑巾がけで済んだので良かったです。

実家は...
残念ながら甚大な被害がでてしまいました。保険とか入っているのかな?


2010年5月21日

ファイルサーバのアップデート

先日、自宅のファイルサーバの方をグレードアップしました。
せっかくですので、その辺のリポートをしてみたいと思います。

我が家では、自分用PC、嫁用PC、ノートPCの3台のマシンと、ファイルサーバ1台の合計4台のPCが設置されております。
一般的な家庭では、NASを設置していると思いますが、我が家ではデジタル放送の録画をかなりの量行っているため、HDDの消費が激しく市販のNAS装置ではコストがかかりすぎてしまいます。
そのため、PCをそのままNASとして使っている状態です。市販のHDD1~4台のNAS装置ですと、消費電力的にはコントローラユニット部分が専用設計となっているためHDD1台あたり7~10W程度となっております。
これはPCに比べると遙かに低い消費電力ではありますが、HDDの台数が増えてくると複数の装置を用意しなくてはならず、例えばHDD4台の場合20Wである所が8台では40W、12台では60Wと台数に従って消費電力が増えていってしまいます。
またコストパフォーマンスがとても悪く比較的安めであるKURO-BOX/T4であっても24000円ほどになります。HDD1台あたりにすると6000円です。装置3台用意すると60Wで72000円というコストになってしまいます。

さて、ここでPCによるNAS構築となるとどうなるかです。HDDのたくさん入るケースと、マザーボードとCPU、そしてメモリがあれば最低限のハードウェアは準備完了となります。
OSはlinuxを使えば無料ですのでコストとしては考えません。マザーボード+CPUについては現行の最低スペックのものであっても十分すぎるパフォーマンスですので、コストを抑える事を考えるとグラフィック機能を搭載したマザーボードの選択となります。
そして、マザーボードに搭載されているSATAのポート数が重要になってきます。intelのマザーボードですとコントローラで対応しているのが6portとなりますので、最低限6portのSATAが確保可能です。マザーボードによっては追加でSATAコントローラを搭載して更なるSATAポートをもったものもあります。

現在発売中のプラットフォームで考えると、LGA775とLGA1156、LGA1366とありますが、コストパフォーマンスからしてLGA1366は除外されます。LGA775とLGA1156での最低スペックで見るとCPUはLGA775のCeleronDC E3300とLGA1156のPentium G6950が該当します。記事を書いた日の時点で4500円、9000円程度という価格です。
LGA775の場合、G31/G33/G41などでマザーボードにオンボードでグラフィック機能を搭載しております。LGA1156ではH55/H57/などでCPUに内蔵のグラフィック機能の使用が出来ます。

今まで使っていたファイルサーバの構成ではLGA775のマザーボードを使用しておりました。現在ではこのクラスですとmicroATXのマザーばかりで、SATAのポートも6port実装しているものが全てではないため、拡張ボードを含めた最大HDD搭載数が(ポートマルチプライヤ除く)少なくなってしまいますが、導入した当時はATXのモデルや6port以上のSATAポートを持ったマザーボードがありました。
その中で選んだのがGIGABYTE GA-G33-DS3Rというマザーボードで、ATXサイズでSATAポートが6port+2port(JMicron)と多く、グラフィック機能もオンボードで持っているため拡張スロットが全て使用できる優れモノでした。PCI-Expressがx16とx1が3本という構成で当時としては豪勢です。
しばらくはこの構成で使っておりましたが、増え続ける録画ファイルによりHDDの台数が増え、合計8portあるSATAは全て埋まってしまいました。この後拡張ボードをPCIExpressバスに刺してつかっておりましたが、低価格なものですとPCI-Expressx1のものでSATA 2portと少ないので、SASカードの導入に踏み切りました。このSASカードもほとんどがRAID機能を搭載したもので高いので、RAID機能の無いものを購入しました。PCI-Expressx4でSATA 8port 16800円です。
これで最大16台のSATAが使える状態となっていましたが、その16台も厳しそうなので今回の本題になりました。

さてここで現行のLGA1156の方を調べていくと、マザーがどれもこれもmicroATXなのです。SASカードをガンガン刺して行こうと思ったら無理なんですね。またオンボードのSATAポート数も6portまでと残念仕様です。一部ASUSとMSIで8portのものがありますが、それでは今と何も変わらないので置き換えの必要も無いという感じでした。
なのでちょっと指向を変えて、どうせCUIしか使わないグラフィックなんだから余っているPCIスロットを使えばいいじゃない!という考えになりました。
最近ではPCI-Expressスロットでのグラフィックが当然の様になっておりますが、GUIを使うわけでもなくほとんどリモート接続のみで、いざというメンテナンス時のみCUIが使えればいいのですからPCIで十分なのです。
そうするとH55/H57である必要がないのでATXメインのP55となり選択肢が広がって二重丸です。
しかし、今更PCIのグラフィックボードを探すのは至難の業です。秋葉原中を探し回ってやっとこさジャンクのMatrox MilleniumG450のPCI版を見つけました。1500円でした。
当時は愛用していたMatroxにここで使うことになるとは思ってもみませんでしたね。

あとはマザーボードの選択です。最近はUSB3やSATA3などを搭載したマザーボードが出てきておりますが、ネットワーク上のファイルサーバである以上はSATA2あれば十分です。なのでSATA3である事よりもSATA2のportが大量にあるマザーを探しました。
という事で、12port持っている、GIGABYTEのGA-P55-UD5かGA-P55-UD6が候補になりました。すでにUSB3/SATA3を搭載した後継モデルが出ており型落ちとなり、入手がそろそろ厳しくなってくるであろうマザーになります。
基本的にほとんど仕様は一緒なので価格の安いGA-P55-UD5を買うことにして秋葉原の街をうろつきました。大体新品で16000~17000円で置いている店が数店。そんな中、じゃんぱらに未開封品が11800円で置いてあったので購入。G6950も中古でいいやって事で一緒に購入7980円(CPUの方は新品とほとんど値段変わらないですね)
メモリが手元に1GB×2余っていたのですが、2GBじゃちょっと心細い感じ。自分のメインマシンが2GB×2+1GB×2の6GBで、動画の編集をしているとメモリ不足になりがちだったので2GB×2を購入してメインマシンに付け、1GB×2を取り外し、余っている1GB×2と合わせて1GB×4として4GBを確保する事に。

という感じで新ファイルサーバの構成としては
旧:
Intel PentiumDC E2180
GIGABYTE GA-G33-DS3R
DDR2 PC2-6400 2GB×4


intel Pentium G6950
GIGABYTE GA-P55-UD5
DDR3 PC3-10600 1GB×4

という感じでおさまりました。
さすがに大量のHDDよりもSATAポートの方が多くなり、しばらくはHDDの増設を気楽にできそうです。

saba.png

DSC_0003_.png

さていままではCPUの処理速度的にネットワークでの転送はftpでも80MB/s程度が限界でしたが、新マシンでは100MB/s出ていい感じです。CPUも使い切る事なく余力を残しているのもGood!です。編集中の地デジ録画データがでかいので転送にちょうどよかった(笑)

ftp.png


2010年2月17日

Western Digital RMAで、WD15EADSがWD20EADSへアップグレード!

さて、先月末に3台まとめて行ったWestern DigitalのHDDのRMAですが、外付け2TBは12日に発送され、15日に届きました。WD15EADSと、WD3200BEVEは、pendingされていたので月曜に電話して聞いてみようとしたのですが「シンガポールの祝日にあたるため営業しておりません。」のアナウンスが流れるばかり。Wikipediaで調べる限りは祝日じゃないんだけどなぁ。とか思っていたら、どうやら毎年変動する旧正月だったみたいで、16日火曜日まで祝日でした。
んなわけで、17日水曜日に電話にてpending分について出荷予定を聞いてみたわけですが、旧正月明け初日なせいもあってが、電話が混んでいる。大体25分くらいはアナウンス聞きながら待っていたかな。音楽もループしまくりなんですが、3曲くらい違う曲に切り替わったかも。0120フリーダイヤルじゃなかったら待ってないだろうなぁという時間待ち続けて担当に電話つながる。pendingの件について確認を依頼し、あとで連絡をもらう事になった。

昼の12時半頃に折り返しの電話がかかってきて、WD15EADSは現在在庫がないためにWD20EADSにアップグレードし、現在発送手配中です。との事。WD3200BEVEも在庫がないのだが、代替えとなるドライブが無いため(IDE 320GBは最上位につき)生産完了待ちという事だった。

先日2chで旧正月直前にWD15EADSがWD20EADSにアップグレードしたなる記事を読んだばかりだったので、もしやと思ったけども、そのもしやでラッキーでした。

そして、無事に発送されたわけですが、トラッキングを調べると
>Feb 17, 2010 1:59 AM Shipment information sent to FedEx
あれ?深夜にはすでに発送済?電話した時点ですでに発送されていたって事!?
なんという!
そして、今朝の時点で
>Feb 18, 2010 7:59 AM In transit NARITA-SHI JP Package available for clearance
ちょ、もう成田出てるよ、はえー。という感じでした。早くて今晩には届くって事かな。


2010年1月20日

DC-MCNP1再生でコマ落ちする件の調査と対策

DC-MNCP1を使っていて気がついたのが、特定のファイルを再生すると微妙にコマ落ちするという点。なんでか確認しようといろいろ調べてみた。

最初に結論からいうと、コマ落ち無しでの再生は可能。詳細な対処方法については後術。

地デジを録画したtsファイル(mpeg2+AAC)をネットワーク再生していると、Windows7マシンに置いてあるファイルの場合、時たまに再生が一瞬止まる程度のコマ落ちが見られる。ファイルサーバ(linux samba)から同じファイルを再生した場合は問題ない。Windows7マシン側のHDDのアクセスの問題でもあるのかとSSDへファイルを置いてみたが結果は変わらず。
この点に関しては、DC-MNCP1のLANポート接続先をGbEルータから、GbEハブへ変更する事で解決した。なんか腑に落ちないが解決した。

BDMVなm2tsファイル(h264+pcm)をネットワーク再生していると、Windows7マシンだろうが、
ファイルサーバ(linux samba)だろうが、数秒でコマ落ちガクガク再生が発生した。でも、ソースによって問題なかったりしたので、BDMVだからというわけではなさそうだ。そこでファイルの方を見てみると、コマ落ちしなかったデータは32Mbpsほど、コマ落ちしたデータは40Mbpsを超えていた。そういえば、windoowsのファイル共有は遅いからnfsにするといいっていう記事があった事を思い出しファイルサーバの方でnfsでexportしてみる事にした。
そうした所、40Mbpsを超えていたガクガク再生なデータは問題なく再生出来るようになった。

ここから先は実際にどの程度の能力をもっているのかを測定する事にする。どうも、高レートのデータだとダメなようなので、H264+AACで映像のビットレートを高くして複数作成してみた。
32Mbps~50Mbpsまでのデータで試したところ、Windowsファイル共有(&samba)では、36Mbpsあたりが限界であった。AVCHDなんかは24Mbpsまでなのでまぁ問題はないけれども、BDISOやBDMVあたりになってくると、レートの高いものはダメそうという事だった。
nfs経由でアクセスした場合は、50Mbpsのデータにおいても特にコマ落ちする事なく再生された。この事より、データの再生部分においては特に問題はなく、ネットワーク転送まわり(特にWindowsファイル共有)に難があるという事なんだろう。

なお、DC-MNCP1でnfs上のファイルを扱うには、webブラウザをONにしてPC上などからこのwebの設定メニューから設定してやる必要がある。転送リトライ数は増やしておかないと、いきなり再生が止まるような事があったので注意注意。

さて、実際にnfsでファイルを共有させるにあたって、linuxでは標準でサポートされているので特に問題ないが、windowsの場合はnfsサーバのインストールが必要になる。幸いにもMicrosoftより無償で提供されている、>Windows Services for UNIXなるものがある。ただし、インストール可能なOSが限られているので中が必要だ。Windows2000/2003/XP Proの32bit版のみとなる。64bit版OSや、Vista/2008/7には対応していない。2003R2/2008/Vista/7に関しては、Ultimate EditionにおいてSubsystem for Unix Application(SUA)をインストールすることになる。なお、SUAは64bit対応となっている。


2009年11月28日

DC-MCNP1購入。とりあえず基本的な事のレポート。

リビングメディアサーバ構築案という事で、結局の所全然違う方向に進んで、今更ながらDIGITAL COWBOY DC-MCNP1を購入いたしました。アナログ(コンポジット)出力と、HDMI出力を持っているのでTVを買い換える必要もなく、将来的にハイビジョンTVを購入しても使えるという事と、対応フォーマットが各種揃っており実家の父へも勧める事が出来そうという事が理由です。

さて、あらかじめにちゃんねる辺りで調べておりましたが、今月にファームのアップデートがあって良くなったみたいで、それ以前だったらちょっと微妙だったかもしれないんですが、とりあえず使用感を適当に。

本体は下部にファンがあり、そのまま立てるとファンが地面との間でふさがれてしまいます。立てて使用するには付属の足を付ける必要があります。横向きで使用する場合は特に問題はありません。
発熱に関しては、ルータの上に乗っけて再生し続けても、ほんのりあったかい程度(ファン回転数は停止も含めて4段階設定出来るがデフォルト速度にて使用)。ファンの回転音も目の前まで寄ってなんとか感じるか程度。一応筐体自体が金属製であり放熱効果があるのでしょう。

電源入れてからメニューが表示されるまでは約20秒ちょいほどかかります。まぁHDDレコーダーもそこそこ時間がかかるのでこの辺は気にならないです。

最初起動した時点ではファームは初期状態の1.0、アップデートで2.0にするにあたっては、公式サイトからデータのダウンロードを行い、USBメモリへ展開したデータ(.binファイル)を置いて本体へぶっ刺します。あとはメニューの中からアップデートを選択し、どの媒体から行うかの選択でUSBメモリ。D:(だったかな?)を選択すると、アップデート用のファイルが表示されるので選んでアップデートが開始されます。本体にアップデート用のデータがコピーされると自動で再起動(?)アップデートモードで起動されます。この時アナログ(コンポジット)接続の場合、同期が取れない出力がされるのか、アップデート中の画面が完全に表示されません(かろうじて進捗バーが進んでいる事が分かる)。HDMI接続の場合は問題ないらしいです。

アップデートが完了すると、全体的にフォントが小さくなって見れる情報が増えました。HDMI接続ではそもそも画面の広さが違うのでどうだか分からないけれども、アナログ(コンポジット)接続においては大きく変わっていました。また画面右下にネットワークに接続している場合はIPアドレスが表示されて分かりやすくなってますね。あとは接続状況のアイコンとか。

とりあえず最初に行う事は、ネットワーク設定ですが、使用したケーブルが不良品でうまくネットワークを検出できず苦労をしたけましたが、ケーブルを交換したところ問題なくネットワークまわりは動作しております。DHCPモードとSTATICモードが選択出来るのでまぁお好みで。

あとはネットワーク上のファイルを再生してみるわけですが、うちの環境は録画しエンコードしたデータなどもろもろを、Debian Linuxが走っているファイルサーバへ保存しており、sambaにてファイル共有を行っています。いまの所ひととおり問題は無いみたいです。

そんな感じで、片っ端から再生のチェックを行ってみました。(ネットワーク再生にて)
.ts(mpeg2) 問題なし。4GB超再生可。BSデジタルok。(ネットワークの遅いPCではプチ切れる事あり)
.avi(mjpg/divx/xvid/wmv/x264) 問題なし。120fpsok。mpeg4v2再生不可。
.mp4(x264) 問題なし。4GB超再生可。VBR音ズレ無し。
.mkv(x264) 問題なし。4GB超再生可。VBR音ズレ無し。字幕・音声切り替え可。
.wmv(wmv9+wmapro) 問題なし。
.mts/m2ts(AVCHD) 問題なし。4GB超再生可。24Mbps ok。2カ国語音声切り替え可だと思う(アナログでのみ確認済)
DVDISO 問題なし。4GB超再生可。メニューok。字幕・音声切り替え可。
BDISO/m2ts 高レートだとコマ落ちが発生する。音声もその際に途切れる。

音声に関しては、mp3/aac/ac/wma/wmaproなど、特に問題なく。IMA ADPCM(昔のデジカメ)音声は無理でした。まぁ最近の携帯の動画とかは問題ないかと思います。

ネットワーク再生では特に転送が重いという事もなく、途切れる事なく再生出来ております。USBメモリからの再生も特に問題ありません。
x0.8/x1.2/x1.5/x2.0倍速再生機能がありますが、こちらはちょっといまいち。音声がプツプツと途切れ気味な感じで聞き取りにくくなります。nave playerまでとはいきませんが、そこそこ聞ければいいなぁと思ったのですがこの辺は残念です。
internet機能はyoutubeなどへアクセスして動画の再生が出来ますが、yutube(米)への接続みたく、日本のコンテンツはちょっと見た感じでは見つかりませんでした。日本人設定出来ればいけるのかも?

とりあえずの所、懸念材料であった音声のズレがない事とmp4の4GB超で普通に再生出来ているので安心です。DVDISOもメニューから表示とほぼDVDそのままで再生出来るので父にも安心して勧める事が出来そうな感じです。
あえて不満点を挙げるとすると、ネットワーク上の共有フォルダへのアクセスでのオートログインが出来ない事でしょうか。デフォルトではguestでのアクセスとなっており、任意のアカウントでのログインはショートカットへの登録となる様です。共有フォルダごとにアカウント情報を記憶させておく事はできないみたいです。

Amazon安くてイイネ。無線LANモデルも有り。非無線LANモデルでもRealtek RT8192のチップの載ったUSB無線LANアダプタなら適当に買ってきて使えるみたいです(そっちのが安くあがるかも?)。って事でそっちも貼っておきます。

さらに無線LAN関連詳細。
DC-MCNP1内で登録されている無線LANデバイスは以下の模様。
国内で販売されている主なアダプタはほとんど対応してないので注意が必要です。

Vendor:VID:PID
LG:043E:7A01
Belkin:050D:805E
Belkin:050D:815F
Guillemot:06F8:E031
Corega:07AA:0043
Corega:07AA:0047
D-Link System:07D1:3300
D-Link System:07D1:3302
D-Link System:07D1:3303
RealTek:0BDA:8709
RealTek:0BDA:8192
RealTek:0BDA:8713
RealTek:0BDA:8712
RealTek:0BDA:8174
RealTek:0BDA:8173
RealTek:0BDA:8172
RealTek:0BDA:8171
Sitecom:0DF6:0031
Sitecom:0DF6:0045
Hawking:0E66:0016
Hawking:0E66:0015
Senao:1740:9201
Senao:1740:9605
Senao:1740:9603
D-Link Corp:2001:3301
Zinwell:5A57:0290
Edimax:7392:7612


2009年11月25日

リビングメディアサーバ構築案

うちはPCでTV番組をTS録画して、mp4(H264)にエンコードしてファイルサーバに保管しているんだけども、嫁が育児中にTVに映して見たい!という感じでありまして。
以前PS3を実家から借りていた時とかはそんな感じで見ていたのですが、実家の方も同様に使用するとのことで返却しており、現在PCでしか見ることが出来ない状態。

んじゃPS3買うか?っていうと29800円の出費となるし、再生可能なファイルも限定され、DLNAサーバかhttpdからしか再生できないときたもんだ。DVDISOやmkvの再生も結構鬼門と。

んじゃ、なんかいいメディアプレイヤーがあるかというと、安物は音ズレしたり、対応フォーマットが少なかったりと、高いものだとPS3より高価とかそんな感じ。

んじゃ、PCで見ればいいんじゃね?って事でIONキットかなんかで20000円くらいで再生用マシン作ればいいんじゃね?って事になった。

だがしかーし。うちのTVって、21インチのWEGA。4:3のアナログなんで、HDMI端子なんかついてねー。もちろんION側もビデオ出力端子なんかついてねーと。地デジはHDDレコーダのチューナーで受信したものをSビデオケーブルで接続して見ている状態。

しかし我が家ではまだまだTVは買い換える予定なし。壊れるまでは急いで買い換える事無いんじゃね?状態。ちょうど液晶TVもバックライトLED 液晶化が始まって、省電力モデルが出始めているので、あと1年半~2年くらいすれば通常モデルは全部バックライトLED液晶になって価格も10万以下でゴロゴロ手に入るだろう予想。って事で、液晶TVはいらんと。

そこで、浮上したのが、PCモニタでTV見ればいいんじゃね!という考え方。24インチのフルHDのバックライトLED液晶モニタが手頃な値段で手に入るので、液晶TVを買うまでのつなぎにすればいいじゃない!と。液晶TV買ったらPC用に転用すでば無駄にならず。

という考えの元に、バックライトLED液晶モニタを調べると、SAMSUNG/LG/DELL/Acer/NANAO辺りが発売している模様。今回、PCとHDDレコーダからの2系統のHDMIの入力が必要なので、HDMIx2以上のものとなると、LGとAcerのみになる。LGはスピーカーを内蔵していないがHDMIからの音声はアナログに落としてスピーカーアウトから出力される。Acerはスピーカーは2Wのものを内蔵しているがスピーカーアウトは無い。数千円のスピーカーを外付けにしたほうが良いだろうという事と、台所まで音声を飛ばす必要があるのでスピーカーアウトは必須という事からLG が選択肢として残った。最近のLGのパネルはSHARPに次ぐくらい良くなってきてるのでまぁ問題ないだろうと。TN液晶なので視野角があまりよろしくはないけど、ブラウン管に比べれば全然軽いので、向きを変えて使えばokとする。

ただ、24インチになるので、画面サイズとしては21インチよりは大きくなるがフルHDを映すとなると、数メートル離れて見た時にまだまだ小さい感があるので25インチ以上のモニタも調べてみるがいずれもHDMI入力が1系統しかなく候補無し。結果LG W2486L-PFに絞られる。入力切り替え等操作に難があるがまぁ無難な所かなと。
HDMIセレクターを通すという方法もあるが、その場合余計な出費が5000円近く出てしまうので現在の所想定外。

とモニタの事考えていたら、IONマシンもなくせない?って事に。
今月末でBフレッツを解約するので、Bフレッツ回線につながっているサーバ機が1台余るぞっと。こいつにHDMI出力出来るグラボ刺せばPC代が浮くじゃない!と。
ただこのサーバ機は、Q965というチップセットでいままでサーバ使用だったのでグラフィックボードは刺さっていないのだが、SPDIF出力とかオンボード音源には無いんだ。そもそもエンベデッド向けマザーという事もあるんだけど。という事でグラボに関して調べていたらHDMIネイティブとやらでグラボ上で音源も持ってるとか云々みたいな。しかしこいつはGeForceGT2x0シリーズとかからみたいでちょっと微妙感漂う。ファンレスグラボを予定しているので一応は該当品はあるのだけれども、前モデルであるGeForce9600GT辺りよりもパフォーマンスがあまりよろしくないし、電気も結構食う。
なんて更に調べる事、ATI Radeonなら普通にHDMIネイティブだった様だ。ちょうど自分PCが4550を使っているのでドライバ入れてみるとHDMI sound出力のデバイスが登録された。RadeonならばGeForceよりも省電力なモデルが多いし、ファンレスモデルも結構多いのでいけそうかなという所に。

これで、出費は液晶モニタ+Radeonのファンレス+適当なスピーカー+HDMIケーブルで抑える事が出来そうと。
という感じで数日考えた所で行動停止。あとはポチれば終わり状態に。

実家の父が、リビングIONをやったら同じ構成で導入したいと言っていたのだが、余りPCを使ってしまうので同じ構成が出来ないぞ状態(実家は出窓にTVがあるため、置き場スペース的にIONキットとかでないと無理)。実際にIONでメディアサーバーとして使えそうなもんかを確認出来ないのが痛い所だなぁ中。

なんか興味とか案とかあったらplz。
基本、コストを如何に下げるかって所が焦点です。


2009年9月 2日

Marvell's 88SE6480 @Debian part4 HDD認識!

さて、前回に引き続きSUPERMICROの8ch SASカード、AOC-SASLP-MV8をDebianで使う記事です。
話を最初から振り返ると、自宅ファイルサーバを構築しようとするとどうしても大容量HDDであっても接続出来るHDDの台数の限界というものがありまして、うちの場合はオンボードで8portのSATAを使える有り難いマザーボードなのですが(現在グラフィックオンボードでSATAのポート数はおそらくこのマザーが最大数 GIGABYTE GA-G33-DS3R)、そうするとHDDを更に増設するにはSATA拡張ボードが必要になります。PCIのものであれば、玄人志向より2portと4portが安価で入手出来る価格で販売されておりますが、PCIeのものでは、2portは安価ですが4port以上になるといきなりRAID仕様の高価品になってしまいます。
そこで、見つけたのがSUPERMICROのAOC-SASLP-MV8というPCIe(X4)の8port SASカードで、RAID機能が省かれているために価格も18,000円程度と相当安く購入する事が可能です。 そこで早速飛びついて購入はしてみたわけですが、付属のドライバはRedHatやSUSE、FedoraなどのディストリビューションのみでDebianで使おうにもドキュメントにあるようなソースは付属しておらず、メーカーに問い合わせても提供していないと言われる始末。
Debianのパッケージの方で正式対応するまで待とうかとか諦めていた所に、ドライバの開発者がいることがわかり、情報を集め、ソースをコンパイルする所までが前回part3までのあらすじとなります。

今回はその続きになります。
ソースに付属のREADMEを読み進めると、ドライバのコンパイルが終わったらドライバのロードが必要との事で

# modprobe libsas
# insmod scst.ko
# insmod mvsas.ko


という感じでドライバのロードを行います。READMEではinsmod scst.koの行が抜けておりましたが、これがないとmvsas.koのロードに失敗するみたいですので追加しております。

この状態で
/sys/class/scsi_host
を参照すると、host0~host?までの複数のhost?が見えると思います。この中のおそらく一番番号が新しいものがこのカードにあたります。

# cat /sys/class/scsi_host/host16/target_mode

という風に実行して、
phy  dev sas address     attach dev type   attach sas address  target mode
0    5003048000805890                      0                   0             
1    5003048000805890                      0                   0             
2    5003048000805890                      0                   0             
3    5003048000805890                      0                   0             
4    5003048000805890                      0                   0             
5    5003048000805890                      0                   0             
6    5003048000805890                      0                   0             
7    5003048000805890                      0                   0 
の様に返ってくるデバイスがこのカードになります。ちゃんとphyが0~7までの8台分ありますね。 他のカードですと、target_modeが見つからない旨のエラーが出ると思います。
host番号を変えてみて下さい。

この状態でHDDが取り付けられていると
phy  dev sas address     attach dev type   attach sas address  target mode
0    5003048000805890                      0                   0             
1    5003048000805890                      0                   0             
2    5003048000805890                      0                   0             
3    5003048000805890                      0                   0             
4    5003048000805890                      0                   0             
5    5003048000805890                      0                   0             
6    5003048000805890                      0                   0             
7    5003048000805890    SATA END DEVICE   700000000000000     0   
この様にSATA END DEVICEとしてHDDが認識します。
あとは

# echo "enable 7" > /sys/class/scsi_host/host16/target_mode
(7の部分はphy番号が入る)
とする事で、phyをtarget_modeで動作させる事ができます。
解除は

# echo "disable 7" > /sys/class/scsi_host/host16/target_mode

となります。(今回はSASカードがhost16、HDDがphy7である事を前提に記述しております)
あとは

# echo "add 16:0:0:0:0 0" >/proc/scsi_tgt/groups/Default/devices

の様にしてやれば一通り完了となります。(16:0:0:0の部分はhost?の数字を入れてやる)
あとは、普通にHDDとしてfdiskなりで処理してやればokです。


2009年8月21日

Marvell's 88SE6480 @Debian part3 ドライバコンパイル(SUPERMICRO AOC-SASLP-MV8)

さて、しばらく経ってしまったが,Marvell's 88SE6480(SUPERMICRO AOC-SASLP-MV8)の方だけども、どうやらドライバのソースの方が出ているみたいだ。
http://thread.gmane.org/gmane.linux.scsi/49940/focus=49957を見ると
>This driver allows to use a SAS controller based on Marvell 88SE64xx or
>88SE94xx chips as a SAN storage server (target). More info you can find
>on the SCST page http://scst.sourceforge.net.

とのことである。

svnにて提供されているので、

#aptitude install svn

にて、まずはsvnのインストールから。別にsvnを入れなくても、直接https://scst.svn.sourceforge.net/svnroot/scstからファイルを根こそぎ持ってくれば一応は同じ物が手に入る。
まぁ、svnの方が楽に根こいでくれるので、svn使いましょう。

あとはkernelのソースも必要になりますね。

#aptitude search linux-source
#aptitude search linux-header

から、現在使用中のカーネルのバージョンのものを見つけてインストールします。
自分の環境では、2.6.30-1-686-bigmemなので対応するものをインストールします。

#aptitude install linux-source-2.6.30
#aptitude install linux-headers-2.6.30-1-686-bigmem

これで、/lib/modules/2.6.30-1-686-bigmemにカーネルまわりのソースがインストールされます。
あとは、svnにてダウンロードしたscstのソースのディレクトリにてmakeします。

#make scst scst_install

/usr/local/includes/scstにscst関連のインストールが行われます。
このあと、mvsas_tgtのディレクトリへ移ってmakeするわけですが、Makefileの方でscstのディレクトリの指定が違うっぽいので、編集します。


#SCST_INC_DIR := /usr/local/include/scst
#SCST_DIR := $(SCST_INC_DIR)
SCST_INC_DIR := $(SUBDIRS)/scst/include
SCST_DIR := $(shell pwd)/scst/src

このようになっておりますので、コメント行を変更します。

SCST_INC_DIR := /usr/local/include/scst
SCST_DIR := $(SCST_INC_DIR)
#SCST_INC_DIR := $(SUBDIRS)/scst/include
#SCST_DIR := $(shell pwd)/scst/src

これであとは、makeすればmvsas周りのドライバのコンパイルが行われます。

#make install

にて、mvsas.koが出来ます。
あとは/lib/modules/2.6.30-1-686-bigmem/kernel/drivers/scsiにscst.koとmvsas.koをコピーして完了かな?(?)

多分これでいいと思うけど、まだ確認してない。

あとはHDDをつないだあとに、targetモードにしなきゃならないんだっけかな。
その辺はまた次回、HDDをつないだらやってみようと思う。今回はドライバのコンパイルまでって事で。



2009年5月24日

Debian linuxからVoIPアダプタへルーティングがうまくいかない

うちのネットワークは結構ごちゃごちゃしてる。
Bフレッツ2本に、ひかりone ギガ得1本の、合わせて3本の外線が入ってきている。
そのうちギガの回線がWindowsマシンをぶらさげている状態。

Bフレッツの2本は、webサーバ機につないでおり、webサーバ専用の回線として使っている。
そのうちの1本をONUの直下でHubで分けて、ルータをつなぎVoIPアダプタをぶらさげ、IP電話を使っている感じだ。わっかりにくい図にするとこんな感じ。
---ONU-----Hub+-----router-----VoIP----telephone
                       |
                       +----server eth0
---ONU----------------server eth1
んでこのこの状態だと、3プロバイダの契約になっていて、IP電話のために1プロバイダ契約しているのが非常に勿体ない。なので、uPnPのルーティングをしてやってwebサーバの方の回線を使おうとしたのだ。こんな感じに。
---ONU----------------server eth0
---ONU----------------server eth1
                              server eth2-----VoIP-----telephone
んでまぁgoogleさんとかで調べた所、linux-igdとupnpで出来るとの事なんで、こことかこことかこことかこことか読んでやってみたのですが、思うようにうまくいきません。

現行のlinux-igd+upnpだとiptablesの方への登録も自動で行うはずなのですが、まったくスルー。なので自分で設定してやってもVoIPアダプタの方からは見えない状態。

リビングのラックの中にネットーワーク機器収納しているんで、解決するまでバラしたラックでリビングが埋まった状態...奥様に「IP電話はもう切っちゃえば?」と言われる始末。
(ひかりoneの方で、新たに加入電話を導入したので一応電話回線はあるのだが、接続する電話機が無いので誰にも番号教えてない状態なのだ。年賀状で親戚一同に変更の旨を連絡するまでIP電話の方のままにしたかったので困った状態)

誰かHelp!!状態 orz


-----
とりあえず、VoIPアダプタでpppoe出来る事を思い出したので、routerを外して直接VoIPアダプタでpppoeさせた。これでrouterは無線LANアクセスポイントとして転用できた模様。



2009年5月12日

mhddfsを導入してみた

自宅ファイルサーバのファイルシステムをLVM2からmhddfsに変更してみた。
扱うデータ量が多くなってくると、HDD1台で1つのパーテションになっている場合、データが分散して管理がとてもめんどくさい。そこで、従来まではパーテションを連結して1つに見せかける事の出来るLVM2を使用していた。LVM2に関してはうんざりするほど情報があるので詳細を割愛。
HDDの増設や取り外しにも対応しているLVM2の残念な面倒な点は、1つのパーテションとして管理するいわゆるストライピングの拡張したようなファイルシステムであるため、耐故障性が無い上に、いちいちfsckをしないとHDDの取り外しが出来なかったりという辺りにある。
そこで、実在するパーテションを擬似的に1つのパーテションに見せかけるmhddfsへ移行する事にした次第だったりする。mhddfsはそのものがファイルシステムではないため、元のパーテションに対しての直接のアクセスが可能であり、またHDDの追加や取り外しも容易である。HDDの故障があったとしても、その単体の範囲で被害を食い止める事が出来るので被害は最小限におさえる事が出来る。

幸いにもDebianではmhddfsがパッケージ化されているのでインストールはとってもお手軽。
#aptitude install mhddfs
にてインストールは完了する。

使い方はとても簡単。
あらかじめ、HDDをマウントした状態で、そのマウントポイントを指定するような感じ。
(実際にはまとめたいディレクトリを指定するので、マウントする必要があるんだけども)
/mnt/disk01
/mnt/disk02
/mnt/disk03
にマウントされているHDDをまとめたい場合は
#mhddfs /mnt/disk01/,/mnt/disk02/,/mnt/disk03/ /data
の様にすれば良い。当然ながら指定するのはディレクトリなので、/mnt/disk01/aaa/を指定する事も可能だ。
/etc/fstabに記述する場合は
mhddfs#/mnt/disk01/,/mnt/disk02/,/mnt/disk03/ /data fuse defaults,allow_other 0 0
の様にすれば良い。
実際のアクセス動作としては、先頭の方のディレクトリ(/mnt/disk01/)から順に書いていき、容量がいっぱいになると次のディレクトリ(/mnt/disk02/)に書く様な感じだ。ファイルが途中でとぎれる事は無い様になっているので、若干の容量を余しながら書いていく事になるが、空き容量内に収まるファイルの書き込みであればその隙間に埋まる様になっている。
mhddfsの動作として、先頭の方のディレクトリから順に検索をするのだが、ディレクトリのタイムスタンプについては一番最初に見つかったタイムスタンプのみ保持するので、複数のHDDにまたがって存在するディレクトリに対しては、実際に最終の更新のタイムスタンプではないのでこの辺には注意をば。ソース見た感じではそういう箇所はなかった感。fuseの仕様なんかな。

2009年4月 2日

Marvell's 88SE6480 @Debian うまくいかず part2

その後いろいろ調べてわかった事

88SE6480のVENDOR ID/DEVICE IDは、11ab:6485だった模様。
11ab:6480はMV64460/64461/64462 System Controllerという名の示す通り、Marvell製のSystem ControllerチップのIDだった。なので、6485に対応したドライバが必要となったのだ。
そりゃ、うまくいかないわけですね。

って事で調べること...

http://article.gmane.org/gmane.linux.scsi/48651/
http://article.gmane.org/gmane.linux.scsi/48648/
http://article.gmane.org/gmane.linux.scsi/48649/
http://article.gmane.org/gmane.linux.scsi/48652/
http://article.gmane.org/gmane.linux.scsi/48650/

Marvell社のKe Wei氏によるNewsgroupsへの投稿で[PATCH x/5] mvsas : redesign the mvsas driver architecture.というものが見つかった。
kernel sourceにある、mvsas.cに対して、88SE6480をはじめとする幾種類ものストレージカードに対応させるべくパッチが投稿されていた。

さっそく、パッチを当てようとするが、どうしても
# patch -p0 < mvsas.patch
patching file b/drivers/scsi/mvsas/Kconfig
patching file b/drivers/scsi/mvsas/Makefile
patching file b/drivers/scsi/mvsas/mv_init.c
#
と、mv_init.cまでしか生成しないで終わってしまう。
投稿ごとにpatchファイル作って5個にすると
# patch -p0 < mvsas.patch1
patch: **** Only garbage was found in the patch input.
と、それどころではなくなってしまう。
まぁ、新規作成されるファイルに関してはそのまま書き出してやればいいかとも思うが。
今日の所はここまでにして、明日以降やろうと思う。

2009年3月26日

Marvell's 88SE6480 @Debian うまくいかず(SUPERMICRO AOC-SASLP-MV8)

ファイルサーバの方のHDD台数が増えてきたので、安価なSASボードを使ってやろうと、SUPERMICROのAOC-SASLP-MV8という、SAS 8portのボードを購入しました。

17800円で8portなのでやしーなーという感じで、サクっと買ってしまったのですが、苦労中です。 最初簡単にwebで調べた感じでは、LSI Logicの1068が載っている様だったので、サクっと動くかなというつもりでいたのですが、実はMervellの88SE6480というチップが載っていました。

さて、Debianの方は一応対応しているようで、mvsas.koというドライバがあるのですが、まずこいつが自動でロードされない。この時点でちょこっと危険な香り。
initrd.imgには入っているドライバなので、普通に考えると問題ないはずなんですよね。 mobprobe mvsasにて一応ロードされる様で、lsmodでも
# lsmod | grep mvsas
mvsas                     20104  0
libsas                      39396  1 mvsas
scsi_transport_sas   25280  2 mvsas,libsas
scsi_mod               136428  5 sd_mod,mvsas,libsas,libata,scsi_transport_sas
こんな感じで、いちおうは問題なさそうなんですがdmesgの方では一切反応なし。
どうもデバイス登録されてない模様。

とりあえず、カーネルをアップデートしてみるかって事で、sidにしてみたのですがサッパリ変わらず。

夜も更けてきたのでここいらで頓挫して、前の環境に戻しておやすみなさい。
どなたか情報持っていたらplease!!

#付属のCDには、FCとRedHatとSUSEのバイナリだけ入ってました。ソースあればコンパイルするんですけどねぇ。
SUPERMICROで提供されているドライバリンク

どうも、ASUSのPIKE 6480と、HighPointのRocketRAID2680も同じ88SE6480を積んでいる模様。まぁこれられの方はRAID機能有りなわけですが、提供されるドライバはSUPERMICROと同じ物っぽい。残念。

2009年1月21日

munin-nodeでSSDのwrite countを記録する

暮れにSSDを2台購入し、サーバとWinマシンのそれぞれに取り付けて使っておりましたが、MLCですので寿命が心配。Winの方には幸いにもJSMonitorなるsmart値のMaxWriteCountとAverageWriteCountから寿命を逆算するソフトがあるので非常に便利なのですが、Linux用のものは用意されている訳でもないので(VS2005用のソースは付属)munin-nodeで記録できるように作成してみました。

こんな感じです。まぁ変化の具合が一目でわかるので便利ですね。

とりあえず、ヘナチョでっちあげですが、以下にソースを。

続きを読む "munin-nodeでSSDのwrite countを記録する"


2008年12月21日

恵安のSSD、K-SSD32S-VSMとK-SSD64S-VSM購入

自宅鯖の方で、一部の領域のアクセスが多くiowaitになりがちなのでSSDを導入する事にしました。
とりあえずの所、使い捨てくらいのつもりで、安いMLCでいいやって事で、発売されたばかりの恵安のSSDを選択してみました。K-SSD32S-VSMとK-SSD64S-VSMを1台ずつで容量は32GBと64GBです。格納ケースとしてこれまた発売されたばかりのディラックのDIR-2221-SATAを選びました。

外箱はこんな感じです。
CIMG0106_1024.jpg

続いて本体。
CIMG0107_1024.jpg

更に殻剥きしてみました。
32GBと64GBのそれぞれやりましたが、フラッシュの容量が違う以外は同じ様です。写真は32GBの方。32GBの方がK9GAG08U0Mで64GBの方がK9LBG08U0Mとなっておりました。コントローラはJMicronのJMF602。また、基板上のシルク型番がJMicron Technology JMF602-HY-16-001となっていた事から、JMicronのOEM品の可能性があります。mini USBコネクタが取り付け可能なパターンがあるので、コネクタを取り付ければUSB接続も出来そうな感じがします。(無駄に電源レギュレータIC辺りまで乗っている感じ)
CIMG0109_1024.jpg

反対側
CIMG0108_1024.jpg

とりあえずはWinマシンに取り付けてみてベンチマークを取ってみました。32GBの方はFAT32、64GBの方はNTFSであらかじめフォーマットされておりました。両方ともNTFSで再フォーマットしてから実行しております。

まずは、HD Tune 2.55の結果から。

32GB_HDTUNE_1.PNG

64GB_HDTUNE_1.PNG

グラフの形が全然違いますが、それぞれ2回ずつ行って同じ結果でしたので、これで合っていると思います。

続いて、Crystal Disk Mark 2.2.0の結果。1000M設定です。
32GB_CRYSTALMARK1000M.PNG

64GB_CRYSTALMARK1000M.PNG

更にプチフリチェックを兼ねて、CopySpdBench v0.3による結果も。

CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk D: Capacity: Total=30.075[GB] Free=30.009[GB]
LL D: 100M (Buffer: 1M) 1File(s) 5Trial(s) : Average: 43.634[MB/s] ( 2.292[sec])
LL D: 512K (Buffer: 1M) 200File(s) 5Trial(s) : Average: 20.848[MB/s] ( 4.797[sec])
HL D: 500M 1File(s) 5Trial(s) : Average: 13.142[MB/s] ( 38.046[sec])
HL D: 512K 1000File(s) 5Trial(s) : Average: 13.196[MB/s] ( 37.891[sec])
HL D: 4K 5000File(s) 5Trial(s) : Average: 3.369[MB/s] ( 5.797[sec])

CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk E: Capacity: Total=60.165[GB] Free=60.100[GB]
LL E: 100M (Buffer: 1M) 1File(s) 5Trial(s) : Average: 46.716[MB/s] ( 2.141[sec])
LL E: 512K (Buffer: 1M) 200File(s) 5Trial(s) : Average: 20.900[MB/s] ( 4.785[sec])
HL E: 500M 1File(s) 5Trial(s) : Average: 13.456[MB/s] ( 37.159[sec])
HL E: 512K 1000File(s) 5Trial(s) : Average: 12.998[MB/s] ( 38.469[sec])
HL E: 4K 5000File(s) 5Trial(s) : Average: 3.203[MB/s] ( 6.098[sec])

特にプチフリが発生する事もなく良好な感じでした。

32GBが6980円、64GBが12980円だったのですが、ケースが4580円だったのでSSD自体の値段よりもケースの値段の高さが際だった感じもしました。でもこのケースすごくいいですね。オススメ。


2007年11月28日

eth2がいきなり死ぬ

鯖マシンは外線と内線と2本のnicがあって、内線であるLocal側がeth2に割り振られているのだけども、samba経由でwinマシンからファイルを転送しまくっていると、いきなりeth2が死んでしまう。
rebootかませば復帰はするのだが、ifのdown/upしてもRUNNINGにならないのでドライバのロードが完了してないという状態。networkのrestartしてもダメで現在の所はrebootしか手段が無いのだけれども、正直これは困った状態だ。
いつから発生していたのか分からないけれども、妻のPCからの転送が一番確率が高い。妻のPCはintel純正仕様なのでNICに問題は無いだろうと思いつつも、BIOSからドライバまで全部最新状態にアップデートしてもこれといって効果は出ていない。
どうにもこうにもたまらないのでkernelの方をアップデートしてみた。2.6.21から2.6.22ではあるけれども、ファイルの転送のテストはしていない。うまく行ってくれればいいだろうけど、果たして効果あるのかは未知数。
DDNS更新用のDicedは相変わらず糞重いのでプロセスはkillしておいて、pppが切れた時だけ起動させる様にしてる。これもなんで重いのだろうか。DualCore環境だとどうにも重くなるっぽいのだが。


2007年11月 7日

mod_rewriteを使おうと思ったんだけども

このサーバのTOPの方がpukiwiki plusで構成されているので、URLが全てindex.php?記事名という状態であまり行儀が良くない。
そこで、mod_rewriteで処理かまそうと思ったのだが一応はうまくいく。構文としてはこんなん

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /index.php?$1 [L]

確かに動作はする。
しかしapacheのエラーログを見ると

[error] File does not exist: /home/www/html/abc, referer: http://karinto.mine.nu/abc/
[error] File does not exist: /home/www/html/abc, referer: http://karinto.mine.nu/abc/
[error] File does not exist: /home/www/html/abc, referer: http://karinto.mine.nu/abc/
[error] File does not exist: /home/www/html/abc, referer: http://karinto.mine.nu/abc/
[error] File does not exist: /home/www/html/abc, referer: http://karinto.mine.nu/abc/

こーんな感じで毎回5行ほどエラーログを吐いてしまう。
rewrite処理かかっていてもエラーは吐くという事なのだろうか?
これでは正直使えない。

RewriteOptions MaxRedirects=1

をしたいのだが、これを入れると常時ワーニング。

[warn] RewriteOptions: MaxRedirects option has been removed in favor of the global LimitInternalRecursion directive and will be ignored.

ワーニングが全てのアクセスで記録されるのでログがやばい事になってしまふ。
MaxRedirectsが使えないとどうにもならんから、しばらくは解決方法を探すしかないなぁ。

LimitInternalRecursion 5
であるから、無限ループに入って5回で止まっているのだろうけども、何で無限ループになるんだろうなぁ。単純にDIRの存在しないアドレスだったらindex.php?アドレスというrewriteのはずなんだけども。


2007年9月23日

鯖メンテ完了

思ったよりも大がかりなメンテになってしもうた。
作業的にはたいしたこと無いんだけど、考える&悩む時間が大量に消費されるという。

マザーの選択にあたっては結構悩みどころではあったけど、オンボードVGAとオンボードSATA大量というのが避けられなかったので、結局はGIGABYTEのGA-G33-DS3Rになった。HDD負荷が非常に高いので出来るだけ高レスポンスなチップセット直結SATAが大量に欲しかったのだ。
このマザーはICH9R直結x6とGIGABYTEコントローラ(JMB363?)x2の合計8ポートもSATAポートがあるのだ。PCI ExpressスロットやPCIスロットも十分にあり拡張性はかなりあると。まぁサーバに使うにはややもったいないオーバースペックかもしれないけど。

基本的にはマザーとCPUの交換だけなんでPCを一から組むのに比べると数分で済む作業。
変更点として言うならば、オンボードのSATAが8ポートなのでいままで玄人志向の4ポート拡張PCIからオンボードへつなぎかえた点だ。まず、何も考えずに全部接続して起動。起動中に
hda: lost interrupt
が出まくる。ぐぐるさんの結果だと、noapicしろとの事なんだけど全く効果なし。とりあえずはカーネルの入っているHDD(E-IDE)だけつけて後は全部外して再度起動。そのHDDが/dev/hdeと認識されてしまい、いままで/dev/hdaで設定してあったカーネル展開処理が全部コケる。設定関連を一旦旧環境で直して起動完了。
まずはリモートでのアクセスを確立するためにネットワークの再設定。がローカル側の方は従来のPCI-Expressカードなので特に問題ないが、オンボードのデバイスが変わったせいかpppoeがうまく動かない。いろいろ試行錯誤していたのだが、dmesgをよく見て唖然。
eth0: RTL8168b/8111b at 0xf883c000, 00:1a:4d:51:37:06, IRQ 16
udev: renamed network interface eth0 to eth3

eth3にリネームされているやんけ!
はい、eth3に書き換えてpppoeも問題なく動作確認。

さて、置き去りにしてきたHDDの件だけども、BIOSでコントローラの設定をどういぢってもダメ。そもそも一般的な解決策であるnoapicが効かない時点でダメなんだろうけど。
こうなりゃヤケクソだって事で、ディストリアップデートだだだ。lenny/sidにアップデートをかける。
ヒヤヒヤしながら再起動をすると、/dev/hdeになっていたカーネル用のHDDが/dev/hdaに修正されたのでまたもや設定を/dev/hdeから/dev/hdaに戻す。そして肝心のオンボードSATA接続のドライブだが、無事に全部正常認識。やったぜ。

メモリも2GBから4GBに増設してスワップの危機も去り。そしてえらく速いCPU処理。
なんと、ずっと省電力が効いており、200x6の1.2GHzで動作している模様。これならE2140でも十分だったかもしれないとか思ってみる。まぁ電圧も1.325Vから1.225Vに落としているしヒートシンクもぬるいまで到達しない感じだから発熱はほとんど抑えれていていいかな?というのもあるけどね。
消費電力はHDDがほとんどもっていきそうだからなんともだけど。ええ。ワットチェッカーでどんなもんかは見てみたい感じですね。

muninのグラフを見ると、DualCoreなせいなのかCPU使用率のグラフが200%までに増えている。これはいったいどういう事なのかよくわからんけど。
あとDiCE DaemonのCPU使用率の高さがおかしくなっているかなぁ。以前は数%だったのに30~50%くらいに振れているようだ。まぁ、省電力が切れるほどの負荷ではないからいいけど、なんか微妙に気になってしまう。


2007年9月20日

サーバ機拡張

CPU使用率、メモリ使用率、HDD使用率が上がってきたのでここでどかんとマシンの強化を。
7月には静音化という事でケース等を交換したが、今回はパフォーマンスアップという事で一新予定。


旧環境新環境
マザーASUS M2V-MXGIGABYTE GA-G33-DS3R
CPUAMD Athlon64 3500+(45W)intel PentiumE2180
メモリーPC5300 DDR2 2GB(1GBx2)PC5300 DDR2 4GB(1GBx4)
HDD160GB
300GB×2
320GB×2
500GB×2
160GB
300GB×2
320GB×2
500GB×3

まぁこんな感じになる予定。
今度のマザーはオンボードでICH9R直結のSATAが6port、PCI-Express(x1)接続のSATAが2portあるのでここにぶらさげれば現状のPCIカードに4portつないでいる状態からはかなり改善しそう。
CPUも一気に高速化をして現在のCPU高負荷の解決につなげ、メモリも倍の4GBにして完全nonswap化を目指したい。

今回の拡張によって、マザーとCPUが余る。更には前回のケース変更で余ったケース(+電源)など、ほぼ1台分の残飯が出てしまう予定。引き取りに来てくれるなら手数料程度でお譲りいたしまする。
この他にもPen4 3GHz(530J)のCubeとかも余っているらしいぞっと。
そのうち処分品リストでも作ろうかしら。尚、もう1台余っていたPen4 3.06GHz(northwood)のPCはup48の人に不法投棄した。きっと何かの鯖として活躍している事だろう。

なお、メンテナンス予定は今度の3連休のどこか。2~3時間程を見積もっている。基本的に昼間にやる予定。
Kernelはi686-bigmemとamd64とどっちがいいんだろう?64bitで動かせるamd64の方がいいのか、32bit動作の方が軽いからi686か。

2007年8月27日

さばメンテいろいろ

MovableTypeの方が重かったのでいろいろテコ入れメンテ。
結構軽くなった(気がする)

サーバのHDDの温度が気になったのでちょっとモニタを見てみた。

/dev/hda: Maxtor 4R160L0: 44 C
/dev/sda: ST3500630AS: 48 C
/dev/sdb: ST3500630AS: 46 C
/dev/sdc: WDC WD3200KS-00PFB0: 43 C
/dev/sdd: WDC WD3200KS-00PFB0: 44 C
/dev/sde: Maxtor 6V300F0: 41 C
/dev/sdf: Maxtor 6V300F0: 43 C

まぁ特に問題ないかなという感じ。さすがにSeagateの500GBは他に比べるとやや温度高いね。
Web上からチェックできるようにするスクリプトとか考えたけど、使い道ないからやめた。


2007年8月18日

サーバ拡張(ソフト編)

メモリの増設を行ったわけだが、今まで使用してきたカーネル2.6.18-4-486では1GBしか認識をしない。そこでカーネルのアップデートを行った。
2.6.18-5-amd64というのがあったのでこいつにしてみる事に。以前にamd64カーネルでインストールした時は時計が止まる現象が発生して泣いた記憶があるが。

カーネルを入れ替えて再起動すると、iptablesが通らない。まぁそいつはいいとして、しばらくするとサーバの反応が無くなった。実際には反応するのだが著しく動作が遅い。passwordを入力してからログインが完了するまで5分くらいかかる。せっかくメモリが2GB使えるようになってもこれでは使い物にならない。
syslogを見てみると

Aug 18 12:52:50 karinto kernel: BUG: soft lockup detected on CPU#0!
Aug 18 12:52:50 karinto kernel:
Aug 18 12:52:50 karinto kernel: Call Trace:
Aug 18 12:52:50 karinto kernel: [] softlockup_tick+0xdb/0xed
Aug 18 12:52:50 karinto kernel: [] update_process_times+0x42/0x68
Aug 18 12:52:50 karinto kernel: [] smp_local_timer_interrupt+0x23/0x47
Aug 18 12:52:50 karinto kernel: [] smp_apic_timer_interrupt+0x41/0x47
Aug 18 12:52:50 karinto kernel: [] default_idle+0x0/0x50
Aug 18 12:52:50 karinto kernel: [] apic_timer_interrupt+0x66/0x6c
Aug 18 12:52:50 karinto kernel: [] tcp_poll+0x0/0x138
Aug 18 12:52:50 karinto kernel: [] default_idle+0x29/0x50
Aug 18 12:52:50 karinto kernel: [] cpu_idle+0x95/0xb8
Aug 18 12:52:50 karinto kernel: [] start_kernel+0x216/0x21b
Aug 18 12:52:50 karinto kernel: [] _sinittext+0x288/0x28c
Aug 18 12:52:50 karinto kernel:
Aug 18 12:53:27 karinto kernel: Losing some ticks... checking if CPU frequency changed.
という感じでどうもCnQの動作に失敗している模様。そういえば以前もそんな感じだった気がする。マザーのチップセットの問題なのかなぁとかいう感じ。

どっちにしても現状amd64カーネルは使用できないので、2.6.18-5-686を使用する事にした。
>MemTotal: 2068628 kB
となり2GBちゃんと認識できたようだ。これにて完了ニンニン。


サーバ拡張(ハード編)

saba2.jpg
4日から進めてきたサーバ機の拡張作業がとりあえず完了した。
今回の大きな目的は静音化にある。
NAS兼用であるために、HDDの搭載量が多く一番の発熱源となっていたHDDの発熱をあんまりよろしくないファンで処理していたのでガラガラうるさく、階段下収納に設置しており階段下収納は結構いい温度になっていたのだ。
そこでHDDの放熱を最重視した形になった。選んだケースはベイが多く通気性のよさそうなものという事でENERMAXのECA3052-BSを購入。横置きにするのでちょうどこの横にある大きな250mmファンがよかったのだ。あとはベイの数の多さだろうか。実際の所5インチベイ部分の取り付けには結構難儀した部分もあったけども。
HDDはシャドウベイに3台と、AinexのHDC-501BKに4台取り付け5インチベイへ。
シャドウベイには120mmファンを取り付け、5インチベイはマウンタがそれぞれ80mmのファンが付いている。ケース付属の80mm可変ファンはリアの排出用に取り付け。
電源は特に変える必要は無かったけど、SKYTECのPower Grande2 SKP-520GX2に交換。
メモリを1GBx2の合計2GBに増量。OCもしてないし特にこだわりは無いので適当なブランドにて。
saba3.jpg
まぁだいたいこんな感じか。
あとは将来的なHDD増設に対応出来るように、PCIに刺さっていたローカル用のNICをPCI-Expressのものに交換。これでPCIスロットが空いたのであと4台はHDDの増設が出来そうだ。といっても空きベイがあと3台分しかないけど。

saba1.jpg
んでまぁ綺麗にAVラックに収まり、リビングPCならぬリビングサーバの完成。これに防震用のゴムシート(ホームセンターにて購入)を乗せて、ケースの下には木の棒2本にそれぞれゲルを乗せたものを敷き15mmほど浮かせた。
リビングで今のところはエアコンの動作音が一番うるさい位かな。十分に寝れる位の環境になっていい感じに。


2007年7月31日

来々!落雷!+盛り+MonsterX

kakiage.jpg

さてもや。
朝の雷雨は凄かったですね。
職場でも窓を指1本以上開けると雨がすごい勢いで吹き込んで来る様でした。
そんな落雷の為、午前11時頃に自宅周辺で短い停電があったみたいで鯖落ちました。
妻もパートに出ており午後5時までは復旧不能!

そんな感じで妻の帰宅を待ち、PCの電源を入れて貰う。
が、いつまでもアクセスできない。
IPを見ると、DDNSのアドレスが127.0.0.1 orz
えらいのを登録しているなぁとあきらめていたのですが、しばらくするとちゃんとIPが登録され接続できる様になりましたとさ。

そろそろNASの空きが厳しくなってきていた所に、キャプチャボードが来たのでHDDの圧迫度アップって事で、HDDの買い足しを云々というわけだったのですが、いつも購入しているsofmap通販のRMA付きSeagateが売り切れていたわけで、今日その500GBが再度並んでいたので購入。そろそろケースと電源もやばいので廃熱のよさそうなケースと520W電源も購入ときたもんだ。ぽちっと27926円なり。

夕ご飯は妻と上州屋でがっつり食べようと思ったのですが、なんと店が夏休みで31日まで休業。
急遽横浜中央卸売市場本場の秋葉屋市場食堂へ。妻はうに定食、自分は掻き揚げ定食を注文。出てきた瞬間かなりびびりましたがうまいうまいと食い始め...だんだんきつくなってきて、最後は気力との勝負に。15分後、無事に完食。
座敷の方は2テーブルほど予約席となっていたのが気になりました。どっかのオフ会か宴会か?とかなんとか。

MonsterXの件。あじさんの気にしていたゲインの揺らぎは予想通りオートゲインが有効になっているっぽいです。A/Dの方のオートゲインを無効にしてもらう様に要請し、確認が済んだらドライバを送ってもらえるとの事。
一部のPC環境でプレビューが重かったり表示しきれていないっていう問題があった様ですが、EIST&C1Eや、CnQのせいだったみたいです。状況を報告して再現を確認して貰ったのでマニュアルの改訂で掲載するとの事。
でも自分の環境はEISTもC1Eもオンなんだよね。はっ、そういえば裏で3Dゲームが動いたまま平然と720pキャプチャしていた気がする orz

せっかく動作報告例のまとめを作ろうとしていたのにこの関連のNGだった人がかなりいるっぽいから全面書き直しだなぁ。


2007年6月18日

HDDの認識順が毎回変わる

自宅鯖はNAS兼用になっているのでHDDを何台か積んでいる。
そろそろ空きが無くなって来たのでSeagateの500GBをソフマップ通販で購入したんだ。
もっと安い店もあるんだけどもRMA対応品である事と、クレジットカード決済できる事、送料無料な事を考えると十分に安いと思われる。

そんでまぁ先日取り付けを行ったわけだけんども、結構困ったもんだね。
どうもDebianの癖みたいなもんらしいんだけど、全てが認識した順番に割り振られるっぽいんだわ。
鯖機の場合、オンボードで2種類のIDEコントローラがあって、更にPCIに増設ボードが載っている。
つまり3種類のコントローラがまずどの順位で認識するかっていう所でスタートなんだな。
システムの入っているHDDはE-IDEで1台しか無いので、こいつはきにせずに/dev/hdaとなるから問題なし。
大問題なのは、オンボードとPCI増設でそれぞれ取り付けられているS-ATAのHDD5台だ。
こいつらが認識順に/dev/sda~/dev/sdeと起動するたびに(rebootでも)割り振られて、それが毎回違うと。
mountの都合上非常に不便だ。/homeの一部がこちらのドライブに割り振られているので期待している順番になっていないとwebが見えなくなってしまう。
滅多な事がなければ再起動などする事はないのだが、うまく行くまで繰り返さなくてはならないってのはなんとかならないかと思っているが、今のところ改善策が見つからない。

友人はnicが2個あって、eth0とeth1が常に固定にならないとかでPPPoEが出来なくなる事があるマジックで泣いていた。
他のディストリビューションでは発生しないのでDebianだけの問題だとは思うのだが...

解決策求む。


2007年5月23日

ロケール

pukiwiki plus!のインストールを行うにあたって、設定ファイル群がUTF-8なもんでロケールの設定をUTF-8に。
そしたらmod_uploaderの方で取得している日付の曜日の部分がUTF-8で取得されてしまってEUCで掃き出すもんだから文字化け曜日に。

さぁ面倒だという感じですが、とりあえずデフォルトロケールはUTF-8にするべく

# vi /etc/locale.gen
ja_JP.UTF-8 UTF-8

と設定して

# locale-gen

をやる。
時刻を返す所だけ英語になればいいので
LC_TIME="ja_JP.eEUC-JP"
を行う。

さてこれでとりあえずokなのだが
sambaの日本語ファイル名は結局ダメなまま。
CP932なのであるが、UTF-8でも文字化け。
まぁftpとMicrosoft Network経由で正常に処理できていればいいか。


2007年5月20日

時計がずれる

鯖をリブートしたら9時間ずれた。
etchのデフォルトだとよく起こるそうで、

>/etc/default/rcS ファイルのUTC=yes を UTC=no に書き換える。
>また、/etc/timezone が Asia/Tokyo になっていることも確認しておく。

によって解決するそうだが
残念。うちの鯖はインストール時にその設定にしているのだ。

つまり他に発生している人の改善した方法は無効という事で手動で直すしかなさそうなのである。

続きを読む "時計がずれる"


2007年5月19日

Apache2が起動してない

自宅鯖の方なんですが、logrotateの問題からApache2の再起動が必要なので毎朝再起動をかけています。
昼頃に起きてみるとApache2が起動してきてない!と。
error.logを見ると

[Sat May 19 04:27:25 2007] [emerg] (28)No space left on device: Couldn't create accept lock (/var/lock/apache2/accept.lock.29541) (5)

おおいいいいいいい!!!
調べてみるとApache2のバグっぽいので仕方なくreboot。これにて解決(?)
連続稼働時間は1ヶ月って所でした。安定しきらないもんだねぇ。


2007年5月 7日

省電力機能

そういえば、この鯖機のCPUには省電力機能がついているんだった。
というわけで調べてみるわけだが...

情報がさっぱり無い。

[Debian PowerNow] つ Google
[Debian Cool'n Quiet] つ Google

ロクな情報が出てこない。
どれもこれもAMD64カーネル前提で書かれている。
i386カーネルではやはりダメなのだろうか?
しかしAMD64カーネルは時計が止まるCPU BUG!なる問題があるから入れたくはない。直っているか分からないものに賭ける気も起きないし。

i386カーネルでも出来ないものかと挑戦をしてみる。

CONFIG_X86_POWERNOW_K8を有効にするっていう説明が何点かあるのだが有効にする方法もわからんのでスルー。
次にpowernow-k8ってのを読み込めという感じであって
#modprobe powernow-k8
ってやりゃいいらしい。

# modprobe powernow-k8
FATAL: Error inserting powernow_k8 (/lib/modules/2.6.18-4-486/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko): No such device

おいおいそりゃないぜ。
頓挫。

# cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU

....何と言えばいいのか。

# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 127
model name : AMD Athlon(tm) 64 Processor 3500+
stepping : 1
cpu MHz : 2200.146
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm svm cr8legacy ts fid vid ttp tm stc [6]
bogomips : 4402.14

やはり特殊なCPUなのだろうか。不便だ。
ヒント求む。


2007年5月 4日

Debianの罠

鯖機が組み上がり、激しく面倒であったのであまりよろしくは無いのだが、システムはそのままで動かしてしまった。そしたら動いてしまったのだ。まぁi386カーネルという事もあるのでデバイスドライバ的な問題だけと言えばそうなのだが。
ええ、そこで一度目のハマりが来たのだ。S-ATAコントローラが2つ搭載されており、それぞれ2ポートずつ持っているマザーではあるのだが、それらの両方ともがsargeでは提供されていないのだ。ドライバのソースも見つからないのでオンボードのものは半ばあきらめという事で、元々使用していた玄人志向の4ポートのS-ATAカードにHDDをぶらさげる事にて回避した。こちらも標準ではドライバは無いのだがVIAのサイトの方にソースがあったので自前でコンパイルして使用していた。
カーネルの方をアップデートすればオンボードのS-ATAポートも使えるという事なので一応カーネルの方もコンパイルしておいた。が、再起動すると動かない気がしていたので再起動しなかった。

そんな訳でこの状態でしばらく動かす事にした。

ある休みの日にふと、痛い物見たさに再起動した。罠はここから始まった。4月7日の事だった。

起動しない...

カーネルが見つかりません的なメッセージが出て起動しないのだ。
どうやらカーネルのコンパイルが完全に出来てなかった様でカーネルのイメージが生成されていなかった様だ。
色々錯誤を丸一日費やすがどうやってもカーネルだけ入れてやる方法が分からない。そもそもカーネルのイメージ自体の入手も分からず。
途方に暮れまくって最後に取った手段は、新規インストール。
etchをぶち込もうとイメージをCD-Rに焼きインストール開始。CPUが64bit対応になったのでAMD64を入れる事にする。まぁ、なんの問題もなくインストールが終わり稼働開始する。

が、しばらくするとリモートからのアクセスが全然反応しなくなる。webページも見えなくなり、ftpもつながらなくなる。どういう事だ!???全くもって謎な状態になる。
なんとかsshでのログインが終わるがpass入力から5分は経過しての事だ。いったい何が起こっているのかさっぱりだ。
いろいろ試行錯誤した結果「時計が止まっている」事が原因であった。syslogを見るとCPU BUG!とかいう感じのエラーが出まくっている。何度かこのエラーが出たあと、全てのログが同じ時刻になって続いている。つまり時計が止まったという事だ。

結局の所、AMD64が原因だった様でi386にしたらCPU BUG!は発生しなくなった。なんだこの糞カーネルという感じだが、このインストールをしようとCD-Rにイメージを焼いている途中に事件は起こった。
etchの正式リリースが行われたのだ。この時4月8日23時頃。再度etch正式版のi386のイメージをダウンロードしてきてCD-Rに書いて、インストール。

この時に大きなミスをしてしまう。/etc下のバックアップのバックアップを取ろうとインストーラにあるドライブのバックアップというのを選んだんだ。ちょうど/homeに割り当ててある領域の空きだけが十分だったのでその領域をバックアップ先にしたら.../homeの領域が丸々/の領域として上書きされてしまった。こういう時に限って不親切に元の領域が消える云々の警告もなく実行されてしまうんだなという事で/homeはまっさらオサラバしたのだった。

そして新規一転とサクサクインストールを行い完了。インストール手順もメモっておいたのでかなりスムーズに移行が完了した。CPUの負荷は1~5%程度まで下がった。全体的な処理速度もあがり、特にphpの処理速度はかなり向上した。その後順調に使用帯域は増え続けているが。


2007年5月 2日

自宅鯖のパワーアップ

電気的な所をかなり削減していたローコストな鯖マシンであったが、いろいろな事を始める事になる。
まず、NASとしての使用に関してだが家庭内LANが100TXという遅い状態であった為にローカルでの帯域不足に陥った。単純にHubが100TXだったからという理由なのだが、GbEスイッチングHubを導入する事にした。ちょうどヨドバシカメラのポイントがそろそろ切れるよ葉書が来ており、地元にビッグカメラが出来た為にヨドバシカメラへは行かなくなっており、使いおさめするかって事でヨドバシカメラへ行きGbEスイッチングHubを2台購入。何故に2台必要かと言うと、自宅はLANの屋内配線をしてあるのだがメインで使用している自分と妻のPCが壁から1本しか出ていないジャックを使用しなくてはならないからだ。各部屋へ振り分ける為の基幹部分については考えていたが、実際にPCを複数使う事を考慮していなかったという問題であった。
また鯖マシンはオンボードで100TXしか積んでいない為に玄人志向のVIAチップなGbEカードを購入した。一般にはintel製が良いのであるが、GbEの場合速度的にも大差なく、発熱の面では大きくintelに勝っている事と、価格的に数分の1という事からVIAを選択した。

導入してみた結果、実測にてだいたい30MB/secくらいで転送が出来るようだ。鯖マシンに搭載しているHDDの速度とsamba経由という事を考えれば十分すぎる位満足が行く。こんな感じでGbE化した状態でしばらく運用する。

はずだった。
2月中旬辺りから、ファイルのアップローダなるものを設置する事にした。元々友人らにちょっとした画像とかを配ったりするのに便利だったが、自前で持っている方がいい事と余っている帯域を有効に使えるからだ。
最初の頃はよかった。しかし1ヶ月くらいすると大きな問題が発生した。ルータがセッションを裁ききれなくなり、ローカルマシンからのwebページ閲覧に支障が出るようになってしまったのだ。ルータ自体は4kのセッションまで対応となっているが、実質200セッション程度でパンクしてしまう(まだNTT-ME製であったからよかった。友人のルータは100セッション程度で危険になったそうだ)。また、アップローダ自体をmod_uploaderという負担のかなり小さいもので動かしていたのだが、それでも常時CPU15~25%程度を使用しており、ややCPU的にも将来の事を考えなくてはいけない状態になっていた。

数年前にアフェリエイトに興味を持った時に登録したアカウントが残っていたのでこれをアップローダにも設置するなどしていた事もあり、未確定ながらもそこそこの臨時収入が見込めそうであったので、新たに鯖機を組む計画を立て始めた(特にGoogleAdsenseはアップローダへの設置を禁止という話があるが、実際にはコンテンツが少ないページへの設置が禁止であるので、ある程度コンテンツになっていれば問題はない。そもそも海外のダウンロード向けのサービスの多くにはGoogleAdsenseが設置されている)。

まずは、次のマシンのCPUの選定からだ。基本的には省消費電力でかつ初期投資額も安いものが条件となる。intelはDualCoreのCPUに関しては非常に強いが、SingleCoreのCPUに関してはコストパフォーマンスが悪い。そこで選択肢は再度AMDという事になってしまう。今回目を付けたのは発売されたばかりのAthlon64 3500+(45W)だ。価格も1万円程度であり、このクラスの中では低消費電力だ。マザーも安く入手出来るとあって飛びついてみる事にした。
マザーはASUS M2V-MXだ。またメモリはPC5300 DDR2 1GBと倍増させてみた。ケースなどは使い回しで3万円内で新しいものにする事ができた。

ここから苦悩が再度始まる。


2007年4月25日

自宅鯖メンテナンス

★この日記からE2160的なネタは減ります。文章表現もちょっとくだけていきます。

以前はプロバイダのホームページスペースを使ったり、geocitiesの様なレンタルスペースを使っていた事が多かったのだけども、ここ数年は回線事情も良くなって自宅でサーバを構築できる様になってきたので、自宅鯖の方へ移行した。

最初の頃はwindowsベースにて、AnHttpdを使っていたけれどもしょっちゅう落ちる事と、アクセス制限が面倒だったのでapacheに移行。
自宅の引っ越しを挟んでしばらくはhttpのサービスをやめて、NASを外部から接続できる程度のftpdのみの稼働をしていたが、いろいろやりたくなったのでhttpdの方も再開しようと思う。
せっかくだから勉強も兼ねてlinux系のOSにしようという事で友人に問いた所、Debian GNU/Linuxを薦められたのでインストールをして今に至る。

ここでサーバマシンについて。
24時間稼働なんだけどもほとんどidleに近いCPU使用率のPCなので、idle時の消費電力の大きなCPUを使うと電気代的に非常にガンなわけだ。
そんなわけで、消費電力が低く、しかしイニシャルコストもかからず、I/O周りもそれなりに新しいものという事で去年導入したのが、AMD GeodeNX1500というCPU。あまりなじみが無いCPUだと思うが、まぁそれは当然で一般向けのCPUではなく、エンベデッド向けのものなのだから。SocketAのCPUではあるけれども、マザーが正式対応をうたっているものは数種類しかなくエンベデッド向けなので当然価格も高い。それではイニシャルコストがかかってしまう。正式対応していないマザーではどうか、というとmobile Athlon扱いになり、コア電圧も上がってしまうが一応動作はする。そこで、適当に安いマザーを探してきてあてがってやるというわけ。

このCPUは定格で166MHz×6≒1GHzだけど、非対応のマザーだとFSB100MHzになるので600MHzになる。TDP6WのCPUなのでクロックが下がれば更に消費電力が下がるって思えば速度に支障が出ないならばこれでよしとする。

マザーボードを選別するにあたって求められる事は、オンボードVGA搭載、オンボードLAN、オンボードS-ATAの3点。動作確認マザーリストなどの情報も参考にしつつ、選択したのはGIGABYTE GA-7VM400AMFというマザーボード。オンボードでVGAとLANとS-ATAx2を搭載。新品では入手できないので中古になるがsofmapにて8500円程度。メモリは完全に使い回しでok。PC2700 512MBの余り物を割り当ててやる。

そんな感じでLinuxサーバ第1号機が完成。ケースも使い回しなので低コストにて導入できた。しばらくの間はこの環境が続く。