linux文件系统的日志隔离


linux文件系统的日志隔离
 
  1.ext3文件系统在ext2的基础上添加了日志功能,如同数据库一样用日志来保证数据的一致性。
 
          ext2:前写block,后写inode!
          ext3:增添了日志区(有利于数据一致性),先写inode! 等数据写到文件系统后,清除日志
 
    2. 然而像oracle,mysql这样的大型数据都是基于日志文件,可以做到日志数据分离,即保证了数据的一致性又保证了效率。ext3这种文件系统默认都是内含的,小型服务器不做考虑,若是大型服务器,一方面是磁盘I/0慢,另一方面直接影响数据写入和读取的效率,因此建立数据区与日志区隔离,即减小I/O负担,加快数据写入效率,同时方便恢复
下面我给出日志区隔离的步骤:
 
1> umount 卸载分区,确保分区未使用
 
 
2> dumpe2fs /dev/sda1 | egrep -i (journal|size)   查看信息
 
3> tune2fs -O ^has_journal /dev/sda1 去掉内部默认的日志功能
 
4> mke2fs -O journal_dev -b 1024 /dev/sda5    格式化一个日志设备
 
5> tune2fs -j -J device=/dev/sda5 /dev/sda1    将日志设备添加到分区上
 
3. 用户还可以自己指定日志同步到文件系统的频率:
mount -o commit=15   日志同步到文件的间隔,可能数据丢失
 
4. 日志型文件系统的工作模式:不同的工作模式,效率不同,数据安全性不同
 
data=ordered 默认只有元数据写入日志区
data=journal 数据,元数据都写入日志区
data=writeback 只有元数据写入,但是不保证提交的次序
 

相关内容

    暂无相关文章