CentOS6 and long Wait IO time on jbd2/dm-0-8

Linux box running CentOS 6.5 and 2.6.32-431.3.1.el6.i686 kernel recently got CPU spikes up to 99% causing by Wait IO.

Executing

while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done

gives me on those CPU spikes:

root       300  0.0  0.0      0     0 ?        D    10:05   0:00  \_ [jbd2/dm-0-8]

so it let me think that source of those spikes is Journal Disk.

I found that topic to be similar IO Wait causing so much slowdown (EXT4 JDB2 at 99% IO ) During Mysql Commit but I have no clue where I can find if my partitions are journaling data or not. My fstab looks like

/dev/mapper/vg_ns01-lv_root /                       ext4    defaults        1 1
UUID=bc042a99-90a1-4d0a-a7b6-4122e9b2a201 /boot                   ext4    defaults        1 2
/dev/mapper/vg_ns01-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_ns01-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

Thanks


To check if a partition has journal enabled:

tune2fs -l /dev/mapper/vg_ns01-lv_root | grep has_journal

Due I'm not able to disable journal on my root partition I have added

noatime,nodiratime,barrier=1,data=ordered

to the fstab and enabled wrtieback on journal and enabled data writeback on journal

tune2fs -o journal_data_writeback /dev/mapper/vg_ns01-lv_root

In result, so far, I'm not getting long Wait IO on that partition.