The Journaled File System (JFS) uses a database journaling technique to maintain a consistent file system structure. This involves duplicating transactions that are made to file system metadata to the circular JFS log. File system metadata includes the superblock, i-nodes, indirect data pointers, and directories.
When pages in memory are actually written to disk by a sync() or fsync() call, commit records are written to the JFS log to indicate that the data is now on disk. JFS log transactions occur in the following situations:
JFS logs enable rapid and clean recovery of file systems if a system goes down. If an application is doing synchronous I/O or is creating and removing many files in a short amount of time, there might be a lot of I/O going to the JFS log logical volume. If both the JFS log logical volume and the file system logical volume are on the same physical disk, this could cause an I/O bottleneck. The recommendation would be to migrate the JFS log device to another physical disk (this is especially useful for NFS servers).
Fast-write cached devices can provide for much better performance for log logical volumes (JFS log or database logs).
AIX 4.3.2 provides a mount option called nointegrity which bypasses the use of a JFS log for the file system mounted with this option. This can provide better performance as long as the administrator knows that the fsck command might have to be run on the file system if the system goes down without a clean shutdown.
Use the filemon command to record information about I/Os to the JFS log. If you notice that a file system and its log device are both heavily utilized, it might be better to put each one on a separate physical disk (assuming that there is more than one disk in that volume group).
You can have multiple log devices in a volume group. However, a log for a file system must be in the same volume group as that of the file system. A log logical volume or file system logical volume can be moved to another disk using the migratepv command, even while the system is running and in use.
Placing the log logical volume on a physical volume different from your most active file system logical volume will increase parallel resource usage. You can use a separate log for each file system.
When you create your logical volumes, the performance of drives differs. Try to create a logical volume for a hot file system on a fast drive (possibly one with fast write cache), as follows:
# mklv -t jfslog -y LVname VGname 1 PVname
# smitty mklv
# /usr/sbin/logform /dev/LVname
# chfs -a log=/dev/LVname /filesystemname
Another way to create the log on a separate volume is to: