|
|
|
|
Ubuntu を 9.10 に上げる。折角なので、SSDにチャレンジしてみた。
メーカー: INTEL 型番: X25-V Value SATA SSD SSDSA2MP040G2R5 容量: 40GB 価格: 12k (T-ZONE) |
| http://kakaku.com/item/K0000079560/ |
SSDは「書き込み回数が多いと寿命は2年」らしいので、rootパーティションで利用して、データ領域にはIDE(SATA)を利用することにした。インストール自体は30分弱で完了。てか、9.10のインストーラの完成度は異常。デフォルトで進んでたら ext4 になったけど、まぁよしとしよう。
の情報をまとめると、
ことで、writeの頻度と作業が減り、SSDの延命に繋がるようだ。(機能とのトレードオフではあるが)。具体的には、以下のコマンドになる。
# vi /etc/sysctl.conf vm.swappiness = 0 # 1 vm.dirty_writeback_centisecs = 1500 # 2 # sysctl -p # 設定を反映させる # vi /etc/fstab UUID=df06(..略..)035 / ext4 noatime,errors=remount-ro 0 1 # 3 tmpfs /tmp tmpfs defaults,size=512m 0 0 # 4 # mount -a |
最初は、上記サイトの記述にあるように /var/log も tmpfs にしてみたのだが、サブディレクトリが reboot の度に消えてしまうので、apache2 や bootchart などのアプリケーションで不具合が生じたので断念した。しかし、SSDのままだと優しくないので、/data (IDE/SATA) へのリンクにしてみた。
# mkdir -p /data/var/log # cd /var # ln -s /data/var/log . |
# hdparm -t /dev/sda1 Timing buffered disk reads: 438 MB in 3.00 seconds = 145.81 MB/sec # hdparm -t /dev/sdb1 Timing buffered disk reads: 264 MB in 3.00 seconds = 87.96 MB/sec # hdparm -t /dev/sdg1 Timing buffered disk reads: 100 MB in 3.01 seconds = 33.23 MB/sec |
sdb は /data で使ってる3年前に購入したSATA IDE。sdg は先日購入した、USB外付けHDD (HD-CL1.0TU2 / BUFFALO)。
hddtemp というソフトで温度が測定できるらしい。
# aptitude install hddtemp # hddtemp /dev/sda WARNING: Drive /dev/sda doesn't seem to have a temperature sensor. WARNING: This doesn't mean it hasn't got one. WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net). WARNING: See --help, --debug and --drivebase options. /dev/sda: INTEL SSDSA2M040G2GC: no sensor # hddtemp /dev/sdb /dev/sdb: Hitachi HDP725050GLA360: 37°C # hddtemp /dev/sdg /dev/sdg: BUFFALO External HDD: S.M.A.R.T. not available |
SSDはSMARTないのか。BUFFALOは何でだろう?とにかく、比較は失敗に終わった。
先日、/etc/.git の有用性を紹介したが、write 頻度を下げるバックアップ方法はSSDでは特に有益だろう。そしてさらに、OSのアップグレード(or 入れ直し)でも活躍するのだから、勝ち将棋鬼の如しである。
これで、あとは git を使って好きに料理するだけ!例えば、インストール後に ntpdate で時間合わせようとして、「ああ、前の設定どこにしてたっけか?」なんてときには、
# cd /etc # git diff default/ntpdate --- a/default/ntpdate +++ b/default/ntpdate @@ -7,7 +7,7 @@ NTPDATE_USE_NTP_CONF=yes # List of NTP servers to use (Separate multiple servers with spaces.) # Not used if NTPDATE_USE_NTP_CONF is yes. -NTPSERVERS="ntp.nict.jp" +NTPSERVERS="ntp.ubuntu.com" |
で、速攻まるわかり!これでオッケーなら、あとはクールに
# git checkout default/ntpdate |
で完了。
diff /data/backup/etc/... が許されるのは小学生まで
え、apache2 の設定はファイルが一杯あるから面倒?
# cd /etc/apache2 # git diff . # git checkout . # 全部OKなら"."一発、ダメならファイル単位で |
一度やった設定はDRYに決める。これがOSアップグレード2.0。
| KEEP
PROBLEM
| TRY
|
インスコ直後は git-core が入ってないので、少し困った。(/etc/network の設定情報を得る為に git を使いたいが、そのためにネットが必要)。こういう超序盤用に /data 側に etc の git object を展開しておくとさらに便利そうだ。
| JRuby | Rails | Berryz | ℃-ute | エッグ | jQuery |
| 前 | 2010年 3月 |
次 | ||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||