dynabook ss 1610をSSD化してxubuntu入れたはいいけど、HDDの頃の環境が欲しくなったので環境コピーしたときのメモ。

まず移行前のHDDの内容をファイルサーバにバックアップするため、七面倒くさいがダイナくんの中身を元のHDDに戻す。
システムディスクとして使われているような状態で移行したくないので、dynabookをKnoppixで起動してからバックアップを取る。

ファイルサーバをマウント
バックアップのデータを置くのにね。

$ su -
# mkdir /mnt/server
# portmap
# mount -t nfs file.genkikko.net:/mnt/hdc1 /mnt/server

つまづいたポイント
・ファイルサーバの/etc/exportsにdynabookのアドレスを追加する。
(手元にあったKnoppix5.1.1では無線LANが使えなかったので有線で繋いでるからDHCPで変なアドレスが割り振られてた)
・nfsをマウントする前にportmapを起動しておく

HDDをマウント
ここで大きくつまづいた。
何も考えずにYes,oh yes.とubuntuをインストールしたところ、ファイルシステムがLVM(Wikipedia)とかいうのになってたらしく、俺の知ってるような

# mount /dev/hda1 /mnt/hda1
みたいな気楽な感じではマウント出来なかった。
google先生に相談して紹介してもらったサイトさん
[PC]KNOPPIX 5.1.1を使ってCentOS 5.2のLVM内のデータをsamba共有する(rokro.luさん)
KnoppixでLVMをマウントする(しょうこりもなくブログるさん)
を参考に、
# pvscan
PV /dev/hda1 VG dyna3 lvm2 [37.02 GB / 0 free]
Total: 1 [37.02 GB] / in use: 1 [37.02 GB] / in no VG: 0 [0 ]
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "dyna3" using metadata type lvm2
# vgchange -a y
2 logical volume(s) in volume group "dyna3" now active
# lvscan
ACTIVE '/dev/dyna3/root' [35.46 GB] inherit
ACTIVE '/dev/dyna3/swap_1' [1.56 GB] inherit
# mkdir /mnt/hdd
# mount /dev/dyna3/root /mnt/hdd
こんな流れでマウント成功。

データのコピー
Linux ブートディスクの交換と環境移行(tadachi-net.comさん)
こちらの「■データ領域のコピー」ってとこを参考に、

# mkdir /mnt/server/backup
# mkdir /mnt/server/backup/dyna3-20090120
# cd /mnt/hdd
# tar cpf - ./ | (cd /mnt/server/backup/dyna3-20090120; | (cd /mnt/server/backup/dyna3-20090120 ; tar xpfv -)

これでHDDの内容をファイルサーバ上に置いた後、またまたHDDをSSDに交換して、今のと同じ手順でマウントした後、バックアップ元とバックアップ先を逆にしてファイルサーバ上のデータをSSDに移すのだが、ここで一つ待って欲しい。
SSDに入ってる/etc/fstabのバックアップを取ろう!

/etc/fstabの編集
で、fstabのバックアップを取ってなかった俺は、SSDのxubuntuさんを起動してもswapが無い。
理由はなぜか知らんが(LVMだから?)、fstabでマウントするデバイスがデバイス名じゃなくってUUID(Wikipedia)で書かれてるから。
じゃぁなぜrootはマウントされて起動するんだろう?
/boot/grub/menu.lstにroot=/dev/mapper/云々て書いてるからかな?
まぁ、何にせよこれはよろしくない状態なので、

$ sudo pvscan
  PV /dev/sda1   VG SS1610   lvm2 [29.61 GB / 0    free]
  Total: 1 [29.61 GB] / in use: 1 [29.61 GB] / in no VG: 0 [0   ]
$ sudo lvscan
  ACTIVE            '/dev/SS1610/root' [28.34 GB] inherit
  ACTIVE            '/dev/SS1610/swap_1' [1.27 GB] inherit
$ vol_id -u /dev/SS1610/root
/dev/SS1610/root: error opening volume
$ sudo vol_id -u /dev/SS1610/root
c678bc63-13f3-4305-bc07-b674a961092c
$ sudo vol_id -u /dev/SS1610/swap_1
b8097571-d3a1-424c-97e0-65a22b1efe1f
としてrootとswapのUUIDを調べて、fstabの然るべき所に書いてやる。

HDD交換しまくり超めんどくさ!
試行錯誤してるうちに面倒になり、玄続(KRHC-SATAIDE)を購入。
こりゃ超便利。
一旦サーバにデータを置かなくても、直でコピー出来る。
ただ、コピーの方向間違ったらすげー終了なのは怖い。