2010年3月2日火曜日

パーティションの拡張

前提
/dev/sdx : 物理ドライブ、GPT形式
/dev/sdx1 : dm-cryptにより暗号化されたパーティション
/dev/mapper/encrypted : dm-cryptで割り当てられた暗号化デバイス(xfsフォーマット済み)

1) unmountする
umount /dev/mapper/encrypted

2) dm-crypt解除
cryptsetup luksClose /dev/mapper/encrypted

3) parted起動
parted /dev/sdx
==> GPTテーブルがディスクの後端に無い!という警告が出るので Fixを選択
==> あと 1回何か聞かれた気がするが Fix選択で OKでした。(次回メモろう)
(4/22追記)
ディスク容量が GPTの値と一致してないよ!という警告が出るので Fixを選択

4) パーティションのリサイズ
dm-cryptで暗号化されたパーティションはリサイズできない (怒られる)
パーティションの先頭位置をメモして、
rm 1
により一度パーティションを削除し、
mkpart
で再確保する。当然パーティションの開始位置は削除前と同じ場所にすること
(4/22追記)
全領域を指定するのに start : 0、last : -1で指定してたんですが
debian lennyから squeezeに更新したためか、または 32TByte超えたためか
不明だけれど "開始位置がおかしいからパフォーマンス出ないよ!" という警告が orz
とりあえず無視して続行

5) dm-cryptで再度マッピング
cryptsetup luksOpen /dev/sdx1 encrypted
ここでエラーが出たらご愁傷様

6) dm-cryptのリサイズ
cryptsetup resize /dev/mapper/encrypted
成功しても何もメッセージが出ない
エラーなら何か出るのかな?

7) 再マウント
mount /dev/mapper/encrypted /mnt
この時点では dfしても空き容量は増えていません

8) xfsのリサイズ
xfs_growfs /mnt

以上で拡張終了