hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2010-12-04

CentOS5.5でext3ファイルシステムをext4に変換

参考:
[1] FractalizeR’s WebSite » CentOS: Migrating root (and any other) filesystem from ext3 to ext4
[2] Ext4 Howto - Ext4

# yum update
# yum install e4fsprogs

まずはrootパーティション以外で実験。/etc/fstabを編集し対象パーティションのファイルシステムタイプをext3からext4に修正。ext3のファイルシステムはext4としてもマウントできる。ext4 - Wikipedia参照。
# vi /etc/fstab

ext4対応のinitrdを作成。
# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
# mkinitrd -v --with=ext4 /boot/initrd-`uname -r`.img `uname -r`

作成したinitrdを使うため再起動。
# reboot

再起動したら対象のパーティション(ここでは/dev/sdc2とします)をアンマウントして、ext4に変換。tune2fsではなくtune4fsを使用していることに注意。オプションの意味は[1]参照。
# umount /dev/sdc2
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sdc2
"Please run e4fsck on the filesystem."と言われるので実行します。[1]ではe4fsckではなくfsckにしていますが、ここではe4fsckにしてみます。オプションは[1]を真似します。
# e4fsck -pvfDC0 /dev/sdc1
/dev/sdc1: One or more block group descriptor checksums are invalid.  FIXED.
/dev/sdc1: Group descriptor 0 checksum is invalid.

/dev/sdc1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)
すると[1]に書かれていた通り、-pオプションを外すように言われるので外して再実行。
# e4fsck -vfDC0 /dev/sdc1
すると
e4fsck 1.41.9 (22-Aug-2009)
One or more block group descriptor checksums are invalid.  Fix?
と聞かれるのでyを押します。あとはしばらく待ちます。
無事変換が終わったらマウントします。
# mount /dev/sdc1

0 件のコメント:

ブログ アーカイブ