HDD150GB=>SSD32GB 引越し
先日の記事で、NFSで書き込み 60MB/s の SSD を
使うことを断念したため、正直にブート領域に
利用することにしました。
小さい SSD 領域への引越しはWeb上の記事にあまり
なかったことに加え、SSD からのブートで一点悩んだ点が
ありましたので、同じ轍を誰かが踏まないよう記録します。
sdaがHDD
sdbがSSD
(この a,b,c というのは単にSATAつなぐとこで決まっている)
【現在の構成】
ubuntu10.04デスクトップ
160GB/3.5型/SATA1/7,200rpm(Express5800 RB 搭載HDD)
/dev/sda1 on / type ext4 (rw,,user_xattr)
/dev/sda5 on swap(だったかな…)
→全部ごっちゃの環境
【目的の構成】
32 GB/2.5型/SATA2(SP032GBSSDE20S25 (シリコンパワー)、2,400円)
/dev/sdb1 on / type ext4 (rw,noatime,discard,errors=remount-ro,user_xattr)
/dev/sda5 on /home type ext4 (rw,user_xattr) => HDD の再利用
tmpfs on /tmp type tmpfs (rw,noatime,mode=1777) => メモリ上で展開
→SSD 使いの人では当たり前の環境
今回 SSD 利用ということで、tmpをメモリ上に作るのと、
オプションつけてマウントするとこに注意。
またスワップ領域は作らない。*1 *2 *3
やることは
- HDD /dev/sda1 160 GB => 28 GB に領域縮小(SSD 32GB のため)
- HDD => SSD コピー(ddrescue)
- SSD からブートできるようにする。
- /home の HDD への引越し
HDD /dev/sda1 160GB => 28 GB に領域縮小
HDD /dev/sda1 160GB の状態で移行しようとした場合、
当然 32GB しかない SSD は容量が足りないとエラーを
吐き、失敗する。
なので/dev/sda1 を 28 GB に縮小する。
HDD => SSD コピー(ddrescue)
sudo cfdisk -z /dev/sdb
「新規」で、「基本」の「ブート」可能で作成。
- DDでコピーする。(DDを楽に実行できるddrescueを利用)
sudo apt-get install gddrescue
sudo ddrescue -v /dev/sda1 /dev/sdb1
※他サイトではよく下記のコマンドを見るが、今回は上でok。
$ sudo ddrescue -v /dev/sda /dev/sdb
約 30GB のコピーで20分程度待つ。
SSD からブートできるようにする。
- /dev/sda1 をマウントし、/etc/fstab を変更する。
mkdir /mnt/hdd
mount /dev/sda1 /mnt/hdd
vi /mnt/hdd/etc/fstab
ブート領域の記載で、下記のように変更し保存する。
/dev/sda1 => /dev/sdb1
- /dev/sdb1 の領域を最大にする。
28 GB しか使わない設定なので
gparted で /dev/sdb1 を目一杯およそ 30GB に拡大し、適用する。
(使えない領域ができるともったいないですし)
- 再起動し、ライブCDを取り外す。
- /dev/sdb1 を / にマウントし、OS が立ち上がる。
!注意!
HDD の grub を利用し、/dev/sda1 から /etc/fstab を
参照し、/dev/sdb1 から立ち上がっただけで、まだ設定は中途半端です。
- SSD 単特でブートできるよう設定する。
ここで自分は悩み、海水瓜さんに救われました。*4
そう、grub のインストールだと気づきました。
sudo grub-install /dev/sdb
vi /mnt/hdd/etc/fstab
ブート領域の記載で、下記のように変更し保存する。
/dev/sda1 => /dev/sdb1
オプションは
rw,noatime,discard,errors=remount-ro,user_xattr
また /tmp のために、下記一行を追加。
tmpfs /tmp tmpfsdefaults,noatime,mode=1777 0 0
/home の引越し
HDD を /home 領域として再利用するため、下記サイトを参照しました。
また HDD はあらかじめフォーマットしておきました(gparted で ok)。
http://www.ibm.com/developerworks/jp/linux/library/l-partplan/
所感
うまくいかない時、問題点をみつけるのが大変ですね。
(grubなんて今まで名前しか知らなかった。)
ダメなときは粘らずすぐに検索に頼る
ということも大切で、粘りと検索のバランスですね。
このサイトで救われる人がいれば幸いです。
おまけ(Bフレッツ/マンションタイプのためのMTU設定)
NFSのチューニングの際に見つけたTipsです。
自分は下記設定で上下 3Mbps くらい早くなりました。
テストは下記コマンドを使用してください。
sudo ifconfig eth0 mtu 1454
上記設定が気に入り、再起動後も設定を反映させたい場合は
下記3行を実行してください。
sudo echo "#!/bin/sh" >> /etc/network/if-up.d/mtu
sudo echo "ifconfig eth0 mtu 1454" >> /etc/network/if-up.d/mtu
sudo chmod 744 /etc/network/if-up.d/mtu
以上。