4 Managing the Ext File System

This chapter describes tasks for administering the Ext file system in Oracle Linux.

Converting an Ext2, Ext3, or Ext4 File System to a Btrfs File System

You can use the btrfs-convert utility to convert an ext2, ext3, or ext4 file system to btrfs. The utility preserves an image of the original file system in a snapshot named ext2_saved. This snapshot allows you to roll back the conversion, even if you have made changes to the btrfs file system.

Note:

You cannot convert the root file system or a bootable partition, such as /boot, to btrfs.

How to Converti a Non-root File System

Caution:

Before performing a file system conversion, make a backup of the file system from which you can restore its state.

To convert an ext2, ext3, or ext4 file system other than the root file system to btrfs:
  1. Unmount the file system.
    sudo umount mountpoint
  2. Run the correct version of fsck (for example, fsck.ext4) on the underlying device to check and correct the integrity of file system.
    sudo fsck.extN -f device
  3. Convert the file system to a btrfs file system.
    sudo btrfs-convert device
  4. Edit the file /etc/fstab, and change the file system type of the file system to btrfs, for example:
    /dev/sdb               /myfs          btrfs    defaults  0 0
  5. Mount the converted file system on the old mount point.
    sudo mount device mountpoint

Converting a Non-root Ext2 File System to Ext3

Caution:

Before performing a file system conversion, make a backup of the file system from which you can restore its state.

To convert a non-root ext2 file system to ext3:

  1. Unmount the ext2 file system:

    sudo umount filesystem
  2. Use fsck.ext2 to check the file system.
    bash-4.1# fsck.ext2 -f device
  3. Use the following command with the block device corresponding to the ext2 file system:

    sudo tune2fs -j device

    The command adds an ext3 journal inode to the file system.

  4. Use fsck.ext3 to check the file system.
    bash-4.1# fsck.ext3 -f device
  5. Correct any entry for the file system in /etc/fstab so that its type is defined as ext3 instead of ext2.

  6. You can now remount the file system whenever convenient:

    sudo mount filesystem

For more information, see the tune2fs(8) manual page.

Converting a root Ext2 File System to Ext3

Caution:

Before performing a root file system conversion, make a full system backup from which you can restore its state.

To convert a root ext2 file system to ext3:

  1. Use the following command with the block device corresponding to the root file system:

    sudo tune2fs -j device

    The command adds an ext3 journal to the file system as the file /.journal.

  2. Run the mount command to determine the device that is currently mounted as the root file system.

    In the following example, the root file system corresponds to the disk partition /dev/sda2:
    sudo mount
    /dev/sda2 on / type ext2 (rw)
  3. Shut down the system.

  4. Boot the system from an Oracle Linux boot CD, DVD or ISO. You can download the ISO from https://edelivery.oracle.com/linux.

  5. From the installation menu, select Rescue Installed System. When prompted, choose a language and keyboard, select Local CD/DVD as the installation media, select No to bypass starting the network interface, and select Skip to bypass selecting a rescue environment.

  6. Select Start shell to obtain a bash shell prompt (bash-4.1#) at the bottom of the screen.

  7. If the existing root file system is configured as an LVM volume, use the following command to start the volume group (for example, vg_host01):
    bash-4.1# lvchange -ay vg_host01
  8. Use fsck.ext3 to check the file system.
    bash-4.1# fsck.ext3 -f device

    In the previous example, device is the root file system device (for example, /dev/sda2).

    The command moves the .journal file to the journal inode.

  9. Create a mount point (/mnt1) and mount the converted root file system on that mount point, for example:

    bash-4.1# mkdir /mnt1
    bash-4.1# mount -t ext3 device /mnt1
  10. Using a text editor, edit the /mnt1/etc/fstab file and change the file system type of the root file system to ext3, for example:

    /dev/sda2        /       ext3    defaults  1 1
  11. Create the file .autorelabel in the root of the mounted file system.
    bash-4.1# touch /mnt1/.autorelabel

    The presence of the .autorelabel file in / instructs SELinux to recreate the security attributes of all files on the file system.

    Note:

    If you do not create the .autorelabel file, you might not be able to boot the system successfully. If you forget to create the file and the reboot fails, either disable SELinux temporarily by specifying selinux=0 to the kernel boot parameters, or run SELinux in permissive mode by specifying enforcing=0.

  12. Unmount the converted root file system.
    bash-4.1# umount /mnt1
  13. Remove the boot CD, DVD, or ISO, and reboot the system.

For more information, see the tune2fs(8) manual page.