论文部分内容阅读
日志型文件系统保证了在服务器宕机时能够通过日志进行快速的文件系统一致性检查和恢复,因此被广泛使用。但文件系统日志存在对文件系统性能,尤其是写性能造成了一定的影响。而在虚拟化环境下,每台虚拟机都有自己的虚拟磁盘区域,分别对各自的磁盘分区和日志区域进行读写。因此,引入日志同时不影响虚拟机文件系统性能是一个挑战。虚拟化环境下高性能日志文件系统为每台虚拟机添加虚拟日志块设备VJBD(Virtual Journaling Block Device),在保证虚拟机内文件系统日志正常功能的情况下,最大程度上减小了由于对日志的频繁读写操作而导致的写性能的下降。首先,它将原本存储于慢速设备如传统旋转磁盘上的日志数据,转移存储到文件系统能够访问到的高速设备上如内存或者SSD,同时对文件系统日志记录流程以及对虚拟化环境不做任何修改,对上层应用完全透明。其次,在虚拟机内部,文件系统将VJBD识别为普通的磁盘设备,直接调用虚拟机内部的块设备驱动进行日志读写。在虚拟机管理层,所有虚拟机的VJBD被统一管理和分配,对虚拟机管理层的性能影响始终控制在最小。系统测试与结果分析表明:在多台虚拟机同时运行的情况下,使用VJBD进行日志记录的文件系统相比与传统方式记录日志的文件系统的写性能提高了150%左右,与无日志型文件系统相比,写性能下降在10%以内。从以上数据可以看出,VJBD在保证日志型文件系统的高可靠性的同时也保证了文件系统的高速写性能。