2007/10/28

初めてのパソコン

生まれて初めて「パソコン」を買った。これまで使ったPCは皆「パーツ買ってきて組み立て」「もらい物」だったので、完成品のPCを買うのは初めてだ。初手から「ProLiant ML115」とかいうPCサーバを買い込んでしまったのは、単に実験用にサーバに使える機械が1台欲しかったからだ。15,800円で安かったしね。

コイツのハードウェアは実にクセが強いので、まずはちまちま増設を行う。

オンボードビデオのメモリが極小
いまどき2MBも無いってんですから。作業するのに何かと不便なレベル。Geforce 7300LEの格安ビデオカードを追加。
サウンドカードなし
まぁ、無くても困らんのだが。
PCIスロットが3.3V専用
通常PCIカードの大半は5V用なので、使える拡張カードが大幅に制約される。サウンドカードはSoundBlaster 5.1というのが使えるらしいので、追加。何でか知らんが音が出ないんですけどね。
いまどき光学ドライブがCD-ROM
せめてDVD-ROMが読めるようにしましょうよ……。幸いDVDスーパーマルチが1台余っていたので、即座に交換したけど。

そういえばアキバのT-ZONEには「PCI-ExpressからPCIスロット4本を引っ張り出す函」という大層胡乱な代物が売ってたが、アレ使うと楽しそうだな(←ダメ人間)。

さて、銭のかからんところは一通り弄ったので、手持ちのLinuxディストリビューション各種をインストールしてみたのだが、どうも今ひとつ。というわけで此処は一つDebian GNU/Linux lenny(testing)など入れてみようか!というわけで、「マルチアーキテクチャ用インストールCD(PowerPCとx86とAMD64でインストールに使えるらしい)」なんてアホなものをダウンロード中。

2007/10/17

再インストールしたいような。

今日は病院に行くので仕事はお休み。ついでにファイルサーバの電源を落としてみたのだが、再起動して顔から血の気が引いた。見慣れたGRUBの起動メニューがなくなり、無味乾燥なGRUBのプロンプトが!……しょうがないからEM・ONEでGRUBの使い方を調べつつ(PC以外にWebが見れる機械があるとこういうシチュエーションに強い)、何とか起動してはみたのだが、試行錯誤を繰り返してもGRUBは一向にまともに動かない。

ブートローダ回りがだいぶグチャグチャになってしまったようなので、そろそろOSを綺麗に再インストールしたいな。アレイの再構成もしなきゃいけないし。

2007/10/16

リンクスピードが1.5Gbpsになってる……。

エンクロージャも一応無事に組み込んで気分爽快。さ~て一発カーネルログでも拝むかな。dmesgと打ってハイEnter……な、なんだこりゃ。



ata5: limiting SATA link speed to 1.5 Gbps
ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x100000 action 0x6
ata5.00: (port_status 0x20280000)
ata5.00: cmd 25/00:40:00:2a:2a/00:01:00:00:00/e0 tag 0 cdb 0x0 data 163840 in
res 51/84:20:1f:2b:2a/84:00:00:00:00/e0 Emask 0x12 (ATA bus error)
ata5: hard resetting port
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata5.00: configured for UDMA/133
ata5: EH complete
sd 4:0:0:0: [sde] 625142448 512-byte hardware sectors (320073 MB)
sd 4:0:0:0: [sde] Write Protect is off
sd 4:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x380000 action 0x2
ata4.00: (port_status 0x20002000)
ata4.00: cmd 25/00:c8:00:42:37/00:01:01:00:00/e0 tag 0 cdb 0x0 data 233472 in
res d0/00:c8:00:42:37/00:01:01:00:00/e0 Emask 0x12 (ATA bus error)
ata4: soft resetting port
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata4.00: ata_hpa_resize 1: hpa sectors (0) is smaller than sectors (488397168)
ata4.00: configured for UDMA/133
ata4: EH complete
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x100000 action 0x2
ata4.00: (port_status 0x20080000)
ata4.00: cmd 25/00:c8:00:42:37/00:01:01:00:00/e0 tag 0 cdb 0x0 data 233472 in
res 50/00:c8:00:42:37/00:00:01:00:00/e0 Emask 0x2 (HSM violation)
ata4: soft resetting port
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata4.00: ata_hpa_resize 1: hpa sectors (0) is smaller than sectors (488397168)
ata4.00: ata_hpa_resize 1: hpa sectors (0) is smaller than sectors (488397168)
ata4.00: configured for UDMA/133
ata4: EH complete
ata4: limiting SATA link speed to 1.5 Gbps
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x180000 action 0x6
ata4.00: (port_status 0x20080000)
ata4.00: cmd 25/00:c8:00:42:37/00:01:01:00:00/e0 tag 0 cdb 0x0 data 233472 in
res 50/00:c8:00:42:37/00:00:01:00:00/e0 Emask 0x2 (HSM violation)
ata4: hard resetting port
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata4.00: configured for UDMA/133
ata4: EH complete
sd 3:0:0:0: [sdd] 488397168 512-byte hardware sectors (250059 MB)
sd 3:0:0:0: [sdd] Write Protect is off
sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 3:0:0:0: [sdd] 488397168 512-byte hardware sectors (250059 MB)
sd 3:0:0:0: [sdd] Write Protect is off
sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
hogehoge:~#

SATAのリンクスピードが3Gbpsから1.5Gbpsに落ちてるじゃんかぁ……。もっとも、帯域が半分になったとはいえ依然150MB/sは出る計算なので、1台でせいぜい100MB/sも出せないドライブにはお釣りが来ることに変わりは無いのだが、なんとなく気分が悪い。

さて、バックアップでも取ろうかな。

ファイルサーバのディスクを増強した過程で「Antec P182にハードディスクを6台突っ込むのは危険行為だ」ということが身にしみて判ったので、専用のエンクロージャ(5インチベイ3段にディスク5台を突っ込む)を購入してみた。ファイルサーバを止めて作業をする前に、バックアップを取らなくては。というわけで、イマイチ使い方が良くわからんxfsdumpコマンドでとっととバックアップを取る。

バックアップを取りついでに、ファイルシステムの再構成もかけてしまおうかと考えてみた。聞くところによると、アレイのブロックサイズとXFSのブロックサイズを一致させるとファイルアクセスのオーバーヘッドが最も低くなるらしいのだ。しかし、LinuxにおけるXFSファイルシステムのブロックサイズは最大64KB。ディスクアレイは現在のブロックサイズ256KBの時パフォーマンスが良いのだが(というか、64→128で急激に性能が向上し、さらに128→256で多少の性能向上を見たのだが、それ以上は面倒くさくなって止めた)、64KBに戻すと覿面に遅くなるんだよなぁ。現在アレイの書き込みで70MB/s程度出ている(ddコマンド調べ)のだが、アレイのブロックサイズをデフォルトの64KBにしていた頃は20MB/s切ってたものなぁ。というわけで、ファイルシステムの再構成は却下し。HDDをエンクロージャに移し変えるだけで我慢しておく。

すったもんだの末にエンクロージャをケースに取り付けてみたんだが、これがまたなんとも微妙。P182には4段の5インチベイがあり、DVD-ROMなどのドライブを取り付ける際には、ドライブ側に専用のレールを取り付けてベイに差し込むだけで取り付けが完了する仕組みになっている。直にネジ止めするタイプのケースだと、ケースの両側を開けて両側からネジを締めたり緩めたりしなければならんので、便利な仕組みではある、光学ドライブをつけるときには。

このエンクロージャ、困ったことにネジ穴の位置が光学ドライブとだいぶ違っているので、レールを付けてケースに突っ込むと5インチベイ4段を占有し、かつ上下にみっともないスキマができてしまうのだった。まぁ、Linuxマシンの光学ドライブは使用頻度が低いし、USB接続の光学ドライブ外付けケースもあるので、とりあえず5インチベイ4段はHDDに占拠させておくことにしても構わないんだが。

で、電源を入れてファイルサーバを起動したところ、乙なことに電源投入時にはスタッガード・スピンアップ(複数台のHDDのモータを一斉に始動すると瞬間的に消費電力が跳ね上がり電源に負荷がかかるので、1台ずつ時間差でHDDのモータを始動する仕組み)しているようではないか。さらにOSを起動してみると、つつがなく認識はされている。ここで一発ddコマンドで4GBのファイルを作りつつ、エンクロージャのアクセスランプを眺めると……おぉ、なんか並列にアクセスしてるっぽく点滅してるじゃないか。善哉。正直な話、自作でディスクアレイを組む醍醐味ってのは、このアクセスランプがチカチカ点滅するのを拝むところにあるんだよな。データ保護ならバックアップ取っとけば良いんだし、個人レベルでダウンタイムの短縮なんて効果が薄いし。

ふと気になってhdparm -i /dev/sd[cdef]などと叩き込んでHDDの認識順を調べてみたところ、スタッガード・スピンアップのご利益でエンクロージャに突っ込んだ順にきちんと認識されている。これは素晴らしい。


hogehoge:~# hdparm -i /dev/sd[cdef]

/dev/sdc:

 Model=Hitachi HDT725025VLA380                 , FwRev=V5DOA73A, SerialNo=      VFC100R1D7YWDD
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
 BuffType=DualPortCache, BuffSize=7372kB, MaxMultSect=16, MultSect=?0?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode


/dev/sdd:

 Model=Hitachi HDT725025VLA380                 , FwRev=V5DOA73A, SerialNo=      VFA160R132828B
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
 BuffType=DualPortCache, BuffSize=7372kB, MaxMultSect=16, MultSect=?0?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode


/dev/sde:

 Model=Hitachi HDT725032VLA360                 , FwRev=V54OA7EA, SerialNo=      VFM201R2E3WNTN
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
 BuffType=DualPortCache, BuffSize=15315kB, MaxMultSect=16, MultSect=?0?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode


/dev/sdf:

 Model=Hitachi HDT725032VLA360                 , FwRev=V54OA7EA, SerialNo=      VFM201R2E2ZY3N
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
 BuffType=DualPortCache, BuffSize=15315kB, MaxMultSect=16, MultSect=?0?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode

hogehoge:~#

デバイスが接続順にきちんと認識されたところで、現在のアレイのディスク構成を見る。


hogehoge:~# mdadm -D /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sun Sep 23 15:34:36 2007
     Raid Level : raid5
     Array Size : 732595200 (698.66 GiB 750.18 GB)
    Device Size : 244198400 (232.89 GiB 250.06 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Oct 16 00:07:24 2007
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

           UUID : d26441e1:34505416:903e389b:f86352b0
         Events : 0.8

    Number   Major   Minor   RaidDevice State
       0       8       64        0      active sync   /dev/sde
       1       8       48        1      active sync   /dev/sdd
       2       8       80        2      active sync   /dev/sdf
       3       8       32        3      active sync   /dev/sdc
hogehoge:~# 

……2番目→3番目→4番目→1番目の順でディスクに番号振ってあるのか……ダメだこりゃ。機会を見つけてアレイを再構成してしまおう。

2007/10/13

transcodeでお気楽動画変換

Linuxなどで動画ファイルを変換するツール「transcode」を使ってみた。現在使用中なのはDebian GNU/Linux 4.0(etch) for AMD64なので、とりあえずバイナリパッケージを探し求めてみたのだが、残念なことに無いみたいだ。となればもう自力でコンパイルするしかないでしょう!……というわけで散々苦労しつつコンパイル・インストールして使ってみたのだが、意外に便利。動画ファイルを連結できるか調べてみなきゃいけないが、できるんだったらDVDをケータイ(というかW-ZERO3用)に変換するのに大活躍できそうだ。