アーカイブ

‘Linux’ カテゴリーのアーカイブ

bootchart

2008 年 9 月 30 日 コメント 1 件

Intel X25-M Mainstream SATA SSD なマシンでbootchartをとってみた。

VAIO type Z with Intel SSD bootchart

カテゴリー: Debian, Linux, PC タグ: , , , , , ,

Intel X25-M Mainstream SATA SSD (SSDSA2MH080G1C5)

2008 年 9 月 27 日 コメントはありません

Intelの出したSSDの2.5インチ80GB MLCのモデル、ゲットしてみました。

えぇ、速いです こりゃ…尋常じゃないくらいに。
体感ではっきりと分かる速さ。

でかい単位でのアクセスも小さい単位でのアクセスも、ReadもWriteも「まんべんなく速い」ようで
なんつかHDDにはもう戻れない…
SSDとかカタログスペックだと多くの場合シーケンシャルな(バースト的な)Read/Write性能だけで
語られちゃってるけど(その方が見た目的にはわかりやすいしねぇ…)、実際に「効いてくる」のは
ランダムなアクセス/小さい単位でのアクセスの方だし、そういう意味では、非常に優秀な製品のようです。

まぁ値段が値段なので…ってのはありますが(この性能で倍くらいの容量でいまの半額くらいになって
くれるといいんだけどねぇ)、「高いのにこんな程度かぁ…」感はまったくないです。

非常にいい感じ。

過去に取ったデータも若干あるので(まぁ、いろいろとってる条件が違うので参考程度に
しかならないのだけど、とりあえずbonnie++とったのを並べてみました(一番下)

http://hanzubon.jp/tmp/bonnie.html

Random seek あたりをみると、速すぎてCPUがボトルネックになってる様子。

カテゴリー: Linux, PC タグ: , , , , , , ,

SONY VAIO Type Z (VGN-Z90S)にDebian GNU/Linuxを入れる

2008 年 9 月 1 日 コメント 1 件

さて、VAIO Type Z に Debianを入れる話ですが…

とりあえず、etch (etch and half含む)は現状ネットワークインストールはできません。

理由は簡単です。載ってるGbEのコントローラ(Intel 82567LM)への対応が Linux kernel 2.6.26で対応が行われていてるんですが etch and half でも 2.6.25なんで動かない いじょ です。

現状の lennyの debian installer の daily snapshot だと kernel 2.6.26 のはずなので
いけるんじゃないかと思いますが、インストールを行った時点(8/24 くらい?)では、
lenny の daily d-i でも kernel 2.6.25だったので、とりあえず jigdo ファイルから
iso イメージ焼いちゃって、最低限つっこんでから kernel を2.6.26 にあげて、
残りを…という作戦をとりました。

debian d-i daily snapshot はここいらあたりにミラーしてあります。

というような問題はありますが、「とりあえず X くらいまで動く」くらいまでは
さくっとできます。

が、「とりあえず」以外の部分でだいぶ問題があります(未解決なものまだ多数(わら)

  • カメラは UVC ドライバで動くものになったので、特になんも考えずに動きます。
  • Bluetoothも特に問題なし
  • SATAコントローラはICH9-M系のものでACHIドライバで動きます
  • SD とメモリスティックは未検証。kernelからはなにやら見えてる様子。
  • グラフィックコントローラはIntelのチップセット内蔵のものとnVidiaのものが載ってます。Intel系のはなんも考えなくてもXは動きます(nVidiaのものは試してません)。fbドライバは未対応の様子(軽くしか確認してません)
  • 有線LAN(GbE)は前述の通り kernel 2.6.26(or それ以降)にすれば動きます
  • 無線LANはIntel の Wireless Link 5100 が載ってます。kernel 2.6.26でも動きません。2008/8/26以降(これ以前のやつだとfirmware loadingに問題があるので動かない場合があります)のiwlwifi.gitを使うかか、そこいらへんがマージされたwireless-testing.gitあたりを使わないとダメです。逆にいうと、そのあたりを使えば特に問題なく動きます。
  • sony-laptopドライバが動きません(NCが見えないのはすぐにわかったのでパッチ作成済み、まだメールしてないけど、spic側はまだよくわかんない。type1に認識されちゃってるのがひとまず問題なのはわかるが、他のtypeで動かしてもダメなので新規にtype追加しないとダメかも)。そのため、例えば hotkeyの類が全然拾えません。
  • 上記のsony-laptopドライバの問題と絡んで、一旦 sony-laptopをloadしちゃうとunloadできないしoffれなくなります(無理にunloadするとoops)。そのため sony-laptopをロードするとsuspend/hibernationできなくなります。
  • 逆に言うと、sony-laptopをloadしなければ susoend/hibernationともにまったく問題なく動きます。s2ramのwhitelistへの追加も依頼済み。
  • これがだいぶ致命的なんですが、reboot ができません(shutdown/poweroffはできます)。全部止まって will reboot になって、consoleが落ちる(画面が消える)ところまでは行きますが、起動してきません(わら rebootにはいくつかモードがありますが(kbd,acpi,triple, efiとか)いずれもダメ。ちょっと現状わかりません。

というあたりで、動かすことはそんなに大変じゃないですが、ちゃんと動くとこまで持ってくのはいろいろめんどくちゃそうな感じ。

ちなみにlspci -nnvvvの結果、lsusb -vvの結果、DSDTのdumpをここに置いてみました。

Intel Wireless WiFi Link 4965AGN

2008 年 4 月 19 日 コメントはありません

Intel の mini PCIe な無線LANモジュール Intel 4965AGN

こいつは11n draftにも対応してるわけですが、発売されたタイミングの関係で国内版(PCODE: 4965AGNMJPWB ってやつね)では40MHz幅のデュアルチャネル通信(300Mbpsの通信)ができない仕様でした。

が、なにやら現状販売されている(店頭で見かける)ものは対応してるようです。
手元にある古いもの(初期ロットと思われるもの)ではNGですが、最近買ったものではいけちゃいました。

  • 対応してるもの/してないものでPCODEの変更はないようだ
  • VERSION: D74679-007なもの(末尾の-007が重要)、DATE: は 03/09/2008になっているやつでは少なくともデュアルチャネル通信ができる
  • ちなみにデュアルチャネル通信できないものは VERSION: D74679-001、DATE: 04/10/2007
  • 現状、店頭販売ものにはVERSION: の末尾-006なもの(DATE:が2007の12のもの)が混じってる様子。こいつでできるのかは不明(だが、なにやら年末くらいにちらほらできたという声を聞いたので、-006でいけるんじゃねぇかという気もする)
  • 電波法上、(少なくとも表向きは)販売済み製品のファームの更新で対応うんうんはできないはずなので、古いバージョンのハードウェアを持ってる人は諦めましょう。

ちなみに、上記はWindows XPで確認。

Linux だと、そもそもiwl4965がBaffaloのAPにlinkしてくれない状況なので調べ中(わら

カテゴリー: Linux, PC タグ: , , , , ,

Debian CDNで使ってるDNS-Balanceを他のDNSサーバが動いちゃってるホストで共存させようという努力

2008 年 2 月 16 日 コメントはありません

ほとんどAr-,kmutoへの業務連絡的(わら

Debian CDNで使ってるDNS-Balance(改)ですが、以下2点が以前から気になっちゃってたのでどうにかならんのほんとに?と思って確認しました。

  1. 他のDNSサーバ既に動いてるホスト(要するにbind9とか動かしちゃってて53/udp,53/tcpが使われているようなホスト)で動作させることができない
  2. root権限で動かさないといかん

特に1の方が致命的というか、既にDNSうごいちゃってるとどうにも動かせないので困ったチャンな感じ。

で、結論からいうと両方ともほとんど設定のみで回避できました。

まず、DNSが動いちゃってるホスト上でどうにか動かせないか?の方ですが…

  • DNS-Balanceは-pオプション指定して起動することで起動するときにbindingするportが指定できるので、これを使って53以外で起動(例えば5553とか)
  • 既存のDNSサーバの設定を修正して、DNS-Balanceが管理しているドメインに関してはDNS-Balanceが動作しているportにforwardするようにする

という感じでいけます(追記: いま聞いたけども -pオプションによるポート指定は、この前Ar-が追加したところだったとさ(わら)

ちなみに53/tcp以外へのforwardですが、powerdns-recursorではできませんでした(wish listには乗ってて実装予定はあるが、まだ実装されてない)ということでHANZUBON.jpのネームサーバはbind9に戻しました。

bind9だと、named.conf的なところにこんな感じに書いとけばいけます。

    // for debian cdn
    zone "jp.cdn.araki.net" {
            type forward;
            forwarders {
                 127.0.0.1 port 5553;
            };
    };

    zone "deb.cdn.araki.net" {
             type forward;
             forwarders {
                 127.0.0.1 port 5553;
             };
     };

言うまでもなく、forwardersのport指定がキモです。

もう一つのroot権限で動かさないといけない問題の方ですが、これは

  • 53/tcpという特権ポートにbindingするから
  • ログとpidファイルの書き出し先のパーミッションの問題

の2点によるもののようです。前者に関しては、そもそも前述のようにportをずらしたことによって解決しちゃってるのでとりあえずヨシとして(単体で動かすときには回避できてねぇだろというのはひとまずおいといて(わら)、後者に関しては書き出し先を/var/log,/var/run直下じゃなくてもう一つディレクトリをはさむようにして、そこにDNS-Balanceを動かすユーザが書き込めるようにしておく(owner/groupをそのユーザにしちゃっとく)というありがちな回避策をとりました。

具体的には…

  1. sudo mkdir /var/run/debian-cdn /var/log/debian-cdn
  2. sudo adduser cdnadmin
  3. sudo chown cdnadmin:cdnadmin /var/{run,log}/debian-cdn
  4. で、 dns_balance.rbの$process_fileと$logfileを前述のディレクトリ以下の指定に書き換えて
  5. cdnadmin権限でdns_balance.rbを実行

という感じになります。

ということで、どうでっしゃろか?

カテゴリー: Debian, Linux, opensource タグ: , ,

Source IPをラウンドロビンで変更するような挙動をiptablesで頑張ってみる

2008 年 1 月 17 日 コメントはありません

ある特定のportあて(宛先IPは任意)のパケットのソースIPをラウンドロビン(ランダムでも、なにかをキーにしてhashとってばらけさせるとかでも良かったんだけど、最終的にラウンドロビンが簡単だったので)で変更する。アプリでやればいろいろ考えられるけど、そこには手を入れない。

という欲求が発生したので、例えばiptablesとかでなんとかできないかちょっと調べた。

結論としては、こんな感じでいけるようだ。以下例では3つのIPで振り分ける感じ。

1) そのパケットが出て行くインタフェースにIP aliasで使用する複数のIPアドレスをふっておく。
ifconfig eth0 192.168.0.101
ifconfig eth0:0 192.168.0.102
ifconfig eth0:1 192.168.0.103

2) でもって、こんな感じで iptables を設定(statistic を nth モードで使う)
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.101
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.102
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.103

statisticが使えないといけないので、最近のkernel(2.6.18以降かな?)じゃないとダメかも。

カテゴリー: Linux タグ: ,

今年のしめ その2 〜 たんきよ

2007 年 12 月 29 日 コメント 2 件

「今年のしめ その2」ということで、毎年恒例のたんきよ忘年会。

気がつけば、20代一人もいねぇじゃんということで、としくったね…(わら
いやぁ〜、しかし楽しかった…

2007/12/28 たんきよ忘年会

bind9からpowerdnsへ移行

2007 年 12 月 26 日 コメント 1 件

なんとなく、bind9を捨ててpowerdnsへ移行してみました。

設定自体は、マニュアル眺めればそんなに大変じゃないっす。

Authoritative Serverと Recursorを同じアドレスで動かすのどうすんだ?ってのに一瞬迷ったけども、通常のServerからRecursorサーバを呼び出す(例えば別portにRecursor立てといて、通常サーバからそこをrecursorとして指定とか)するのが理解できれば、はまるようなところはナシじゃないっすかね。

ただ んー、悪くないんだけどやっぱりまだ慣れないのと、微妙に細かい機能が足りない感じ?

bind9でviewとmatch-clientで内部(private)と外部のquery見分けて、内側のアドレスからのqueryにはインターナルなアドレス返すような2枚舌設定してたけど、どうにもそれ相等の機能がみつけられなくて(というか、どう考えても構造上なさそう)、結局bindingするアドレスを別々に設定した2インスタンスを起動してごまかしましたとさ。

カテゴリー: Debian, Linux, opensource タグ: , ,

国内のdebian ftp mirroちょっと(?)変

2007 年 7 月 16 日 コメント 1 件

なかのさんにも連絡もらったが、どうもいろいろ家のなかをいじったせいでdebian mirrorの一部のファイルがなにやらおかしい模様。

昨日、気がついていくつかなおしたのだが どうやらけっこうな数のファイルがこわれている様子。

んー、よわったな…

カテゴリー: Debian, Linux タグ: ,

Linux Software RAID (md)の onlie resize

2007 年 5 月 1 日 コメントはありません

hanzubon.jp mirrorのRAID (Linux md で RAID5)を組んでるHDD、当初は250GBが9本だったのが、いろいろ入れ替えていくうちに全部320GBの玉になってしまった。

ってことで、250GBx9で組まれてるRAID5を320GBx9に変更してみるテスト。
中身がでかいので、データ入ったまま/動かしたままがいいなーということでonlineでやってみる。

最初の状態は、こんな感じ

$ lsscsi
[0:0:0:0]    disk    ATA      WDC WD740GD-00FL 21.0  /dev/sda
[1:0:0:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdb
[4:0:0:0]    disk    ATA      Hitachi HDT72503 V54O  /dev/sdc
[4:0:1:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdd
[4:0:2:0]    disk    ATA      ST3320620AS      3.AA  /dev/sde
[4:0:3:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdf
[4:0:4:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdg
[4:0:5:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdh
[4:0:6:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdi
[4:0:7:0]    disk    ATA      ST3320620AS      3.AA  /dev/sdj
$ df /storage
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/md0             1922913584 1638640528 284273056  86% /storage
$ df -h /storage
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/md0              1.8T  1.6T  272G  86% /storage
$ sudo mdadm --misc --detail /dev/md0
Password:
/dev/md0:
Version : 00.90.03
Creation Time : Sun Jan  7 23:04:20 2007
Raid Level : raid5
Array Size : 1953567232 (1863.07 GiB 2000.45 GB)
Device Size : 244195904 (232.88 GiB 250.06 GB)
Raid Devices : 9
Total Devices : 9
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue May  1 17:08:54 2007
State : clean
Active Devices : 9
Working Devices : 9
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : c0498479:cafeb5cc:a1d4a8cb:6c015d0a
Events : 0.47516
Number   Major   Minor   RaidDevice State
0       8       17        0      active sync   /dev/sdb1
1       8      113        1      active sync   /dev/sdh1
2       8       97        2      active sync   /dev/sdg1
3       8       49        3      active sync   /dev/sdd1
4       8       33        4      active sync   /dev/sdc1
5       8      145        5      active sync   /dev/sdj1
6       8      129        6      active sync   /dev/sdi1
7       8       81        7      active sync   /dev/sdf1
8       8       65        8      active sync   /dev/sde1

うんで、まずmdをresize

$ sudo mdadm --grow /dev/md0 -z max
$ sudo mdadm --misc --detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Sun Jan  7 23:04:20 2007
Raid Level : raid5
Array Size : 2500548608 (2384.71 GiB 2560.56 GB)
Device Size : 312568576 (298.09 GiB 320.07 GB)
Raid Devices : 9
Total Devices : 9
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue May  1 17:12:07 2007
State : active, resyncing
Active Devices : 9
Working Devices : 9
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Rebuild Status : 78% complete
UUID : c0498479:cafeb5cc:a1d4a8cb:6c015d0a
Events : 0.47519
Number   Major   Minor   RaidDevice State
0       8       17        0      active sync   /dev/sdb1
1       8      113        1      active sync   /dev/sdh1
2       8       97        2      active sync   /dev/sdg1
3       8       49        3      active sync   /dev/sdd1
4       8       33        4      active sync   /dev/sdc1
5       8      145        5      active sync   /dev/sdj1
6       8      129        6      active sync   /dev/sdi1
7       8       81        7      active sync   /dev/sdf1
8       8       65        8      active sync   /dev/sde1

あっさり終了…
で、filesystemをresize…

$ sudo resize2fs /dev/md0
resize2fs 1.40-WIP (14-Nov-2006)
Filesystem at /dev/md0 is mounted on /storage; on-line resizing required
old desc_blocks = 117, new_desc_blocks = 150
(まつこと3分ほど)
Performing an on-line resize of /dev/md0 to 625137152 (4k) blocks.
(まつことさらに15分くらい)
The filesystem on /dev/md0 is now 625137152 blocks long.

ぉ、終わった。どれどれ…

$ df /storage
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/md0             2461311556 1638645012 822666544  67% /storage
$ df -h /storage
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/md0              2.3T  1.6T  785G  67% /storage

ふむ、できちゃったみたいだ。
へーーー(わら

参考: RAID5 Online Resizing with Linux

カテゴリー: Linux タグ: