Converting to ext4 filesystem from ext3

Hello,

I'm currently experiencing high load on my linode caused by the kjournald process. I want to upgrade to the ext4 filesystem so that I can stop journalling.

I'm quite new to linux and not overly familiar with the mounting options.

I'm running Ubuntu 12.04.3 64-bit.

Is anyone able to confirm the following is the correct process? :

# sudo nano /etc/fstab
  • change EXT3 to EXT4

  • reboot the system

# tune2fs -o journal_data_writeback /dev/xvda
# sudo tune2fs -O extents,uninit_bg,dir_index /dev/xvda
# tune2fs -O ^has_journal /dev/xvda
# e2fsck -fDC0 /dev/xvda
  • reboot the system

  • configure options in /etc/fstab

Any help would be greatly appreciated.

Regards,

Paul

6 Replies

If your only goal is to disable journaling, why not just do that part? Not certain this requires converting to ext4.

If you do decide to convert to ext4 anyway, you should be aware that the Linode Manager may not be able to resize disks that were originally created as ext3 and then converted to ext4. You may want to take this into consideration. It might be a better idea to create a raw disk, create an ext4 filesystem on the raw disk, tune2fs it, then move your stuff from the old ext3 disk to the new ext4 disk. At least you'll be able to grow such a disk later (you still wouldn't be able to shrink it though).

Thanks for the reply. From the research I've done there doesn't seem to be a way to disable journaling on ext3 (unless you know of one?).

The response from Linode staff:
> Our Backup Service can mount your Ext4 formatted disk image however, restores will be Ext3 due to limitations in that process. Resizing disk images may be handled properly via the Linode Manager but to be safe, I would suggest using the raw disk image type which means you will need to manually resize the filesystem if you do resize the disk image.

Thanks for your recommendation on creating a ext4 filesystem on the raw disk and tune2fs-ing it. I've created a raw disk image from the linode dashboard, what would be the easiest way to copy the data across to it?

Thanks,

Paul

I can confirm that the steps I posted earlier work perfectly and successfully change the filesystem to ext3 to ext4. I've disabled the journalling and now don't experience any IO spikes - figured this would be helpful for some people out there.

Thanks for your help,

Paul

You… do know what journalling is, right? Why do you have a grudge against your data?

@livefree:

From the research I've done there doesn't seem to be a way to disable journaling on ext3 (unless you know of one?).
As ext3 is simply ext2 with a journal, I believe you can just mount the fs as ext2. I don't think "tune2fs -O ^has_journal" is even necessary.

Running without journaling is a Bad Idea™. It makes data loss enormously more likely. If journaling is causing that much load, to me it would indicate some other problem…

Turns out it was a cache folder who's contents was being replaced far too often causing the journalling system to go nuts trying to keep up. My bad. Thanks for the input though.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct