At times, to meet performance requirements, you would want to disable file system journaling. Given below are steps to do so for an ext4 file system (e.g. /dev/sda1). These steps have been tested on RHEL 5.7). All commands are to be executed with root privileges:
STEP 1: Unmount the file system partition whose journaling you wish to disable
Use the following command to unmount the partition on /dev/sda1 (let’s say it’s /opt):
NOTE: The command used above is umount and not unmount.
STEP 2: Disable journaling for the file system
Use the following command to disable journaling for an ext4 file system:
tune4fs -O ^has_journal /dev/sda1
STEP 3: Perform a file system check
Use the following command to perform a file system check. This is not strictly required, but is recommended for checking file system integrity after disabling journaling:
e4fsck –f /dev/sda1
STEP 4: Reboot
You may use the following command to reboot the Linux OS:
shutdown –r now
STEP 5: Verify that the file system has journaling disabled and the partition is mounted
After the host has rebooted, you may use the following commands to check if journaling is disabled for the filesystem and the partition is mounted:
dmesg | grep EXT4
Expected output similar to: EXT4-fs (dm-3): mounted filesystem without journal
In order to re-enable journaling, repeat all the STEPS above, but without the ‘^’ in STEP 2.
As a Linux novice, I certainly appreciate this post.
I have at least seven partitions spread across two SSDs. I was able to disable journaling for most of them, but root and /home were apparently busy. How can I turn off journaling for all my partitions?
Concerning step 2: Unfortunately on my laptop it didn’t work out that way. After playing around I discovered that the following command is working:
tune4fs -O “^has_journal” /dev/sda1
Maybe it helps others too.
Thanks for sharing!
This was just what the doctor ordered! I’ve been trying to create an Acronis image from a 1TB HDD that had 158GB space used across 10 partitions. The partition /dev/sda11 (490GB) used 80% used at one point, but the files were deleted. The resulting .tib file would be 367GB, but after turning the journal feature off the result was a 4.5GB .tib file. /dev/sda11 was now actually 71M and not 71M as reported by `df -h`.