start

ターミナルが応答しなくなるほどZFSが超遅くなる謎現象

2011年にZFSを使い始めてから早4年、小規模なファイルサーバ運用ではまず困る事がないくらいにはZFSの扱いには慣れたが、未だ解決できていない問題が1つある。 システムが応答しなくなるほど、ZFSへのアクセスが遅くなる現象である。

ハッキリとした発生条件は未だ掴めていないが、概ね以下の条件を満たすと発生する。

  • 良い感じに使い古されたプール(断片化が進んでる状態?)
  • プールの空き容量が少ない
  • 幾つかの書き込みを同時に行う(ブラウザで2〜3個同時にダウンロードするなど)

問題の状態になると、ターミナルで入力が困難になるほどシステムの応答性が低下する。記憶があいまいだが、ロードアベレージ的には特に問題ない値だったハズ。

尚、プールの種類に関係なく発生するっぽい……といっても、ミラーとRAID-ZとRAID-Z+0でしか使った事はないが、何れでも発生している。途中マシン&HDDが変わったり、OSもFreeBSD 8.2→9.0→9.2と更新してるので、特定のハード&ソフトが関係する問題でもないと思われる。まぁ、FreeBSDのZFS実装がタコい可能性もないとは言い切れないが、本家以外のZFSでは老舗の部類に入る実装で、流石にそれはないだろう。

何となくだけど、断片化の線が怪しいんじゃないかなと。というのも、先だって遭遇したプールでは800GB中360GBが未使用だったから空き容量が原因とは考えにくい。ただし、以前、空き容量が100GBを割った事があり、FSの状態としてはそこそこ劣化していると考えられる。また、激遅ゾーン?を抜けるとまた普通の速度に戻るので、書き込もうとしてる領域の状態が悪いとダメっぽい気がする。

で、先日、ようやっと原因究明の糸口になりそうなデータが取れた。

この症状が発生している時は、書き込みしているにもかかわらず、なぜか物凄い読み込みが発生している。以下、zpool iostatのログ。

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    501     48  62.6M   210K
  mirror     491G   357G    501     48  62.6M   210K
    ada3p4      -      -    238     10  29.7M   210K
    ada1p4      -      -    263      7  32.9M   166K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    451     25  56.4M   111K
  mirror     491G   357G    451     25  56.4M   111K
    ada3p4      -      -    237      4  29.7M   111K
    ada1p4      -      -    213      0  26.7M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    289      0  36.0M      0
  mirror     491G   357G    289      0  36.0M      0
    ada3p4      -      -    133      0  16.6M      0
    ada1p4      -      -    155     13  19.4M   154K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    273      0  33.9M      0
  mirror     491G   357G    273      0  33.9M      0
    ada3p4      -      -    135      0  17.0M      0
    ada1p4      -      -    137      0  16.9M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    375     48  45.7M   313K
  mirror     491G   357G    375     48  45.7M   313K
    ada3p4      -      -    185     18  22.5M   313K
    ada1p4      -      -    189     13  23.2M   475K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    321      0  39.8M      0
  mirror     491G   357G    321      0  39.8M      0
    ada3p4      -      -    160      0  19.8M      0
    ada1p4      -      -    161      0  19.9M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    423     25  53.0M   317K
  mirror     491G   357G    423     25  53.0M   317K
    ada3p4      -      -    205      8  25.7M   317K
    ada1p4      -      -    217      4  27.2M   158K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    432     12  53.9M   158K
  mirror     491G   357G    432     12  53.9M   158K
    ada3p4      -      -    223      4  28.0M   158K
    ada1p4      -      -    208      8  25.9M   317K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    204      0  25.0M      0
  mirror     491G   357G    204      0  25.0M      0
    ada3p4      -      -    103      0  12.8M      0
    ada1p4      -      -    100      0  12.3M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    370     25  45.7M   317K
  mirror     491G   357G    370     25  45.7M   317K
    ada3p4      -      -    176     12  21.7M   333K
    ada1p4      -      -    194     10  24.0M   321K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    380     46  47.2M   305K
  mirror     491G   357G    380     46  47.2M   305K
    ada3p4      -      -    209      6  25.9M   305K
    ada1p4      -      -    170     63  21.3M  7.07M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    199    119  24.4M  7.07M
  mirror     491G   357G    199    119  24.4M  7.07M
    ada3p4      -      -     96     63  11.7M  7.07M
    ada1p4      -      -    102      1  12.8M  23.8K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    334      0  40.9M      0
  mirror     491G   357G    334      0  40.9M      0
    ada3p4      -      -    148      0  18.1M      0
    ada1p4      -      -    186      0  22.8M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    401      9  49.7M  39.6K
  mirror     491G   357G    401      9  49.7M  39.6K
    ada3p4      -      -    190      2  23.3M  39.6K
    ada1p4      -      -    211      2  26.4M  47.5K
----------  -----  -----  -----  -----  -----  -----

正常な時はこんな感じ。

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    402      0  32.3M
  mirror     491G   357G      0    402      0  32.3M
    ada3p4      -      -      0    324      0  32.3M
    ada1p4      -      -      0    323      0  32.3M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    195      0  24.3M
  mirror     491G   357G      0    195      0  24.3M
    ada3p4      -      -      0    195      0  24.3M
    ada1p4      -      -      0    195      0  24.3M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    212      0  8.56M
  mirror     491G   357G      0    212      0  8.56M
    ada3p4      -      -      0    116      0  8.57M
    ada1p4      -      -      0    120      0  8.57M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    402      0  32.3M
  mirror     491G   357G      0    402      0  32.3M
    ada3p4      -      -      0    317      0  32.3M
    ada1p4      -      -      0    318      0  32.3M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    405      0  32.3M
  mirror     491G   357G      0    405      0  32.3M
    ada3p4      -      -      0    323      0  32.3M
    ada1p4      -      -      0    323      0  32.3M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    402      0  32.3M
  mirror     491G   357G      0    402      0  32.3M
    ada3p4      -      -      0    320      0  32.3M
    ada1p4      -      -      0    322      0  32.3M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G    111    128  13.9M  16.0M
  mirror     491G   357G    111    128  13.9M  16.0M
    ada3p4      -      -     50    128  6.31M  16.0M
    ada1p4      -      -     61    128  7.56M  16.0M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0      0      0      0
  mirror     491G   357G      0      0      0      0
    ada3p4      -      -      0      0      0      0
    ada1p4      -      -      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        491G   357G      0    385      0  17.1M
  mirror     491G   357G      0    385      0  17.1M
    ada3p4      -      -      0    203      0  17.1M
    ada1p4      -      -      0    203      0  17.1M
----------  -----  -----  -----  -----  -----  -----

どちらもdd if=/dev/zero of=~/tempした時のiostatだが、問題の方は何故かフルスピードで読み込みが走っている。コマンドを間違えたなんて事は勿論、同時並行で別の読み込みプロセスが走ってるという事もない。読み込んだデータはどこに行っているのか……。

ちなみに、ddしつつ読み込みを行い正常な時はこんな感じ。読み込みと書き込みが仲良く同居してる感じですな。

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    346     41  43.3M  2.19M
  mirror     474G   374G    346     41  43.3M  2.19M
    ada3p4      -      -    167     21  20.9M  2.19M
    ada1p4      -      -    179     48  22.4M  4.68M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    125    165  15.7M  3.03M
  mirror     474G   374G    125    165  15.7M  3.03M
    ada3p4      -      -     52     55  6.56M  3.05M
    ada1p4      -      -     73     30  9.16M   562K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    139      0  17.3M      0
  mirror     474G   374G    139      0  17.3M      0
    ada3p4      -      -     71      0  8.76M      0
    ada1p4      -      -     68      0  8.54M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    249    101  29.4M  3.31M
  mirror     474G   374G    249    101  29.4M  3.31M
    ada3p4      -      -    139     35  16.3M  3.31M
    ada1p4      -      -    109     36  13.0M  3.35M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    115    199  12.7M  1.44M
  mirror     474G   374G    115    199  12.7M  1.44M
    ada3p4      -      -     70     51  8.07M  1.45M
    ada1p4      -      -     45     49  4.61M  1.42M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    206      0  25.1M      0
  mirror     474G   374G    206      0  25.1M      0
    ada3p4      -      -    113      0  13.8M      0
    ada1p4      -      -     93      0  11.4M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    275    260  34.3M  3.81M
  mirror     474G   374G    275    260  34.3M  3.81M
    ada3p4      -      -    153     93  19.0M  3.81M
    ada1p4      -      -    121     87  15.2M  3.81M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    258      0  31.7M      0
  mirror     474G   374G    258      0  31.7M      0
    ada3p4      -      -    123      3  15.1M  15.8K
    ada1p4      -      -    134      3  16.6M  15.8K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    269      0  32.9M      0
  mirror     474G   374G    269      0  32.9M      0
    ada3p4      -      -    132      0  15.9M      0
    ada1p4      -      -    136      0  17.1M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    402    100  50.4M  2.41M
  mirror     474G   374G    402    100  50.4M  2.41M
    ada3p4      -      -    189     24  23.6M  2.41M
    ada1p4      -      -    213     24  26.7M  2.41M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    372    124  46.5M   535K
  mirror     474G   374G    372    124  46.5M   535K
    ada3p4      -      -    182     28  22.8M   550K
    ada1p4      -      -    190     28  23.7M   550K
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    339      0  42.4M      0
  mirror     474G   374G    339      0  42.4M      0
    ada3p4      -      -    163      0  20.4M      0
    ada1p4      -      -    176      0  22.0M      0
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    387     55  48.4M  1.66M
  mirror     474G   374G    387     55  48.4M  1.66M
    ada3p4      -      -    203     16  25.5M  1.66M
    ada1p4      -      -    183     18  22.9M  1.68M
----------  -----  -----  -----  -----  -----  -----

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
zhome        474G   374G    234    130  29.3M   558K
  mirror     474G   374G    234    130  29.3M   558K
    ada3p4      -      -    111     35  14.0M   574K
    ada1p4      -      -    122     33  15.3M   550K
----------  -----  -----  -----  -----  -----  -----

断片化実験してみりゃいいんだろうけど、問題の性質上、仮想マシンではダメだろうし、かといって個人の趣味では実環境を揃えるのもなかなか大変だし(とか言いつつ、実はパーツは揃ってたりするが面倒&時間がなくて実験出来てない…)

何でこんな事が起きるのか、偉い人教えて下さい……。

家鯖をESXi 5.1U2からV2P, V2Vマイグレーション

家鯖をESXiによる仮想サーバから物理サーバにマイグレーションする事にした。

ESXi上で動いているのはFreeBSDとWindows 7の2つ。元々FreeBSDが物理的に動いていたが、Windowsで録画鯖を作ろうと思ってESXiを導入したという経緯がある。結局、nasneを買っちゃったし、そもそも元からテレビを見ないという致命的な不具合(笑)が発覚したので、録画鯖を仕立てる理由もなくなってしまった。ESXiの雲行きも怪しいし、良い機会なのでV2Pしちゃおうと考えた次第。

FreeBSDは物理サーバ時代からのHDDを全てRDM&PCIパススルーで動かしてた為、マイグレーションもへったくれもない。ESXiのUSBメモリを引っこ抜けば、何もしなくてもBSDが起動する素敵仕様。V2Pいっちょあがりっと。

Windowsの方はFreeBSD上のVirtualBoxにV2Vする事にした。録画鯖にはならなかったものの、PS Vitaのコンテンツ管理アシスタントのホストになってたり、巨大なエロ動画ファイルのダウンロードとかで地味に役立つので。こっちは少し苦労したため、作業内容をメモっておく。

まずはESXiのデータストアからファイルを取り出さない事には始まらない。色々やり方はあると思うが、今回はクライアント側からscpで転送した。

$ scp -rp root@esxiserver:/vmfs/volumes/path_to_datastore/Windows/ esxi_save/
Password: 
Windows.vmx                                   100% 3142     3.1KB/s   00:00    
Windows.vmxf                                  100%  262     0.3KB/s   00:00    
Windows.vmsd                                  100%    0     0.0KB/s   00:00    
Windows.nvram                                 100% 8684     8.5KB/s   00:00    
vmware-36.log                                 100%  202KB 202.1KB/s   00:00    
Windows-flat.vmdk                             100%   40GB  42.9MB/s   15:55    
Windows.vmdk                                  100%  494     0.5KB/s   00:00    
vmware-35.log                                 100%  202KB 201.6KB/s   00:00    
vmware.log                                    100%  311KB 311.1KB/s   00:00    
vmware-31.log                                 100%  176KB 175.8KB/s   00:00    
vmware-32.log                                 100%   51KB  51.4KB/s   00:00    
vmware-34.log                                 100%  202KB 201.9KB/s   00:00    
vmware-33.log                                 100%  180KB 180.2KB/s   00:00

VMの詳細は割愛。

ストレージは既存の仮想ディスクを使う。上で転送したファイルで言えばWindows.vmdkを選択する。

接続するバスは、とりあえずESXiで使っていた物と同じのにして、Windowsが起動するか試してみる。正常に起動すれば後は何もする必要はないが、十中八九「Windowsを起動しています」の画面で“STOP 0x0000007B”ブルースクリーンが出て死ぬ。その時は、接続バスを好きなものに変えて(もちろん変えなくてもいい)、次の対策を行う。

“STOP 0x0000007B”ブルースクリーンが出てWindowsを起動出来ない時は、レジストリを修正する必要がある。

  1. VM起動時にF8連打でWindowsの「詳細ブートオプション」を表示し、「コンピュータの修復」を選ぶ。コンピュータの修復が表示されていなければ、修復用のシステムがインストールされていないって事なので、WindowsのインストールCDから同等の事をする(詳細はググってくだしあ)。
  2. システム回復オプションのログイン画面が出るので、正常に動いてた時のアカウントでログイン。
  3. コマンドプロンプトを起動。
  4. コマンドプロンプトで「regedit」と打ち、レジストリエディタを起動。
  5. レジストリエディタの「HKEY_LOCAL_MACHINE」または「HKEY_USERS」を選択した状態[ファイル]>[ハイブの読み込み]を選択。
  6. d:\Windows\System32\config\SYSTEM を開く。
  7. マウントポイント名を聞かれるので、適当にattachedなどと入れる。
  8. attachedにSYSTEMレジストリが読み込まれるので、CurrentControlSet\servicesControlSetNNN\servicesの中にある下記リスト内の「Start」の値を0にする。ノードが存在しなければ飛ばしてOK。
    • aliide
    • amdide
    • atapi
    • ataport
    • cmdide
    • intelide
    • LSI_SAS
    • LSI_SAS2
    • LSI_SCSI
    • megasas
    • MegaSR
    • msahci
    • pciide
    • pciidex
    • viaide
  9. レジストリエディタ、コマンドプロンプトを終了し、再起動。

以上でマイグレーションしたWindowsが正しく起動するハズ。

libiconv.laが見つからない(´・ω・`)

portmasterでSubversionの更新をしようとしたら、aprのコンパイルが「libtool: link: cannot find the library `/usr/local/lib/libiconv.la' or unhandled argument `/usr/local/lib/libiconv.la'」でコケよる。

CHANGESを見ても、それらしき変更はなさげ。

libiconvをリビルドしても駄目。 やっぱりメッセージの通り /usr/local/lib/libiconv.la が見つからない。

仕方ないのでportsのworkディレクトリから手動でコピーした。

cd /usr/ports/converters/libiconv/
sudo make
sudo cp work/libiconv-1.14/lib/libiconv.la /usr/local/lib/

無事ビルドできたよ!!(`・ω・´)

Mac OS XでFAT16パーティションの作り方

毎度忘れるのでメモ。

  1. ディスクユーティリティでパーティションを作り、取りあえずFATでフォーマットして適当なラベルを付ける(ここではVolFAT16とする)。
  2. ディスクユーティリティでディスクをアンマウント。
  3. diskutil eraseVolume "MS-DOS FAT16" "/Volumes/VolFAT16"

    でFAT16でフォーマットし直す。

diskutilで全ての事が出来るんだけども、パーティション操作はGUIでやったほうが間違いがないので、敢えてディスクユーティリティを使っとります。 特にストレージの空き領域にパーティションを追加するのは、ちょっと間違うと既存パーティションを破壊しかねないので…。

DELL Inspiron 640mをWin 7化するついでにSSDを載せた

XPサポート期限切れにあたって、実家のInspiron 640mにWindows 7を入れる事にした。買い替えても良かったんだけど、安くなったとは言え新品ノートは何だかんだで良い値段するし、何より画面解像度が下がってしまうのはちょっと・・・という個人的拘りで、640mをそのまま使う方向になった(BTOで1440×900の液晶になってるので、安ノートだと間違いなく狭くなる。1366×768はマジで死滅すべき。)

OS入れ替えるだけじゃ芸がないので、ついでにストレージをSSDに交換。元のHDDは2006年の購入時からの物なので、流石に交換時かなと。交換前にchkdskしたらポツポツと論理エラーが出たものの無事修復出来た。OSの再インスコをすることもなく、ノーメンテのトラブルフリーで8年間良く頑張ってくれたと思う。そういえば、メモリは2〜3年前に512MB→2GBに増設済み。Win7で2GBは若干心許ないが、チプセの制限で4GB積んでも3.2GBまでしか認識しないし、持ち主である父親の使い方なら2GBでも何とかなるだろうし、最悪スワップしてもSSDならそんなに速度低下も無いだろうという目論見。

SSDはTranscend TS128GSSD340をチョイス。昔のマシンなので速くてお高いの積んでも宝の持ち腐れになるし。今ならCrucial MX100シリーズを選ぶだろうけど、実際に交換したのは5月だったので、まだ発売されてなかった。

交換自体は超簡単。PC組立の経験がある人なら余裕。

以下、交換前と交換後のCrystalDiskMarkとHDBENCHのベンチ結果。何で今更HDBENCHかというと、XPと7両対応の総合ベンチマークソフトが最早見つからなかったから(笑)。

このマシンはAHCI非対応なのでSSDの性能を出し切れてないが、それでも全然速いね。なぜか4kリードがやたらと遅いのは謎。書き込みは普通なのに。

OSの違いで浮動小数点数計算のスコアに有意な差が見られるのは興味深い。x64になってレジスタ数に余裕が出来た事の影響かしら?逆に、Win7ではGDI系のスコアが軒並み悪くなってるのは、基本描画にDirectXが使われるようになったせいかな?

ま、何にせよHDDの時に比べたら起動も俄然速くなったので、まだまだ実家で活躍してくれるだろう。最低最悪のWXGAパネルが駆逐される、その日まで……。

  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo