UbuntuをSSDにインストール
LinuxをSSDにインストールしてみる。SSDを使うときにはやっておいた方がいいチューニングもする。
使用するSSD
BIOSの設定
OSのインストールをする前に、BIOS上でSATAコントーラとのインタフェースがAHCI(Advanced Host Controller Interface)になっていることを確認する。AHCIの他にIDE互換モードがありこっちだとSATA3.0の性能がでない。
OSのインストール
- Ubuntu Server 12.04.1 (64bit)
新しめのカーネルの方がSSDのサポートが充実しているのではないかと思うのでUbuntu 12.04にした。カーネルは3.2系。
あと、SSDは容量が少ないので、OSは必要最小限の構成にするべくServerエディションを使う。
swap領域の設定
SSD内にswap領域を作ると書き込みが頻発して寿命が短くなる。swap領域は別途用意したHDD上にマウントすることにする。
http://apcmag.com/how-to-maximise-ssd-performance-with-linux.htm
ファイルシステムの設定
SSDをマウントしたボリュームに対して/etc/fstabで下記の設定をする
- notimeオプションをつけて、ファイルのRead時にアクセス日時の変更(書き込み)が行われないようにする
- discardオプションをつけて、消去可能領域をSSD側に通知するようにする(trimの有効化)
ディスクI/Oスケジューラの設定
SSDのアルゴリズムをdeadlineアルゴリズムに変更する。HDDではデフォルトのCFQのままにする。
- CFQ
- Completely Fair Queueing。HDDに最適化されたアルゴリズム。
- NOOP
- 単純なFIFO。
- deadline
- NOOPに対してどのIOリクエストも最低限の時間(deadline)内では処理されるように動作するアルゴリズム。
http://japan.internet.com/linuxtutorial/20090522/2.html
アルゴリズムのかえ方は下記。rc.localに下記のコマンドを追加する。
echo deadline >/sys/block/sda/queue/scheduler
swap処理の抑制
メモリが完全に使われてしまうまでスワップしないようにする。スワップ領域はHDDにとっているので、スワップがおきてもSSDの寿命への影響はない。ただ、HDDへのアクセスによって今まで通り動作が遅くなってしまうため、頻度が最小限になるようにしておく。
/etc/rc.localに下記のコマンドを追加する。
echo 20 > /proc/sys/vm/swappiness
tmp領域
/tmpをramdisk上にマウントするように/etc/fstabを変更する。
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
Ubuntu Server を日本語化する
Ubuntu Server の日本語化の手順。参考にしたページ。
http://www.server-world.info/query?os=Ubuntu_12.04&p=japanese
$ apt-get install language-pack-ja-base language-pack-ja $ update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" $ source /etc/default/locale $ echo $LANG ja_JP.UTF-8