Convert ext3 to ext4 File system
Saturday, January 24th, 2009
ext4 Filesystem Features
The ext4 filesystem has more features and generally better performance than ext3, which is showing its age in the Linux filesystem world. Features include:
Delayed allocation & mballoc allocator for better on-disk allocation
- Sub-second timestamps
- Space preallocation
- Journal checksumming
- Large (>2T) file support
- Large (>16T) filesystem support
- Defragmentation support
WARNING! Once you run following commands, the filesystem will no longer be mountable using the ext3. Please note that ext4 may have some bugs so do not use for production servers (wait for sometime watch Linux kernel mailing list for ext4 bugs). It’s recommended that you keep /boot in a ext3 partition for sometime.
You need ext4 patch applied into kernel and compile kernel with ext4 support. Once done type the following command to convert an existing ext3 filesystem to use ext4, type:
# tune2fs -O extents,uninit_bg,dir_index /dev/dev-name
For example convert /dev/sdb1 to ext4, enter:
# cd /; umount /dev/sdb1
# tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
Next run fsck, enter:
# fsck -pf /dev/sdb1
How do I mount ext4 partition?
mount -t ext4 /dev/sdb1 /path
mount -t ext4 /dev/sdb1 /share
mount -t ext4 /dev/disk/by-uuid/YOUR-PARTITION-UUID /share
How do I boot from ext4 (/boot)?
If you have converted /boot file system (or / used for /boot), update /boot/grub.conf (/boot/grub/menu.lst). Open file and find out current kernel config file and append the following:
rootfstype=ext4
Here is sample config (note I’ve custom kernel names):
title Ubuntu 8.10, kernel 2.6.28.1-vmware-guest-server
root (hd0,1)
kernel /boot/vmlinuz-2.6.28.1-vmware-guest-server root=UUID=8c2da865-13f4-47a2-9c92-2f31738469e8 ro quiet splash rootfstype=ext4
initrd /boot/initrd.img-2.6.28.1-vmware-guest-server
quiet
Save and close the file. And run update-grub:
$ sudo update-grub
Next, update your /etc/fstab file so that it can be mounted as ext4 file system:
UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /share ext4 defaults,errors=remount-ro,relatime 0 1
Finally, reboot the system:$ sudo reboot
The steps I made:
1º
sudo apt-get update
sudo apt-get dist-upgrade
Download the ISO of the last svn partition manager that support ext4
http://beefdrapes.partedmagic.com/
Burn intro cd/usb-> run It and select: Console
( note: is needed this two comands)
tune2fs -O extents,uninit_bg,dir_index /dev/yourfilesystem
fsck -pf /dev/yourfilesystem
3º
mkdir drive
mount -t ext4 /dev/yourfilesystem drive/
cd drive
vi etc/fstab
4º
vi boot/grub/menu.list
# kopt=root=UUID=24c707be-c824-4781-89bd-25ed9dba54f8 ro rootfstype=ext4
...
...
kernel /boot/vmlinuz-2.6.28-4-generic UUID=24c707be-c824-4781-89bd-25ed9dba54f8 ro rootfstype=ext4 quiet splash
reboot
There's another thing that must be mentioned. All your existing files will continue using the old indirect mapping to map all the blocks of data. The online defrag tool will be able to migrate each one of those files to a extent format (using a ioctl that tells the filesystem to rewrite the file with the extent format; you can use it safely while you're using the filesystem normally)
Marco Sousa Register User Linux #415118
InfoNoticias.eu
Ubuntu 9.04 (Jaunty) Release on April 23, 2009
Last edited by int; 3 Weeks Ago at 07:46 AM..