---

Improving MetaData Performance of the Ext4 Journaling Device

“There is always a relentless pursuit of more performance from
our storage systems. This includes more performance from hardware
(faster disks, SSD’s), network (bigger pipes, larger MTU’s),
operating systems (caching, IO schedulers), and file systems. There
are many levers than can be moved to improve performance but this
article will look at one particular piece – the file system journal
device. In particular, the metadata performance of ext4 will be
considered as the journal is moved to different devices.

“Journaling for File Systems

“Sometimes bad things such as power failures happen to systems.
Power interruptions or failures can cause a file system to become
corrupt very quickly because an IO operation is interrupted and not
completed. Consequently, the file system has to be checked (fsck)
which means the entire file system has to be checked (walked) to
find and correct any problems. As file systems grew the amount of
time it takes to walk the file system greatly increased. For
example, the author remembers performing an fsck on a 1TB file
system in 2002-2003 that took several days. Having the system down
for this amount of time is very painful.

“One way to help improve fsck times is to use a journaled file
system. Rather than IO operations happening directly to the file
system, the operations are added to the journal (typically a log)
in the order they are supposed to happen. Then the file system
grabs the operation from the head of the journal and completes it,
erasing the operation from the journal only after the operation is
finished and the file system is satisfied that the operation is
complete.”

Complete
Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis