最近在帮一个研究生弄一个虚拟化环境下的基于Innodb的日志文件的读写优化的实验,实验的具体详细内容就不说了,其中有一个步骤需要将MySQL的日志文件放置在一块单独的硬盘里面,这块硬盘要么是ext2,要么是ext4,ext4的性能据说比前面的ext系列的要高,所以选择了ext4。但是ext4具备有日志的功能,如果开启了这个日志功能的话,到时又会有多个虚拟机同时跑,那么这个ext4的日志功能会对我们的实验数据产生一定的影响,并且我们在实验中并不需要到这个日志功能,所以需要将这个日志功能关闭。具体如下步骤:
下面的vda便是虚拟机所导入的硬盘,我们先对这个硬盘格式化一下:
[root@centos7_vm_1 ~]# mkfs.ext4 /dev/vda
mke2fs 1.42. (-Dec-)
Filesystem label=
OS type: Linux
Block size= (log=)
Fragment size= (log=)
Stride= blocks, Stripe width= blocks
inodes, blocks
blocks (5.00%) reserved for the super user
First data block=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , Allocating group tables: done
Writing inode tables: done
Creating journal ( blocks): done
Writing superblocks and filesystem accounting information: done
先来检测一下/dev/vda硬盘上的ext4文件系统是否带有日志功能:
[root@centos7_vm_1 ~]#dumpe2fs /dev/vda | grep 'Filesystem features' | grep 'has_journal'
dumpe2fs 1.42. (-Dec-)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
可以动态地在ext4文件系统创建之后关闭其日志功能:
[root@centos7_vm_1 ~]# tune2fs -O ^has_journal /dev/vda
tune2fs 1.42. (-Dec-)
如果需要开启的话:
[root@centos7_vm_1 ~]# tune2fs -O has_journal /dev/vda
tune2fs 1.42. (-Dec-)
Creating journal inode: done
参考链接: