RSS2.0

HDD を SSD に換装して半年くらい経ちました

今年の 1 月に開発マシンの増強をしていた際に、ストレージも HDD から SSD に換装しました。
SSD が出たのはもうずいぶん前になりますが、去年の年末に Macbook Air を買うまでは、その性能を体感する機会がなく、漠然と速いんだろうなーくらいの印象でいました。
しかし、実際に SSD 搭載の Macbook Air の瞬間起動っぷりを経験してしまうと、やっぱり HDD のディスク性能には戻れないなーと思わずにはいられませんでした。私のように長年 HDD で暮らしてきた人間からすると、軽い衝撃でした。こんなに変わるのかー、という感じ。
intel_ssd.jpg
購入した SSD は Intel の 330 シリーズ 120 GB です。
載せ替えるのが Linux の開発用 PC で、それほどディスク容量が必要ということもなかったので、1 万円くらいを予算に買えるサイズを買った感じです。ハードウェアの仕組みとしては、容量が多いほどアクセスが早くなるらしいので、奮発して欲しい容量のひとつ上くらいを買っておくといいのかもしれませんね。

今調べてみたら、同じくらいランクの SSD が 11,000 円台後半~13,000 円台になっているようなので、ちょっと値上がりしてるかなというところでしょうか。
今年の年明けくらいから円安の影響で PC パーツが急に値上がりし始めたり、日本の経済政策でごにょごにょあったりと、この半年を振り返ると結構いろいろあった感が強いです。ハードウェアを買うタイミングが来ると、為替とかやってるわけでもないのに、どうしても円相場に敏感になってしまいます…。
(とは言いつつも、いつも物欲に負けて欲しい時・必要な時に買ってしまうのであまり意味ないですが…)

OS 起動時間はどのくらいか

うちの開発用 PC では、電源をぽちっと押してから OS(Fedora 17 GUI)のログイン画面が表示されるまで 54 秒くらいになりました。
ただし、パーツを継ぎ足し継ぎ足し増強したせいか BIOS の起動とハードウェアのチェックが結構遅いので、実際に OS の起動が始まる(GRUB 2 が表示される)のは起動後 31 秒くらいでした。なので OS 自体の起動は 約 23 秒です。

SSD への換装というと、よく OS が起動する要すをそのまま撮った動画がアップされてたりしますが、ああいう動画のように十数秒で起動する、というところまでは行けませんでした。Macbook Air の速度まで追いつけなかったのはちょっと残念でした。たぶん他のハードウェアが影響しているような気がするので、きちんとその辺を解消してやれば、他の人のような高速起動もできるようになるんじゃないかと思っています。

ただ、Fedora OS 自体の起動はかなり早くなっているのは確かです。
最近の Fedora の GUI 起動画面というと、F のマークがインジケーターになるアレ(↓)がお馴染みですが、HDD の頃には十数秒で読み込みが終わっていたのが、SSD に載せ替えてからは 1, 2 秒で読み込み完了するようになりました。F マークがすごい勢いで白くなります。
fedora_boot_sign.png

書き込み読み込みがとにかく速くなった

一方 OS の終了はというと、こちらは驚くほどちょっぱやになりました。今はシャットダウンメニューを選んでから 2 秒くらいでハードウェア電源まで停止しています。
ここが一番 SSD への載せ替えによる速度差を感じたところでした。

他にも eclipse の起動時間とか、MySQL への初期化クエリの実行時間とか、yum で rpm ダウンロード後のインストール時間とか、grep の早さなんかでは SSD の恩恵がはっきりと見てとれます。
何をやるにせよ、日常的にこうしてハードウェア増設の効果を体感できるのは精神的にもいいですね。買い換えた甲斐があったなーと。

一昔前にメモリを積みまくって RAM ディスクを作るのが流行りましたが、乱暴に言ってしまえば SSD は HDD をまるごと RAM ディスクにするようなものなので、メモリ増設よりも効果はわかりやすいと思います。メモリは足りているうちはいくら積んでもかわらないですからね。

HDD から SSD へのデータ以降

HDD から SSD への換装作業ですが、増設した SSD をプライマリブートディスクにするように BIOS を設定して、SSD 上のみに OS を新規インストールしました。
OS をインストールする時に物理的に HDD を外しておけば、絶対に上書きできないので安全ですが、めんどくさがりな私はびくびくしながら(笑)インストール先に SSD のみを選択した感じです。普段の Linux のインストールでは自分でパーティションを切るようにしてましたから、そういう事情もあってさらっとやりました。

つなげっぱなしの HDD ですが、起動時にそのまま /mnt 下にマウントするようにしています。
振り返ってみれば、古いデータを見返すということも正直あまりなかったのですが、捨てていいかを逐一チェックするのも面倒だったので、そのまま繋げておきました。なので、いまでも HDD のマスターブートレコードには HDD 上のカーネルをブートする GRUB が載ったままになっています。

fedora 17 では /etc/fstab でのハードウェア指定が UUID になっています。
/dec/hda1 とかじゃなくなってるのも時代の変化ですね。
# blkid
/dev/sda1: LABEL="_Fedora-17-x86_6" UUID="469e2678-4d98-43e8-aabb-a6f7e18fb0ec" TYPE="ext4" 
/dev/sdb1: LABEL="Vista" UUID="362AA9CD2AA98A87" TYPE="ntfs" 
/dev/sdb5: LABEL="base" UUID="264EE27F4EE246E1" TYPE="ntfs" 
/dev/sdb6: UUID="05fcc84b-1abb-4900-a170-0ec3f715f61a" TYPE="ext4" 
/dev/sdb7: UUID="dbb9e1fe-07b3-4452-8988-dd1ad1814be1" TYPE="swap" 
/dev/sdb8: UUID="47f99b90-059f-4f3b-a706-9e0ee6cb8e8c" TYPE="ext4" 

# vi /etc/fstab
UUID=469e5678-4d98-41e8-aabb-a6f7e18fb0ec /					   ext4	defaults		1 1
UUID=dbb9e1fe-07b3-44b2-8988-dc1ad1814be1 swap					swap	defaults		0 0
UUID=05f1c84b-1abc-4900-a170-0ef3f715f61a /mnt/f15old			 ext4	defaults		0 0
UUID=47f34b90-0596-4f3b-a706-9e0ee6cb8e8c /mnt/fswork			 ext4	defaults		0 0
blkid はデバイスの UUID を調べるコマンドです。これで表示される UUID を /etc/fstab に書き足せば、次回起動時からは自動でマウントされるようになります。
fstab の詳細はこちらに書いてありますので参照のこと。

SSD の使用状況を確認する

SSD のハードウェア設計上書き込み回数には上限があり、これが実運用上どのくらいでやってくるのかが、SSD が出始めた頃よく話題になりました。
実際にあとどのくらいで寿命がくるのかを調べるためには、ハードウェアの S.M.A.R.T. 機能を使うことで目安を知ることができます。

Linux では、S.M.A.R.T. 機能による統計情報は、smartmontools パッケージに含まれる smartctl コマンドで表示することができます。
# yum install -y smartmontools

OS 起動後に S.M.A.R.T. 機能を有効化することもできますが、BIOS で有効化しておくと毎回有効化する手間が省けます。
手動で実行する場合のコマンドはこちら。
# smartctl -s on

S.M.A.R.T. 機能による統計情報は、-a オプションで見ることができます。
# smartctl -a /dev/sda1
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-3.6.11-1.fc17.x86_64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

...
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME		  FLAG	 VALUE WORST THRESH TYPE	  UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   000	Old_age   Always	   -	   0
  9 Power_On_Hours_and_Msec 0x0032   000   000   000	Old_age   Always	   -	   895049h+23m+50.630s
 12 Power_Cycle_Count	   0x0032   100   100   000	Old_age   Always	   -	   169
181 Program_Fail_Cnt_Total  0x0032   000   000   000	Old_age   Always	   -	   0
182 Erase_Fail_Count_Total  0x0032   000   000   000	Old_age   Always	   -	   0
192 Power-Off_Retract_Count 0x0032   100   100   000	Old_age   Always	   -	   169
225 Host_Writes_32MiB	   0x0032   100   100   000	Old_age   Always	   -	   1638
232 Available_Reservd_Space 0x0033   100   100   010	Pre-fail  Always	   -	   0
233 Media_Wearout_Indicator 0x0032   100   100   000	Old_age   Always	   -	   0
241 Host_Writes_32MiB	   0x0032   100   100   000	Old_age   Always	   -	   1638
242 Host_Reads_32MiB		0x0032   100   100   000	Old_age   Always	   -	   2454
249 NAND_Writes_1GiB		0x0013   100   100   000	Pre-fail  Always	   -	   72
...
表示される情報はいろいろあるのですが、ベンダー固有情報の項目がおおまかな目安になるようです。
Intel の SSD の場合、ひとまず Available_Reservd_Space と Media_Wearout_Indicator の値が大きいほど残り寿命が多いことになるそうです。

smartctl コマンドでは SSD のテストや直近で発生したエラーの内容などを表示することもできるので、試してみてください。

Intel の SSD といえば…

そんなこんなでついに私も Intel の SPEED DEMON ステッカーを手に入れたのでした!!(半年前に)
ssd_speed_demon.jpg
SSD なんておまけです :-)


  Linux雑記  コメント (0) 2013/07/27 18:50:35


公開範囲:
プロフィール HN: ももかん
ゲーム作ったり雑談書いたり・・・していた時期が私にもありました。
カレンダー
<<2024, 12>>
1234567
891011121314
15161718192021
22232425262728
2930311234