Macbook Pro (Early 2008) SSD upgrade

Mac Dec 22, 2012

最近Macbook Pro (Early 2008, MacBookPro4,1)がちょっともっさりしてきた。HaswellベースのMacbook ProかMacbook Air出たら買い換えようかと考えているけど、まだ1年くらい先の話。しかし、考えてみたらメモリー2GBしか乗っけてない。FirefoxとiTunesしか使ってないのにtop見ると結構pagingしてる。安いんだからこれは今すぐ4GBにする事にした。

あと、HDD。確かにSSDに換えればかなり体感速度上がるはずだけど、このマシンにそこまで投資するか、、、でもSSDもずいぶん安くなった。240GBが$200位。メモリと同時にこっちも換える事にする。

SSD選びはちょっと面倒くさい。コントローラの種類、OS/SSDのTRIMサポート、utilization等々から来るパフォーマンスと信頼性の違い。うちのMacは未だに10.5(Leopard)なのでTRIMサポートがない。そうすると、Garbage Collectionに優れてるSandForce使ったSSDが良さげ。昔から見てるAnandTechの記事には、SandForceのSSDではTRIM offにしたほうが良いとも書いてある。

vertex3_2_1

買ったのはOCZ Vertex3 240GB (VTX3-25SAT3-240G)。$230。ここからは実際のアップグレードの作業。

まずメモリーを4GBにアップグレード。Firefoxのtab間の行き来が多少機敏になった感じ。そして次に、SSDへの換装にとりかかる。やり方はこれを参考にした。(HDD->SSDへのコピーはSuperDuper!のほうが良い。普通のコピーだけならフリーなので) コピーしてる最中に気づいたが、SSDのfirmwareを先にアップデートしとけば良かった。firmwareアップデートのしかたはこのOCZサポートフォーラムの記事にある。約4時間かかったコピー完了後にfirmwareをv2.25にupdateした。diskは約160GB埋まって、約60GB空いてる。

換装後の結果は体感速度が上がってものすごく良い。特にアプリの起動。Mac自体の再起動はほとんどしないのであまり関係ないが、今まで1分40秒ほどかかってたのが1分以上短縮して30秒に。

最近よく使われてるdisk benchmark softのAJA system testを使おうとしたが、MacOS10.5では動かず。以下は誰も使ってないので他の人との比較が難しいbonnie++の結果。MBP4,1はSATAが1.5Gbit/s(=8b10b uncoded 150MB/s)なので、SSDの能力500MB/sはフルには出ない。(MBP5,1以降の人でSATA3Gじゃなくて1.5Gしか出てない人はこれ参照。)

換装前のHDD (Hitachi Travelstar 7K200 200GB、memory 2GBなのに、filesize 300MBで測ってしまったので、キャッシュが効いて実力より良くなってるはず。失敗)

      ------Sequential Output------ --Sequential Input- --Random-
      -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
 300M 42169  58 41961  15 41972  13 86965  99 +++++ +++ 1023.0   1
      ------Sequential Create------ --------Random Create--------
      -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
   16  7135  49 +++++ +++  9648  53   241   5 +++++ +++   138   4

OCZ Vertex3 240GB

      ------Sequential Output------ --Sequential Input- --Random-
      -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP 
   8G 41359  82 120292  42 63217  22 64507  98 130800  25 1406.0   7 
      ------Sequential Create------ --------Random Create--------
      -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 
   16 14624  85 +++++ +++ 17175  82  3149  40 +++++ +++  1878  35

OCZは信頼性の上であまり評判が良くない。それはしばらく様子を見ようと思う。数時間使った限りは何の問題も無く、かなり快適。

update on 2013/5/22:

もう半年ほど使ってるが、問題なく快適。HDDの頃はsleepから復帰時にWiFiを掴み損ねる事が頻繁に有った。50%位の高確率で。その時はNetwork Preferenceで、WiFi offにしてからまたonにするとちゃんと掴むんだが鬱陶しかった。それがSSD換装後は全く無くなって快調。

 

• • •

failed HDD

PC Dec 09, 2012

この時更新したRAID5のその後。

Debianで運用してるfileserverのディスクアクセスがやたら遅くなった。そういえば、logcheckからata関係のエラーが送られてきたのを思い出す。logを見てみると、RAID5の3台のうちの1台がおかしい。

このときのSMARTはまだPASSだったのが、次の日にはもうFAILEDになって、症状悪化。smartctl –all /dev/sdc のoutput

% mdadm --manage /dev/md1 --fail /dev/sda1
% mdadm --manage /dev/md1 --remove /dev/sda1
% swapoff /dev/sda2

このdiskをofflineにして、新しいのを発注。新しいのもまたWD Green、だけど3TのWD30EZRX。他の2TB 2台もいずれ3TBに交換して、そのときにextendする。後で調べたら、NAS用にTLERを変更可能なWD Redって出てるのを知った。値段もあんまり変わらないし、こっちにすれば良かった。。。

WD Caviar Greenはデフォルトでは8秒アクセス無いとheadをparkするようになってるが、Linuxで使ってるとlogの書き出しのために、parkしてはすぐ戻してという繰り返しになる。これのデフォルト8秒を延ばすユーティリティがある。idle3ctl。 これやったはずだと思ったが、8秒のままだった。影響無いと思って変えなかったか? smartの Load_Cycle_Count 1673180回というのを見ると、さすがに延ばした方が良いな。2年ちょいの連続稼働で、Power_On_Hours 2万時間。まだ壊れるには早い。やはり過度のLoad_Cycle_Countが原因になってる可能性は高いか。

% idle3ctl -s 255 /dev/sdb

これで、3810秒。power on時に新しい設定が反映される。

ここで新しいdiskをpartitionを切ってRAIDに組み込む前にfull backup取った。

partition切るところでまず引っかかる。今まではmsdos partition labelで切ってたが、それでは2TB以上のdiskには対応出来ない。gpt labelを使う。また、4KB sectorのdiskなのでpartitionは4096/512=8の倍数で始める。64で良いのだけど、partedが2048の倍数じゃないと alignしてないとwarning出すので、2048にしとく。

(parted) unit s
(parted) print
Model: ATA WDC WD30EZRX-00A (scsi)
Disk /dev/sda: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start        End          Size         File system     Name     Flags
 1      2048s        5858435071s  5858433024s                  primary
 2      5858435072s  5860532223s  2097152s     linux-swap(v1)  primary

raid5 rebuild。

% mdadm --add /dev/md1 /dev/sda1

6時間位はかかるので放置しといて、次見てみるとなんとfailして、U__ になってる。いろいろ試行錯誤した結果、既存のさらにもう一台の/dev/sdbも問題有った。diskのlow level surface scan(long test)でerror見つかって、sector remapされた。使ったtoolは、UBCDに入ってる、WD純正のDLG Diagnostic。2TBのcheckに約6時間で、sdb と sdcの2台に合計12時間かかった。ちなみに、short testではerrorは検知されなかった。

これで、今度はちゃんとrebuild、というか最初からRAID5組み直したので普通のbuild出来て、LVM構築し直して、formatして、backupからrestore。作業はUSB flashに入れたKnoppix 7でbootして行った。

設定変更。

/etc/mdadm/mdadm.conf
/etc/fstab

initrdを更新。(本番システムになる、今コピーしてた先が/target)

% mount --bind /dev /target/dev
% mount --bind /sys /target/sys
% mount --bind /proc /target/proc
% chroot /target
% dpkg-reconfigure linux-image-2.6.32

という事で、RAIDのrebuildの前には

  • full backup
  • degradedで動いてるdiskのlow level format check&remap

が必須。

• • •
Ippei813 top
December 2012
S M T W T F S
« Aug   Jan »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
Original Wordpress Themes by priss, customized by Ippei