2010年1月 1日

FreeBSD:忘れてましたがpftpxはportsから削除されました

http://www.freshports.org/ftp/pftpx/

書くのをすっかり忘れてましたが、メンテナンスされてないのと、
devel/libeventの仕様変更によって無効になってしまったので削除ということらしいです。
本家も403出すぐらいだし、このまま消滅ですかね
便利だったんだけどなぁ・・・またftp-proxyに戻るのか

2009年12月14日

FreeBSD:pftpxが動かなくなった・・・解決済み

突然NATの内側からFTPが使えなくなって、なんぞと思って調べたら
依存しているlibeventがportsでバージョンアップしてて
依存するシンボルが削除されたからだった
バグレポートは別のports関連で出てたんで、対応待ち
とりあえずパッケージの版が一個前のだったから
それ入れて解決

2009年11月25日

猫鯖:FreeBSD8.0のRELEASEが出たようなのでうぷぐれ

完全にリモートからやったのでどきがむねむねでした。
FreeBSD8.0の概要はここが早くて充実

【レビュー】ついに登場! FreeBSD 8.0の新機能をさっそくチェックしてみました (1) 高度なルータ環境を提供するVimage | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/articles/2009/11/24/freebsd80/

たっぷり入ってるアプリの再ビルドが終わってないのでまだ動いてないサービスがあるのですが
まあ後回しでもあんまり問題なさげ。

2009年10月14日

猫鯖:MySQLの罠に今更はまった

phpBBをLaCoocanから猫鯖に移行する際に気づいたことがある。

LaCoocanのMySQLからダンプしたSQLを猫鯖のMySQLに放り込むと確実に文字化けする。
LaCoocanがEUCで、猫鯖はutf8にしてるから・・・と思ったけど
外で文字コード変換してSQL入れても何故か化けてる。どういうことだ。
おかしいな・・・と思ったら文字コードの照合順序がlatin1_swedish_ciだと?
要するに別言語として解釈されてるわけか、そらー・・・化けるわw

どういうことかとぐぐっても経緯がごちゃごちゃしててよくわからんのだが
とりあえずportsのMakefile見るとデフォルトがlatin1_swedish_ciになってるのが直接の原因っぽい
オプションを入れてあげないと駄目だったのか・・・よく読んでなかった
my.cnfも最初は配置されないとか罠過ぎる
そして、それに気がついたのが今更とか┌(_Д_┌ )┐

最近出たMySQL5対応Webアプリはutf8を明示して入れ物を作ってるようだが
MySQL4時代のアプリケーションはとくに明示しなかったようだ、
そのせいでデフォルトのcollationとしてlatin1_swedish_ciになってると。
DBに格納されてるのは文字コードだから、アプリ側が解釈すれば表向き化けずに表示できるっぽい
だから気がつかなかったんだな

だが他のDBから文字コードを指定してインポートしたり、バックアップ取ろうとしてエクスポートすると
文字化けした上に元に戻せなくなる、と。
データを変換する手段はあるようだが、SQLを組むのが面倒なのでDB消して入れ直すことにした。
アプリからは正常に見えるので、バックアップと復元の仕組みが用意されていれば、その方が早くて確実。
古い方のPsychoStatsはバックアップと復元の仕組みがないから諦めるしかないな
使ってないしアクセスもほとんど無いから大丈夫そうだ。
もともと削除の予定だったし(´ω`)

そんなわけでいろいろメンテナンスしましたよ。

猫鯖:こっそりとCS:Sのファイル置き場を変更

今までLaCoocanに置いていたけど、容量2Gと手狭になってきたのでお引っ越し

・・・自鯖にな

だってギガバイト単位のファイル置かせてくれて、安いところ無いんだもん(ノ∀`)
LaCoocanは月500円だけど、2Gまで。
さくらだと月500円で3Gのがあるね。

2Gだろうが3Gだろうが、鯖に置いておくファイルの量はうなぎ登りだから
もっと大きくないと駄目っぽい
仕方がないので自鯖に持ってきた。あと499G使えるぜヒャッハー
容量の問題でリストラしてたMAPも起きっぱなしに出来そうだ。

アクセス集中時の輻輳が問題になりそうだけど、今のところ大丈夫、か?
まあLaCoocanはそのうち解約の予定

phpBBは猫鯖本体に移動、ついでにphpBB3にも移行
そしてこれに付随する話があって・・・後で書く。

2009年9月16日

FreeBSD:240Pbyte/sの転送があったらしい

タイトルは釣りですwwサーセンwww

nekosaba.nekolove.jp-if_bge0-day.png

グラフを見てたらこんなことになってた
どうやらLAN内で240ペタバイトの転送速度が観測されたらしい

んなわけねーだろwwww

普通のギガビットイーサなのに・・・
数字を信じるにはあらゆる部分がたりねぇ
これはグラフをリセットしないとダメなレベル
OS側かアプリ側かわからないけど、バグなんだろうなぁ

FreeBSDのportsは
/usr/local/var/munin/
に、rrdファイルが格納されてるので
if関連のrrdファイルを削除
グラフのアップデートで消滅する
難点は今まで溜めてきたのが消えることだな。。。。

2009年7月19日

猫鯖:httpdが死んでた

なんか2日くらい前からhttpdが死んでた
まったく気がつかなかったwww

まあ、あんまり使ってないですからの・・・

で、原因はこれ
PHP: GNU Recode 関数 - Manual
https://students.kiv.zcu.cz/doc/php5/manual/ja/ref.recode.php.html

前もあった気がする・・・

2009年6月29日

ルータ:新しい鯖のスペックとか

こんな感じになりました。

OS:FreeBSD 7.2 RELEASE for AMD64
Case:Windy ALCADIA FT500 DRY SUMP
CPU:Intel Core2Duo E7300 2.66GHz
Memory:A-DATA 2Gbyte x4 (計8GByte)
Power:Antec EARTHWATT 380 (380W電源)
MB:Intel DQ45CB
PCI-E1:Broadcom 5721 PCI-E NIC
PCI-E16:none
PCI-E1:none
PCI1:
Intel 1000MT Dual port NIC
SATA0:WD Caviar Green WD10EADS
SATA1:WD Caviar Green WD10EADS
SATA2:WD Caviar Green WD10EADS
SATA3:WD Caviar Green WD10EADS
SATA4:WD Caviar Green WD10EADS
eSATA:WD Caviar Green WD10EADS(BOOT) 

主な機能:Web、DHCP、ルータ、FTP、MySQL、MAILなど

まとめてみたら
HDDが全部WD10EADSだ( ̄∇ ̄;)
HDDが全部で6台になるんだけど、内のSATAは5portしか無いのです。
SATAカードをPCI-Eにでも刺そうと思ってたけど、(PCIが埋まってるから)
eSATAをマザーボードのバックパネルからケーブル引き回せば良いってことに気がついたので
eSATA-SATA変換ケーブル1mを買って外から中にいれましたとさ。

前のなんでもルータ鯖の消費電力が200wぐらいで
この構成だと、EISTをONにしてアイドル75w、ZFSでscrubかけてるときで101wという表示
スペックダウンと言えなくは無いんだけど、外向けのサービスは何も変わらず
消費電力だけ下がったって感じなので、特にどうこうは無いはず。
安定して動いてくれればそれでいいですわ(´ω`)

FreeBSD:zfsボリュームの移動

通常、RAIDのセットを移動するのは大変面倒な作業です。
ほとんどの場合、安全のために新規に入れ物を作って、そこにファイルコピーなどで移動します。

ところがzfsの場合、それは不要

まず対象のzfsプールをexportします。
次にHDDを外して移動させ、importします。

以上終わり

どーです、簡単すぎて涙が出てきますね!

一応しっかりとしたマニュアルがあるので、それを読むと良いです。
BSDでもこの辺の操作は変わりませんので。

ZFS ストレージプールの移行を準備する (Solaris ZFS 管理ガイド) - Sun Microsystems <http://docs.sun.com/app/docs/doc/819-6260/gazre?l=ja&a=view>

exportするときのログは取り損ねたっぽいので、インポートだけ
マニュアル通りです。

インポートできるzpoolを確認して・・・

[root@nekosaba]/home# zpool import
  pool: zpool1
    id: 3124265574318153055
 state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
        zpool1      ONLINE
          raidz1    ONLINE
            ad8     ONLINE
            ad10    ONLINE
            ad14    ONLINE
            ad12    ONLINE
            ad16    ONLINE

インポートして確認
マウントは以前と同じところに自動でやってくれます。

[root@nekosaba]/home# zpool import zpool1
[root@nekosaba]/home# df
Filesystem         Size    Used   Avail Capacity  Mounted on
/dev/ad18s1a       7.7G    830M    6.3G    11%    /
devfs              1.0K    1.0K      0B   100%    /dev
/dev/ad18s1e       496M    8.0M    448M     2%    /tmp
/dev/ad18s1f       832G    236G    529G    31%    /usr
/dev/ad18s1d        58G    459M     53G     1%    /var
linprocfs          4.0K    4.0K      0B   100%    /usr/compat/linux/proc
devfs              1.0K    1.0K      0B   100%    /var/named/dev
zpool1/backup      1.6T    239G    1.4T    15%    /home/backup
zpool1/ftp_root    3.3T    2.0T    1.4T    60%    /home/ftp_root
zpool1             1.4T      0B    1.4T     0%    /zpool1

インポートの操作はこれでおしまい、なんて簡単な!
ちなみにexportも、zpool export zpool1(←poolの名前) とコマンド一行で済みます。
それ以外の操作は不要

というわけで旧猫鯖ルータは解体されました。
今日から新しい鯖で運用されます。

2009年6月23日

猫鯖:新鯖の構築がほぼ終わった

あとはアドレスとか書き換えて、zfsのボリュームをHDDごと移植して完了の予定
どっかの平日日中にでもやりますかね、たぶん数時間あれば終わるはず
smbfsがあるぐらいだから・・・と思って見つけたsshfsで
設定やファイルのコピーがとっても楽ちんでした(´ω`)

今の鯖は結構うるさくて、ファンコンで無理矢理静かにしてるんだけど
新鯖は結構静かでいいかんじです。ケースがWindy FT500ってヤツなんですが
かなり窒息気味なことを除けば、開口部が少ないので鯖用にはナイス。デスクトップにはオススメしない。
低発熱なら窒息でもいいじゃろと思ってるけども

温度を見たいけどipmiが無いマザーだから、システムボード関連の温度を取得できない(´ω`)
いいハードウェアモニターは無いかのう・・・mbmonは動かなかった
CPUはcoretempで取れる。Core2系だから当然ですな。

そんなわけで取得してみた
新鯖:E7300

[root@nekosaba2]/# sysctl -a | grep temper
dev.cpu.0.temperature: 49
dev.cpu.1.temperature: 37


旧鯖:E6600

[root@nekosaba]/# sysctl -a | grep temper
dev.cpu.0.temperature: 70
dev.cpu.1.temperature: 69

えっ・・・なにこれこわい

 

さてportsに入ったvirtualboxでも使うためにgnome2をビルドするか。

2009年6月19日

猫鯖:AMTの罠

DQ45CBにはIntel AMTが搭載されています。
簡単に説明すると、サーバみたいにリモートから電源のON,OFF、ボードのシリアルとかを確認出来るもので
さらにSOL(Serial over LAN)とIDE Redirectまで付いてることから
リモートインストールにも使えるというナイスな機能(´ω`)
特にSOLは大事、シリアルコンソールを有効にしておけば
万が一シングルユーザモードで止まってもSOL経由で操作が出来るのです

参考:
笠原一輝のユビキタス情報局
http://pc.watch.impress.co.jp/docs/2008/1204/ubiq233.htm

 

 

そんな風に思っていた時期が俺にもありました。(AA略

 

なんかですね、SOLのモードで起動しないとSOLが使えない
操作方法としては、リモートコンソールのインターフェイスから再起動を選ぶ
そうすると起動時のロゴがテキストになって、BSDのメニューが見れるのね
でも、それ以外だとリモートコンソール見ても画面になんも表示されないのです
つまりKVM的な使い方は不可、SOL使うならSOLのモードで再起動しないとダメ
マジでこれBIOS設定とインストール時だけの機能なんかね?だとしたら役立たずだ!
だってOSからリブートすると普通のモードで立ち上がって来ちゃうんだぜ・・・つーか、OS(BSD)からSOLのCOM3が見えない
普段からこれでオペレーションって訳にはいかないということですな・・・
Intelもそういう想定はしてないっぽいけど

リモートで電源のOFFONは使える機能だと思うけどねぇ・・・(;´Д`)トホホ
まあ、低消費電力化が目的だから、OFFONが付いてるだけでも十分っちゃ十分ではある

2009年6月18日

FreeBSD:DQ45CBのdmsgとか

ぼへぼへーと環境構築中、あんまり進んでないです
胃腸炎か何かで死亡中ゆえ('A`) 

まあたいした内容でも無いので、続きに張っておく
デバイスの認識とか気になる人向け

続きを読む "FreeBSD:DQ45CBのdmsgとか"

2009年6月17日

猫鯖:刺さった

なんだかよくわからないけども、昨日リモートで猫鯖いじってたら刺さった
Pingとかルーティングとかは生きてたみたいだが、一切操作出来なくなって詰んだw
ログを見てみたらgnomeがおかしくなったみたい
リブートで復旧したけど、gdmがおかしくなって操作不可\(^o^)/オワタ
SSHでどうにか出来るけども・・・
まあ、鯖を入れ替えるのでこのままにしておくw

新しい鯖の素材を買ってきたので
適当にコネコネして遊ぶことにする(´ω`)

買ってきたもの:
Intel DQ45CB(低消費電力だしVTとかAMTとかてんこ盛り)
A-DATAの2Gメモリを4枚ぐらい(安かったのでついかっとなって)
AntecのEarthWatt380(鯖はこのぐらいで十分)
WDの1TBのHDD(低消費電力でまともなのがこれぐらいしか・・・)

余ったケースと、今使ってないPV4キャプマシンから抜いたE7300と組み合わせて
64bit版BSDをしばらくコンフィグして遊ぶ
元の鯖のコンフィグ無いと組めんので平行稼働の予定
すぐには移行しないつもりではある

今の猫鯖ルータの消費電力:アイドル200w前後
新しい猫鯖ルータ(予定)の消費電力:アイドル53W
HDD5台を移植予定なので+20~30wぐらいになるはずだけども・・・

 

関係ないけど風邪を引いたような気がするな・・・('A`)

2009年5月25日

雑記:FreeBSDを64bitで動かしたい

なんか放置気味だったので適当に雑文でも

zfsを使い始めたので、メインのFreeBSD鯖をメモリ増設&64bit化したいなぁと思ったが
どーやら32bitから64bitへのアップグレードはアクロバティックな手法が必要になるらしい

参考:
FreeBSD i386 から amd64 へ: uyota 匠の一手
http://uyota.asablo.jp/blog/2007/06/02/1550018

これはめどい・・・
おとなしく入れ直してしまうのが一番かのう・・・
そうすると鯖の長期停止は免れないわけだが。
暇つぶしかねて弄りすぎてるからなぁ
進むことも退くことも出来やしない

一応ざっと調べた限り代替案のPAEはかなり問題がありそうな様子
選択肢には入れられないな・・・

ちなみに、なんでそんなこと思ったかというと
muninのグラフ見てると結構スワップイン、スワップアウトしてるのねこれ( ̄∇ ̄;)
メモリはすでに32bitの限界(4GByte)まで入れてるから
これ以上メモリ増やすには・・・と思ったわけ

どうしようかねぇ

2009年2月17日

FreeBSD:ZFSボリュームのHDDをリプレース

ZFSに使おうと思って確保していたHDDが、思いもよらない故障でPT1マシンに行ってしまって
仕方が無く修理に出したWDC WD10EADSがやっと帰ってきた。
丁度Sofmapの初期不良期間が終わった後に問題が発覚したので、修理扱い・・・
結局16日ぐらいで戻って来たっぽい

なので、一台だけあるEACSをEADSに置き換える作業のメモ書き

ATA channel 3:
    Master:  ad6 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <WDC WD10EACS-00D6B0/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 5:
    Master: ad10 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 6:
    Master: ad12 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 7:
    Master: ad14 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present

まず交換予定のad8をZFSでofflineにする。
これをしないとディスクにアクセスしにくる度にZFSがエラーを吐きまくってよろしくない。

試した限りでは、onlineにした後でscrubかければ大丈夫っぽかったが。(←試したのかよ!!)
ZFSのマニュアルによれば、チェックサムが壊れてるファイルがある場合、
他のディスクからパリティを引っ張ってきて勝手に修復してくれるらしい(auto rebuildとは別で、アクセスしたファイル単位)
zpool statusのCKSUMがそれ、ここにカウントあるってことは
そのHDDにあるチェックサムが何かの原因で壊れたってこと
意図的にofflineにして書き込んだとかじゃなければ、ディスクの障害である可能性が高いです

[root@nekosaba]~# zpool offline zpool1 ad8
[root@nekosaba]~# zpool status
  pool: zpool1
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
 scrub: resilver completed with 0 errors on Wed Feb 18 03:56:48 2009
config:
        NAME        STATE     READ WRITE CKSUM
        zpool1      DEGRADED     0     0     0
          raidz1    DEGRADED     0     0     0
            ad6     ONLINE       0     0     0
            ad8     OFFLINE      0     0     0
            ad10    ONLINE       0     0     0
            ad12    ONLINE       0     0     0
            ad14    ONLINE       0     0     0
errors: No known data errors

予定通りraidzの冗長化部分が失われた状態、DEGRADEDになった。(とってもデンジャラス)
ホットスワップできるケースじゃないので電源を落とし、HDDを交換する。

HDDを交換したことを知らせるreplaceオプションでリビルド開始

[root@nekosaba]~# zpool replace zpool1 ad8
[root@nekosaba]~# zpool status
  pool: zpool1
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress, 27.65% done, 1h30m to go
config:
        NAME           STATE     READ WRITE CKSUM
        zpool1         DEGRADED     0     0     0
          raidz1       DEGRADED     0     0     0
            ad6        ONLINE       0     0     0
            replacing  DEGRADED     0     0     0
              ad8/old  OFFLINE      0     0     0
              ad8      ONLINE       0     0     0
            ad10       ONLINE       0     0     0
            ad12       ONLINE       0     0     0
            ad14       ONLINE       0     0     0
errors: No known data errors

大体2時間ほどのようだ。書き込み済みのデータは1.3T/3.6Tほど。
てかむっちゃ早くね?raid5でテラバイト級ストレージのリビルドってこんなに早かったっけ?
下手したら丸一日で済まないぐらいだったと思ったが。
ストレージにZFSを選んだ人が一番早く帰って眠れるという評判はほんとのようだ。

[root@nekosaba]~# zpool status
  pool: zpool1
 state: ONLINE
 scrub: resilver completed with 0 errors on Tue Feb 17 21:04:17 2009
config:
        NAME        STATE     READ WRITE CKSUM
        zpool1      ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            ad6     ONLINE       0     0     0
            ad8     ONLINE       0     0     0
            ad10    ONLINE       0     0     0
            ad12    ONLINE       0     0     0
            ad14    ONLINE       0     0     0
errors: No known data errors

ほぼ時間通り2時間10分で終了
同じような作業でアレイの容量を増やすことも出来ちゃうので、zfsはステキなファイルシステムですわ(´ω`)

あふたー

ATA channel 3:
    Master:  ad6 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 5:
    Master: ad10 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 6:
    Master: ad12 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 7:
    Master: ad14 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present

 

2009年2月 6日

FreeBSD:7.1Rにしたらpfのftp-proxyがつながらなくなった原因

なんだと思ったらftp-proxyの場所が変わってた

今まで:
/usr/libexec/ftp-proxy

FreeBSD7.1だと
/usr/sbin/ftp-proxy

/etc/inetd.confを書き換えて再起動したら行けた
mergeするときによく見なかったせいだな(;´Д`)
もしかしたら7.xになったときに変わったのかも

2009年2月 5日

FreeBSD:ZFSでraidz作ってみた。

ZFSの説明やらなんやらは面倒なので割愛(それどころじゃないって理由もあるが。。。)
一応参考はこんな感じ

ZFS - Wikipedia
http://ja.wikipedia.org/wiki/ZFS

@IT:一瞬でのバックアップを実現するSolaris ZFS(1/4)
http://www.atmarkit.co.jp/flinux/rensai/opensolaris04/opensolaris04a.html

Solaris ZFS 管理ガイド - Sun Microsystems
http://docs.sun.com/app/docs/doc/819-6260

ZFS Best Practices Guide - Siwiki
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

RAIDシステムとちがって"ファイルシステム"で冗長化を実現したってのがポイントですか。
ディスクの管理も今時のハイエンド外部ストレージシステムの考え方が入っていて
使うだけなら管理がすごく楽になってる。パーテッション作るどころかフォーマットすらいらないし
コマンド一発で望みのアレイを作ってプールとしてマウントしてくれる。
fstabにちまちまとマウント情報を書くのも不要

一応個人的な欠点としては、前も書いたけど、RAIDレベルのアップデート、ダウングレードが不可
ディスクをRAIDアレイに追加不可、書き込みが遅いってあたり
Solarisには実装されてるけど、FreeBSDには無い機能とかもあるから
今のZFSのフルセットを使用したいならOpenSolarisを使うのがベスト
上の欠点もそのうち克服されるだろうけど、FreeBSDのRに降りてくるまでには少し時間がかかるはず
今回のオイラのHDD構成なら、よほどのことが無ければHDDを増やそうとかは思わないはずだ!w

ATA channel 3:
    Master:  ad6 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <WDC WD10EACS-00D6B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 5:
    Master: ad10 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 6:
    Master: ad12 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present
ATA channel 7:
    Master: ad14 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
    Slave:       no device present

raidzで約4Tのストレージを作るヽ(・∀・ )ノ キャッ キャッ
一応、zfsを利用するための呪文は必要

ZFSTuningGuide - FreeBSD Wiki
http://wiki.freebsd.org/ZFSTuningGuide

カーネルに"options KVA_PAGES=512"を追加して再構築、インストール
/boot/loader.confに下記を追加

zfs_load="YES"
vm.kmem_size_max="1536M"
vm.kmem_size="1536M"
vfs.zfs.arc_max="512M"
vfs.zfs.vdev.cache.size="20M"

メモリ4Gなので、パフォーマンス重視の設定です
早速作ってみる、とりあえずベンチ目的のストライプで。

>
[root@nekosaba]/# zpool create zpool0 ad10 ad12 ad14 ad16 ad18
[root@nekosaba]/# zpool status
  pool: zpool0
 state: ONLINE
 scrub: none requested
config:
NAME STATE READ WRITE CKSUM zpool0 ONLINE 0 0 0 ad10 ONLINE 0 0 0 ad12 ONLINE 0 0 0 ad14 ONLINE 0 0 0 ad16 ONLINE 0 0 0 ad18 ONLINE 0 0 0
errors: No known data errors

そしてbonnie++でベンチマークしてみる。

[root@nekosaba]/# bonnie++ -d /zpool0/ -n 0 -b -u root
Using uid:0, gid:0.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Version 1.93d       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
nekosaba.nekolov 7G    90  98 155798  54 124857  47   171  86 338094  70 202.0  19
Latency               173ms    1473ms    1937ms     335ms     514ms     204ms
1.93c,1.93d,nekosaba.nekolove.jp,1,1233734113,7G,,90,98,155798,54,124857,47,171,86,338094,70,202.0,19,,,,,,,,,,,,,,,,,,173ms,1473ms,1937ms,335ms,514ms,204ms,,,,,,

読み330Mbyte/sぐらい?
書きは155Mbyte/sぐらいか・・・ストライプにしては遅いけど、ZFSはこんなもん

[[root@nekosaba]/# df
Filesystem  1K-blocks      Used      Avail Capacity  Mounted on
/dev/ad8s1a    2026030   414162    1449786    22%    /
devfs                1        1          0   100%    /dev
/dev/ad8s1e    2026030     1138    1862810     0%    /tmp
/dev/ad8s1f  199947006 88419976   95531270    48%    /usr
/dev/ad8s1d   24372460  9973930   12448734    44%    /var
linprocfs            4        4          0   100%    /usr/compat/linux/proc
devfs                1        1          0   100%    /var/named/dev
zpool0      4804853504        0 4804853504     0%    /zpool0

-h付けるの忘れて見にくいけど。。。
4.5Tbyteぐらい?おっそろしー
一度ぶっ壊して目的のraidz(RAID5相当)で作り直す

[root@nekosaba]/# zpool destroy zpool0
[root@nekosaba]/# zpool create zpool0 raidz ad10 ad12 ad14 ad16 ad18
[root@nekosaba]/# zpool status
  pool: zpool0
 state: ONLINE
 scrub: none requested
config:
NAME STATE READ WRITE CKSUM zpool0 ONLINE 0 0 0 raidz1 ONLINE 0 0 0 ad10 ONLINE 0 0 0 ad12 ONLINE 0 0 0 ad14 ONLINE 0 0 0 ad16 ONLINE 0 0 0 ad18 ONLINE 0 0 0
errors: No known data errors [root@nekosaba]/# bonnie++ -d /zpool0/ -n 0 -b -u root Using uid:0, gid:0. Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... Version 1.93d ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP nekosaba.nekolov 7G 88 97 130865 46 98056 39 193 97 262815 59 73.8 9 Latency 327ms 1278ms 2254ms 124ms 298ms 486ms
1.93c,1.93d,nekosaba.nekolove.jp,1,1233733157,7G,,88,97,130865,46,98056,39,193,97,262815,59,73.8,9,,,,,,,,,,,,,,,,,,327ms,1278ms,2254ms,124ms,298ms,486ms,,,,,, [root@nekosaba]/# df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad8s1a 1.9G 405M 1.4G 22% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad8s1e 1.9G 1.1M 1.8G 0% /tmp /dev/ad8s1f 191G 128G 48G 73% /usr /dev/ad8s1d 23G 9.5G 12G 45% /var linprocfs 4.0K 4.0K 0B 100% /usr/compat/linux/proc zpool0 3.6T 0B 3.6T 0% /zpool0 devfs 1.0K 1.0K 0B 100% /var/named/dev

3.6Tのストレージキタコレヽ(・∀・ )ノ キャッ キャッ
読みは262Mbyte/s、書きは130Mbyte/sぐらいかな?結構変動するみたいだけども
十分すぎるほど高速なストレージタンクだ
PT1であれこれしたデータを置いておくには十分だのう

ZFSの良いところは、イニシャライズとかアレイ作成時のビルドがいらないってところ
コマンドで作ったら即フルスピードで使えるのがいい
↑のテストもbonnie++動かすのに時間かかっただけで、アレイの作成、解放は一瞬で終わる
ストレージプールの拡張は即座に反映され、わざわざボリューム拡張などしなくとも良いのはいい

まあ、こいつはただのストレージタンクとしてしか使わない予定だから、あんまり余計な機能はいらないっちゃいらないが。

続きを読む "FreeBSD:ZFSでraidz作ってみた。"

2009年2月 4日

FreeBSD:6.3R→7.1Rへアップグレード

ZFSのために始めたんですが、予想外の事態で作業量が膨大なものになってしまいました(ノ∀`)
やっと一段落付いた・・・まだ完全じゃないけど。

やっぱりRoketRAID(Adaptec ATA RAID 1200A)のドライバか何かに問題があって、HDDへのアクセスが止まってしまう。
IDEはもうダメなのか、確かにいらないけど。
結局SATAのHDDに全部移して立ち上げたら、正常に起動した。
元からこうするつもりだったから、これはこれでよしとしよう・・・だが時間は返せ(ノ∀`)コノヤロー

さて、何も考えずにmake delete-old;make delete-old-libsやってしまったので
いっぱいいろいろと動かなくなりました・・・やっちまった
丸2日かけて入れ直して、ようやく一段落
断続的にWebやらなにやらが落ちてたのはそのせいです。

次はZFSの番だが・・・どんな死亡フラグが待っているんだろう・・・ある意味ワクテカでs

2009年2月 2日

FreeBSD:FreeBSD6.3R→7.1Rにアップグレード・・・の、はずが

freebsd-updateがあまりに遅かったので、buildworld,buildkernelの伝統的な手法で準備
installkernelして、シングルユーザモードで立ち上げてinstallworldをぽちっとしたところで悲劇が

RAID1組んでるシステム用のHDDが行方不明に/(^0^)\オワタ
その煽りで片方がDEGRADEDに突入、もう片方も応答無し
立ち上げたらRAIDコントローラに怒られるし・・・何があったんだ?

Feb  2 19:37:03 nekosaba kernel: ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode
Feb  2 19:37:03 nekosaba kernel: ar0: 152627MB  status: DEGRADED
Feb  2 19:37:03 nekosaba kernel: ar0: disk0 DOWN no device found for this subdisk
Feb  2 19:37:03 nekosaba kernel: ar0: disk1 READY (mirror) using ad6 at ata3-master

あれこれ試してみたところ、7.1Rのカーネルで立ち上げるとダメっぽい
ドライバに何か問題がありそうな雰囲気、ルータとかいろいろ動かしてるマシンだから
原因を突き止める余裕は無い
結局どうにも出来ないので6.3Rのカーネルでとりあえず立ち上げる・・・が
installworldを途中まで走らせちゃってるので非常に気分がよろしくない
どうにかしてアップデートさせたいので(今後のことも考えて)、
SATAの別のディスクに環境移植中、これで立ち上げてみて試してみよう

2009年1月15日

FreeBSD:Perl5.8.9

つい何気なくportupgradeしたらPerl5.8.9が入ってしまった('A`)
ライブラリが引き継がれるわけではないので、perl関係のものは全部入れ直しに・・・

ヤレヤレ ┐(´ー`)┌ マイッタネ

2008年12月 9日

自作?:WD10EADSかてきた


WD10EADS-20081209.jpg

こんな感じ。

ファイル鯖行きとなりました。
ディスクが余ったので鯖のHDDをSATAにしようかと思ったんですが
FreeBSD6.3がAHCIに対応してないっぽいので諦め・・・
BIOSでOFFにすればいいんだけど・・・
まあ、FreeBSD7使えば解決するので、そのうちアップグレード予定

2008年8月19日

猫鯖:にゃん鯖アップデート

ちょっとうちにあるHDD計22台中10台をじゃんぱらに売って資金をげっと。
(さらに2台は燃えないゴミ行き)
そこでこんな物を買ってきてみました。

okaimono_2008-08-17.jpg


お買い上げ:
Intel Core2Duo E7300
ECS GF7050VT-M5
WESTERN DIGITAL WD10EACS-D6B0
WESTERN DIGITAL WD1001FALS

E7300は失敗したかなとか思ったけど、E8400が安くなかったので別にいいや。
4Gで常用するわけでも、メインPCでガリガリ動かすわけでもないし。
コアタイム(20:00-25:00)にフルに動いてくれればいいので、無駄な電気は使って欲しくない。
GF7050VT-M5は、GeForce7050のMBがこれしかなかったのと
安かった(4980円)から買ったけど、相変わらずECSのBIOSは必要最小限で気に入らない。
もはや安定して動いてくれればそれでいいや・・・。

ちなみになんでGeForce7050かというと、
ここ最近のチップセットの中では圧倒的に低消費電力なんですよね。
某wikiでも評判のAbit I-N73シリーズが良かったんですが、もはや手に入らない・・・。
世代落ちなのと、LGA775だとIntelチップセットが強すぎて、nVidiaはマイナーですからねぇ。

WD1001FALS.jpg

HDDはメインマシンとかサブPCのストレージ行き、ちいさな容量のを処分したので。
よーするにストレージのリストラをしたわけです。

というわけで
前から考えていた、NyanNyanServerのスペックアップデートを行います。
今は↓こんな構成ですが

OS : CentOS 5.0
CPU : AMD BE-2350 (2.1GHz DualCore)
M/B : ASUS M2NPV-VM (GeForce6150)
Memory : DDR667 1GByte x2
Server IP : 58.1.250.30:27015
Source TV : 58.1.250.30:27020

↓こんな感じになります。

OS:Ubuntu 8.04 LTS Server Edition
CPU:Intel Core2Duo E7300(2.66GHz)@3.16GHzz
M/B:ECS GF7050VT-M5 (V1.0A)
Memory:Crucial Micron Ballistix DDR2 PC2-6400 1GByte x2
HDD:HGST Travelstar 7K100 HTS721010G9SA00 (2.5inch 100GByte)
NIC:Intel PCI Gigabit Ethernet 1000GT

相変わらず余り物と新しいパーツとのテヘロ構成 (  ̄- ̄)
だがCPUは大幅に強化、OSは例のfps1000を目指す設定にする予定
Ubuntuはいくつかの理由から個人的に嫌いなので、問題があればCentOSにする・・・。

とりあえずOSは入れてSSHで入れるようにはしたので、あとはいろいろと弄るだけ。

2008年5月 5日

猫鯖:さらば2way Opteronマシン

猫鯖のメインルータにリプレースの時が来ました。
ちょっと無駄に思えてきてたんで
ずっと前から考えていたんだけども、なかなかタイミングが無くて放置してた

んで買ったぶつはこちら
S3210SHLC-01.jpg

 

何も書いてないから全然わからんですねw
INTEL S3210SHLC
i3210+ICH9Rの超シンプルなシングルソケットサーバ用のマザーボードです。

 

内容物はたったこれだけ 

S3210SHLC-02.jpg

 

このマザーボードか、PCI-Xが付いてるS3210SHLXと悩んだんですが
開店したばかりのFaith PC館をふらっと訪れたらS3210SHLCが置いてあったので
ちょっと悩んだ末に購入、お値段35,800円なり。
最初からIntelのNICを2つオンボードしてて非常にナイス。
拡張スロットもPCI-Express系が3つとPCIが2つと良いバランス。
オンボードグラフィックもあるんで、余計なVGAも付けなくて済む
あと1個Ethernetの口を増やせば、ルータとして稼働させる分には申し分ない。
Core2系マザーだからスペックも悪くないし。

強いて言うなら、サーバ用マザーだから、OC的な機能を一切持たないぐらいか。
サーバ機でOCなんて考えたくも無いですが・・・
(´-`).。oO(電圧下げが出来れば消費電力的にいいのになぁ・・・無理だと思うけど)

 

S3210SHLC-03.jpg

 

新猫鯖ルータ兼Web兼SQL兼メール兼FTP兼ファイル鯖のスペックはこちら

CPU:Intel Core2 Duo E6600 (メイン機で2月まで使ってたのを流用)
MB:INTEL S3210SHLC (i3210+ICH9R)
メモリ:Team elite 1Gbyte x2 (買ってからテストだけして放置してた流用品)
HDDと電源とケースはすべて流用
PCIスロットにIntel 1000MT(PCI-X版)を追加

 

相変わらず流用できる物はとことん流用する貧乏性の私
そうでなければ買いませんでしたけどね
E7200とか良さそうだったけど、値段も性能もほぼ変わらないE6600が眠ってたので流用
メモリも昔買って放置してたのをそのまま流用
下手にRegisteredとか求められないマザーだから、Non-ECCでも動くのはナイス
でも、出来ればECC付きのメモリにしたいところですが。

ちなみに光学メディア読み取りとFDDはついに鯖から無くなりました。
USBデバイスの使い勝手が良くなったからですね。
必要な時に付ければ良いので、マシンごとに用意する必要性は消えたでしょう

もう一つ、このマザーはCPU周りのコンデンサの影響で、大型クーラーが干渉するかもしれない
最初SL-120とRM775を使おうとしたけど、コンデンサの場所が悪くて
向きが合わなかったので諦めざるを得なかった
正位置から90度回転することになる為、冷却効率が落ちてしまう。
無理矢理付けても良いんだけど・・・

そんなすったもんだを得て、組み上げてから前のBSD環境をそのまま移植
ドライブの配置が換わるから、オンボードに付けてたHDDをfstabでコメントアウトしたが
Adaptecの1200AカードごとRAID構成を持ってきた為
ほとんど何もせずに最後まで立ち上がったのはさすがBSDだぜ。
Windowsじゃこうもいかないだろう、はっはっは('∀`)

dmesgはこちら
環境が大幅に変わったので、念のためKernelは再構築し直しました。

Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.3-RELEASE-p2 #0: Sun May  4 10:47:29 JST 2008
    root@nekosaba.nekolove.jp:/usr/src/sys/i386/compile/NEKOMIMI_SMP
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz (2434.70-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6f6  Stepping = 6
  Features=0xbfebfbff
  Features2=0xe3bd
  AMD Features=0x20100000
  AMD Features2=0x1
  Cores per package: 2
real memory  = 2145374208 (2045 MB)
avail memory = 2093596672 (1996 MB)
ACPI APIC Table: 
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 5
ioapic0  irqs 0-23 on motherboard
lapic0: Forcing LINT1 to edge trigger
kbd0 at kbdmux0
acpi0:  on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0:  on acpi0
est0:  on cpu0
p4tcc0:  on cpu0
cpu1:  on acpi0
est1:  on cpu1
p4tcc1:  on cpu1
acpi_button0:  on acpi0
acpi_button1:  on acpi0
pcib0:  port 0xcf8-0xcff on acpi0
pci0:  on pcib0
em0:  port 0x2400-0x241f mem 0x81a00000-0x81a1ffff,0x81a20000-0x81a20fff irq 20 at device 25.0 on pci0
em0: Ethernet address: 00:15:17:26:1f:f8
em0: [GIANT-LOCKED]
uhci0:  port 0x20e0-0x20ff irq 18 at device 26.0 on pci0
uhci0: [GIANT-LOCKED]
usb0:  on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1:  port 0x20c0-0x20df irq 21 at device 26.1 on pci0
uhci1: [GIANT-LOCKED]
usb1:  on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2:  port 0x20a0-0x20bf irq 17 at device 26.2 on pci0
uhci2: [GIANT-LOCKED]
usb2:  on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0:  mem 0x81a21c00-0x81a21fff irq 17 at device 26.7 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3:  on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
pcib1:  irq 17 at device 28.0 on pci0
pci1:  on pcib1
pcib2:  irq 17 at device 28.4 on pci0
pci2:  on pcib2
pci2:  at device 0.0 (no driver attached)
uhci3:  port 0x2080-0x209f irq 23 at device 29.0 on pci0
uhci3: [GIANT-LOCKED]
usb4:  on uhci3
usb4: USB revision 1.0
uhub4: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
uhci4:  port 0x2060-0x207f irq 19 at device 29.1 on pci0
uhci4: [GIANT-LOCKED]
usb5:  on uhci4
usb5: USB revision 1.0
uhub5: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub5: 2 ports with 2 removable, self powered
uhci5:  port 0x2040-0x205f irq 18 at device 29.2 on pci0
uhci5: [GIANT-LOCKED]
usb6:  on uhci5
usb6: USB revision 1.0
uhub6: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub6: 2 ports with 2 removable, self powered
ehci1:  mem 0x81a21800-0x81a21bff irq 23 at device 29.7 on pci0
ehci1: [GIANT-LOCKED]
usb7: EHCI version 1.0
usb7: companion controllers, 2 ports each: usb4 usb5 usb6
usb7:  on ehci1
usb7: USB revision 2.0
uhub7: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub7: 6 ports with 6 removable, self powered
pcib3:  at device 30.0 on pci0
pci3:  on pcib3
atapci0:  port 0x1488-0x148f,0x1494-0x1497,0x1480-0x1487,0x1490-0x1493,0x1000-0x10ff irq 16 at device 0.0 on pci3
ata2:  on atapci0
ata3:  on atapci0
em1:  port 0x1440-0x147f mem 0x81900000-0x8191ffff irq 17 at device 1.0 on pci3
em1: Ethernet address: 00:07:e9:09:5a:76
em1: [GIANT-LOCKED]
em2:  port 0x1400-0x143f mem 0x81940000-0x8195ffff,0x81920000-0x8193ffff irq 18 at device 2.0 on pci3
em2: Ethernet address: 00:15:17:26:1f:f6
em2: [GIANT-LOCKED]
isab0:  at device 31.0 on pci0
isa0:  on isab0
atapci1:  port 0x2428-0x242f,0x2434-0x2437,0x2420-0x2427,0x2430-0x2433,0x2020-0x203f mem 0x81a21000-0x81a217ff irq 21 at device 31.2 on pci0
atapci1: AHCI Version 01.20 controller with 6 ports detected
ata4:  on atapci1
ata5:  on atapci1
ata6:  on atapci1
ata7:  on atapci1
ata8:  on atapci1
ata9:  on atapci1
pci0:  at device 31.3 (no driver attached)
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
atkbdc0:  port 0x60,0x64 irq 1 on acpi0
fdc0:  port 0x3f0-0x3f5,0x3f0 irq 6 drq 2 on acpi0
fdc0: [FAST]
pmtimer0 on isa0
orm0:  at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xcd800-0xce7ff on isa0
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
sc0:  at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0:  at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
ad4: 152627MB  at ata2-master UDMA100
ad6: 152627MB  at ata3-master UDMA100
ad14: 953869MB  at ata7-master SATA300
ad18: 476940MB  at ata9-master SATA300
ar0: 152627MB  status: READY
ar0: disk0 READY (master) using ad4 at ata2-master
ar0: disk1 READY (mirror) using ad6 at ata3-master
lapic1: Forcing LINT1 to edge trigger
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ar0s1a
ukbd0: Dell Dell USB Keyboard, rev 1.10/3.01, addr 2, iclass 3/1
kbd1 at ukbd0
em0: link state changed to UP
em1: link state changed to UP
em2: link state changed to UP
ng0: promiscuous mode enabled

意外だったのは、このマザーはオンボードNICを2つ持つため
それぞれem0、em1と認識すると思ってたのに
PCIに刺した1000MTがem1になって、オンボードの2番目のNICがem2になってしまったこと
したがって、インターフェイスを指定して書いてたコンフィグをいくつか書き換える羽目に・・・
大した手間じゃ無かったし、すぐにわかったからいいけど。

それ以外は特に異常なしの模様
プラットフォームがまるで違うのに、ほとんど問題無く移植が終わったことは驚異的
powerdでちょっと気になったことが起こったけど、一応解決。
これは別のエントリにする予定。

2008年1月31日

FreeBSD:FreeBSD+pf向けのUPnPに最適なminiupnpd

明けましておめでとうございます(遅
気がついたら新年明けてから一月ほど経過してました
なんかいろいろとやってたりやる気が無かったりで・・・

そんなわけで、久しぶりに便利なモノを見つけたので書いてみる。
FreeBSD+pf向けに便利なUPnPのデーモンです。
(´-`).。oO(この本文書いたのが実は1月12日だったのはここだけの秘密・・・)

miniupnpd

あれ?Linux IGDとかなくね?とか思ったあなた。
知ってると思いますが、pfに対応させるにはパッチを自作しないといけないのと、
しょっちゅう落ちて使い物にならんのですよ(´Д⊂ヽ

そんなわけで、他に使えるモノが無いかと2年ぐらいウオッチしてたんですが
ようやく最適解が見つかったらしい。
FreeBSDだけじゃなく、OpenBSDとかNetBSDとかSolarisにLinuxまでカバー
なんで、FWもpfだけじゃなくipfとかipfwにnetfilterまで対応する。gjすぎる(´ー`)

FreeBSDならportsにあるので、インストールも問題無し。

configを弄るけど、変更が必要な箇所が少なく、
解説がわかりやすいので説明するところがほとんど無い

# vi /usr/local/etc/miniupnpd.conf
# WAN network interface 
ext_ifname=ng0   #外向きのインターフェイスを指定(必須) listening_ip=192.168.1.1 #LAN向けIPアドレスを指定、portはデフォルト port=5555
allow 1024-65535 192.168.1.0/24 1024-65535 #LANのIPアドレスとUPnPによる操作を許可するポートの範囲を指定(必須) deny 0-65535 0.0.0.0/0 0-65535

これだけでOK、あとはお好みで

次にpfのルールに必要な記述を織り込む

# NAT使用時のリダイレクト用
# UPnPd rdr anchor
rdr-anchor "miniupnpd"
# ポートを開ける為のルールを記述
# uPnPd rule anchor
anchor "miniupnpd"
pass out on $int_if from any to 239.0.0.0/8 keep state pass in on $int_if from any to 239.0.0.0/8 keep state

立ち上げるには

miniupnpd -f /usr/local/etc/miniupnpd.conf

動作してるかどうかはpfのコマンドで確認できる。

# pfctl -a miniupnpd -s nat
rdr pass on ng0 inet proto udp from any to any port = 3074 label "Xbox (192.168.1.21:3074) 3074 UDP" -> 192.168.1.21 port 3074
# pfctl -a miniupnpd -s rules

リダイレクトだけで、ルールが無いけどこれで良いんだろうか
Xbox360のLiveテストは"オープン"になってるから、動いてるはずだけども

一応Xbox360だけじゃなくて、Windows上からもちゃんと動いてるっぽい
プロパティボタンからルールを追加することも可能、すごく便利

 

2008112233459.jpg

ただし、クライアント側からルータに穴を開けられる以上、
悪用されると、セキュリティ的にはあんまりよろしくないUPnPですが
MSが入れ込んでるせいで、Xbox360やLive Messengerなんかは、
ほぼ必須に近い状態になってるのは皆さんご存じの通り(;´Д`)

オイラは必要なので使いますが・・・

2007年12月30日

雑記:WD10EACSを買った

WD10EACSを買ってみたー
自宅鯖のファイル倉庫用ですが・・・

これによってSeagateとWesternDigital製のHDD2台がファイル鯖から引退
中身を全部移してもまだまだ詰められるぜ

BSD鯖なので特にベンチは無し
ググるとMaxが85mbyte/s程度で、Minが40mbyte/sほどらしい
UFS2でフォーマットしたところ、820Gまで中身を詰められるようだ

と、ここまでやったところで問題発覚

実はめんどくさかったので、sysinstallのfdiskを使ったのだが
その時にエラーメッセージが出て、内容がわからなかったから放置していたんだけども
後から調べてみてところ、どうやらジオメトリがBIOSから取得出来なかったらしい
従って、ディスクの有効容量を完全に使用してない可能性が発覚Σ(゛口゛)

なんでやねんと思ってぐぐったところ、MLにこんなのを発見
http://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg01250.html

なんという・・・\(^o^)/
別に今のままでも実用に関しては問題ないが・・・気持ちが悪いのでどうしようかなぁ
幸いにも、まだ500GのHDDを一台買ってくれば作業できる量しか詰まってませんが・・・

メーカー公称値によると1,953,525,168セクターで
今うちの鯖で認識してるのが1,953,520,065セクター

んー、別にいいかもしれない・・・w

2007年10月30日

猫鯖:PHPが死んでた

ふとapacheを再起動したらhttpdが落ちる。Coredumpまで吐きやがって・・・
messageのログを見ると、phpが原因で落ちてる雰囲気

Apacheのバージョンはこちら

Apache/2.2.6 (FreeBSD) mod_ssl/2.2.6 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.4 with Suhosin-Patch configured -- resuming normal operations

はき出されるメッセージ

Oct 29 08:55:00 nekosaba kernel: pid 10324 (php), uid 107: exited on signal 11
Oct 29 08:56:09 nekosaba kernel: pid 10833 (httpd), uid 0: exited on signal 11 (core dumped)

phpを外すと正常にApacheは起動する・・・やっぱphpか
と、いうことでpkg_deinstallして全部作り直してみるが、やっぱダメ
php単体だと問題が無く、php5-extensionsを入れるとダメなことから
モジュールがどっかおかしいらしいので
該当するモジュールを探してみるが、正直わからん(ノ∀`)

モジュールを入れたり外したりしてるうちに、何故かhttpdが上がるようになったけど
原因になるモジュールは相変わらず不明
そしてapacheのシャットダウン時にエラーが出るので、結局のところ未解決
これは困った・・・

httpd-error.logから抜粋

httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
httpd in free(): error: junk pointer, too high to make sense
[Tue Oct 30 12:55:46 2007] [notice] caught SIGTERM, shutting down
httpd in free(): error: junk pointer, too high to make sense

phpを叩いてもkonozama

[root@nekosaba]/var/log# php -v
PHP 5.2.4 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 29 2007 09:58:58)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
php in free(): error: junk pointer, too high to make sense
Abort (core dumped)

さてどうしたものか・・・
ここは困ったときのgoogleさんですね('-'*)

しかし国内の似た症状を示してるサイトは役に立たなかったので海外へ

BSDのMLからこんなのを発見
http://www.takizo.com/blog/2006/11/02/php-recode-caused-php-core-dump/

ほうほう、recodeを消せばいけるのか
というわけで依存含めてばっさりと削除

[root@nekosaba]/# pkg_deinstall recode php5-extensions-1.1 php5-recode-5.2.4_1
--->  Deinstalling 'php5-extensions-1.1'
--->  Deinstalling 'php5-recode-5.2.4_1'
--->  Deinstalling 'recode-3.6_6'

注:php5-extensions-1.1はお好みで

削除後↓

[root@nekosaba]/var/log# php -v
PHP 5.2.4 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 29 2007 09:58:58)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

どうやら直った予感
apacheもちゃんと動作してるっぽい、良かった良かった

さて、さらに調べたところ、この問題は結構前からあるらしく
最近突然発生したってことは、今まで回避できてたってこと
なんで回避出来てたか調べたところ
PHPのマニュアルにありました。

PHP: GNU Recode 関数 - Manual
http://php.mirror.camelnetwork.com/manual/ja/ref.recode.php

拡張モジュール mysql または imap をロードした 後に recode を拡張モジュールとしてロードした場合に、
PHP のクラッシュおよび起動に関する問題が 発生する可能性があります。
これらの拡張モジュールの前に recode を ロードすることにより、問題を解決することができます。
これは、imap で使用されている c-client ライブラリおよび recode の両方が 固有の hash_lookup() 関数を有しており、
mysql と recode が固有の hash_insert 関数を有している ことによる技術的な問題です。

拡張モジュール mysql または imap をロードした 後に recode を拡張モジュールとしてロードした場合に、
拡張モジュール mysql または imap をロードした 後に recode を拡張モジュールとしてロードした場合に、
拡張モジュール mysql または imap をロードした 後に recode を拡張モジュールとしてロードした場合に、

そういうことですか・・・( ゚Д゚)
ということは消さなくてもOKだったことですね、と
使い道が(今のところ)無い(はず)なのでこのまま放置しておくとしよう
phpのextensionsはこういうことがたまにあるからなぁ・・・

2007年9月23日

猫鯖:監視ツールについてのお話(HotSaNICとmunin)

猫鯖では、鯖の運用情報収集にHotSaNICを導入しております。
元々Linux向けのソフトウェアなんですが、FreeBSDでも動かせるので(若干弄らないといけないですが)重宝してたり。
ただ、出来ることはそんなに多くない・・・

FreeBSDで使う為のドキュメントはこちらが良さそう

仕事と家事の狭間に:状態監視ツールRRDToolとHotSaNICのFreeBSDへの導入
http://www.toshikazu.org/archives/000068.html

ググればすぐに出てくるし、ちょっと古いですが
HotSaNIC自体がバージョンアップされてないので、これで十分かと

導入時にCactiやMTRGも考えたんですが、MTRGはめんどくさかったのと
Cactiはうちの環境だと良く問題が起きてたので、結局HotSaNIC一本で行くことに

さて、CSS鯖を別にしたおかげで、別鯖の運用情報を収集する必要が出てきました。
これはHotSaNICだと対応が難しいので、cactiでも使おうかなーと思っておりましたが
うちの環境だとやっぱ動かない・・・cronが動かない・・・

↓こんなエラーがphpから出る、もちろん情報は収集されず


[23-Sep-2007 13:15:05] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20050922/gd.so' - Cannot open "/usr/local/lib/php/20050922/gd.so" in Unknown on line 0

ぱっと見てPHPのライブラリ無いって言ってるのはわかったけど・・・今使ってるのは20060613のやつだから、どうにもおかしい
20050922のlibなんてどっから見つけてくるんだ?

結局、あれこれチャレンジして心が折れたので諦め(ノ∀`)オワタ

んで、なんか無いかなーと思って調べたらmuninというのを発見

こ・こいつはSUGEEEEEEEEEEEEEE

munin-test.jpg

munin-mainがグラフとか作ってmunin-nodeがデータを収集してくるらしい
サーバが何台あっても、munin-mainにグラフを全部集中出来るから
監視対象鯖にはmunin-nodeを入れて、アクセス関連の設定を行えばOK

ちなみに、FreeBSDだとportsのsysutilにmunin-nodeとmunin-mainがあるので
両方をさくっとportinstall


# portinstall sysutils/munin-node/
# portinstall sysutils/munin-main

途中ユーザとかグループを作るかどうか聞かれるので、yes


You need a group "munin".
Would you like me to create it [y]? y
Done.
You need a user "munin".
Would you like me to create it [y]? y
Done.

これでインストールそのものは終了

後やることは、インストールの途中で出てくる下記を設定


********************************************************************
Unless this file already existed, a sample configuration file
has been placed in /usr/local/etc/munin/munin-node.conf.

Please edit it according to your needs.

********************************************************************

The Munin client will *not* be started automatically. To allow it
to start, put this line in /etc/rc.conf:

munin_node_enable="YES"

Then, it will be started on the next boot. If this line is already
present, the client will be started now. Otherwise, edit
/etc/rc.conf and execute this command:

/usr/local/etc/rc.d/munin-node.sh start
********************************************************************

そのまま動かすと、特に設定しなくても
DiskやNetworkやPostfixのキューやらSystem情報をいろいろ集めてくれる

各種プラグインはシンボル張るだけで入れたり外したり出来るという念の入れよう(?)

収集データの表示期間の設定が出来ないので、細かい状態を知るのには向いてないかもしれないけど
お手軽に中長期の記録を採れるってのは凄く便利だと思う
自分の好きなようにゴリゴリ弄る人には微妙かもしれないけど・・・

まあ、オイラみたいなものぐさ鯖缶にはいいソフトですヽ(´ー`)ノ

動作例っぽいもの:munin - official

2007年6月19日

猫鯖:CS:S鯖をLinuxネイティブで動かしてみて・・・

いきなりCS:S鯖をLinuxに移行してみて1日が立ちましたが
なんかBSDを使って動かしてたのがバカらしくなるほど安定してます(;´Д`)

去年のアップデートのあたりからだいぶ微妙になってはいたのですが
プラグインを入れたり外したりで、だましだまし運用していたものの
今回のアップデートで見事にトドメを刺されてしまいました(;´Д`)モウダメポ

さーて、猫鯖(ルータ)のスペックが過剰になってしまったぞ、と
ルータ兼、Web鯖兼、Mail鯖兼、ファイル鯖にOpteron250の2wayなんていらないなぁ・・・電気も食うし
Opteron240EE手に入らないかなー、公称TDP30Wのナイスな低消費電力CPU・・・(;´Д`)
コンパイルは遅くなるけど、それで十分な気がする
しかし、もう売ってなさそうな雰囲気・・・

うんちく:ホストネーム
nekosaba.nekolove.jp  (ルータ兼いろいろ)
tiger.nekolove.jp  (SRCDS専用鯖)

ところで、CS:S鯖をWeb鯖から外に出してしまったので
PsychostatsやらDemoファイルなどが面倒なことに・・・

PsychostatsはFTPで鯖に繋いで、ログをダウンロードしてくるオプションが存在する為
stats.cfgをちょこちょこ弄って終わり
問題はDemoファイルで、どうしようかこれ(;´Д`)

2007年6月18日

猫鯖:CSS鯖死亡

『Sourceエンジン』アップデート Pureサーバーモード実装 | negitaku.org
http://www.negitaku.org/news/7957/

つい先日、SRCDSの大規模なサーバアップデートがあったのですが
それ以後、猫鯖の動作がとっても微妙なことに。。。

なんかすぐ落ちるんですよね、落ち方もちょっとおかしい
一端落ちてから入り直すと確実に落ちたりする

プラグインを入れたり外したりしていろいろ試した結果
Mani_Admin_PluginかSRCDSそのものに問題があるような感じでした。
このプラグインが動かないと、正直鯖運営ができないので、ものすごい困るんですけど。。。

ところが、海外のフォーラムではあまり大きな話になってない感じで
もしかしたら、マイノリティなFreeBSDのLinuxエミュレータで動かすと問題が起きてるのかなと疑い
オイラのゲーム用のメインPCで、VMwareを入れてCentOS上でSRCDSを動かしてみたところ
なんの問題も無く動くことが発覚、FreeBSDオワタ\(^o^)/

DSCF0454.jpg

続きを読む "猫鯖:CSS鯖死亡"

2007年4月 7日

猫鯖陥落

今朝リモートからリブートしてみたところ、上がってこなかった・・・(´・ω:;.:...

仕事が終わって速攻で帰ってきたら、fsckでエラー吐いてシングルユーザモードになってた\(^o^)/ オワタ
普通に理由がわからん・・・なんかしたっけ?
ATAカードがイカレてるとか?('A`)

とりあえず、8時48分頃から18時50分まで鯖全体が落ちてました(´・ω・`)ションボリ

しかし・・・これはもうターミナルサーバを導入するしか無いな(ノ∀`)
Cisco2509か2511でも買うかなぁ

2007年3月 6日

SSHへの攻撃

自宅鯖やってるとSSHへのブルートフォースがうざいです( ´・ω・)

つーわけでぐぐってみたところ
FreeBSD,pfで使えそうな防御策を発見したのでメモ
[FYI] SSHアタック防止 (freebsd 6)

これは(・∀・)イイ!!

2007年1月27日

FreeBSD 6.1→6.2にアップグレード

というわけで6.2にアップデートしました。
作業そのものは特に問題なく終了
mergemasterした時に中途半端に弄ったせいでbindが動いて無かったり
httpdが上がってないのに1日ほど気づかなかったりしたけど

FreeBSD nekosaba.nekolove.jp 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 19 10:31:54 JST 2007

2007年1月20日

FreeBSD 6.2-RELEASE

http://www.freebsd.org/releases/6.2R/relnotes-i386.html

気がついたらFreeBSDがバージョンアップしてた。
ちょっと気になるアップデートがあるので、1月24か25の午前中にアップデートしようかなと思う今日この頃
もうbuildworldとbuildkernelは済ませてるので1時間もあれば終わるはず・・・
その後しばらく鯖に繋がらなかったらお察しください(ノ∀`)

2006年8月 1日

ようやく解決

PFのRULEに1行追加

nat on $ext_if proto udp from 192.168.1.3 port 27035 to any -> ($ext_if) static-port

↓更新後

ng0 udp 192.168.1.3:27035 -> 58.1.250.30:27035 -> 68.142.72.250:27011 MULTIPLE:MULTIPLE

OK、サーバブラウザでも見えた
長い戦いだった

2006年7月17日

BSDに限界を感じてきた今日この頃

といっても鯖としてのメインの機能ではなく、CS:S鯖のお話
やはりLinuxバイナリ互換機能では、サーバシステムに不安定性を生み出すだけみたい・・・
Pluginを入れたり外してたりしたら
やりたいけど、どうにも解決できない問題をいくつか抱えてしまったので
近いうちにサーバを別のPCに移してしまいます。

続きを読む "BSDに限界を感じてきた今日この頃"

2006年6月29日

サーバーの再構築とか

ちょっといろいろあって鯖のHDDをRAID1にしたんですが
・・・間違って全部消した('A`)

そんな予感はしたので、バックアップは全部取ってたので
そこから手作業で直していったんだけど
おかしなところあったらゴメンナサイ

続きを読む "サーバーの再構築とか"

2006年6月24日

本日の出来事

リモートより猫鯖にてカーネルを編集してコンパイル

リブートコマンド実行

上がってこない

死んだか・・・

続きを読む "本日の出来事"

2006年6月10日

PFのQueuing

日本語の実行例がまるで無いPFのQueueingについてメモ代わりに

続きを読む "PFのQueuing"

2006年6月 7日

ULE Scheduler

現在、猫鯖のSchedulerはULEを使ってる
4BSDも試してみたんだけど
バックタスクが走るとCSS鯖でラグが起きる
CPU使用率もULEで30%前後なのに、4BSDだと40%を超えてしまう
なんで今のところ安定性も悪くないのでULEがベストっぽい
裏でファイル圧縮させて移動するスクリプト動いててもラグは出ないので

ググるとULEのいい評判はほとんど聞かないんだけどね・・・