2023年11月29日发(作者:)

维普资讯

中华医学图书情报杂志2O07年11月第l6卷第6期 Chi Med Libr nf Sci,November 2O07,Vo 16,No.‘61‘

Linux系统日志文件的远程存储实现

(中国科学技术信息研究所,北京 100038)

关键词:Ijnu);系统日志;远程存储

中图分类号: 393 文献标识码:文章编号:1671—3982(2(K17)06—0061—02

unux系统的日志子系统对于系统安全来说非 统内核执行,当一个进程终止时,在进程统计文件

常重要,它记录了系统每日发生的各种各样的事情, (paect或acct)中为该进程写一个记录,进程统计的

可以通过日志来检查错误发生的原因,更重要的是

在系统受到黑客攻击后,日志可以记录下攻击者留 是错误日志。它由syslogd(8)守护程序执行,各种系

下的痕迹。通过查看这些痕迹,系统管理员可以发 统守护进程、用户程序和内核通过syslogd(3)守护程

现黑客攻击的某些手段及特点,从而能够及时采取

有针对性的防范措施,排除和阻断意外和恶意的入

侵行为。

l简介

Linux下的文件系统通常有两种,即非日志文件

系统和日志文件系统。非日志文件系统在工作时不

对文件系统的更改进行日志记录而能够工作得很稳

定,但是它存在不少问题,例如,对于像Ext2文件系

统这样的普通日志文件系统,如果系统刚将文件的

磁盘分区占用元数据信息(medaa)写入到磁盘分

区中,还没来得及将文件内容写入磁盘,这时发生断

电等意外情况,文件韵内容还未存人,而元数据信息

已更新,造成二者的内容不一致。更有甚者,一旦文

件或数据丢失,系统很可能无法重新启动。

日志文件系统则是在非日志文件系统的基础

上,加入了文件系统更改的日志记录。日志文件的

设计思想是:跟踪记录文件系统的变化,并将变化内

容记录人日志。日志文件系统在磁盘分区中保存有

日志记录,写操作首先是对记录文件进行操作,若整

个写操作由于某种原因(如系统断电)而中断,在系

统重启时会根据日志记录来恢复中断前的写操作。

这个过程只需要几秒钟到几分钟。

在Linux系统中有三类主要的日志子系统…。

是连接时间日志。它由多个程序执行,把记录写

入到/var/log/wtmp和/var/run/utmp,login等程序会更

新wtmp和utmp文件,使系统管理员能够跟踪某人

在某时登录到系统的情况。二是进程统计。它由系

收稿日期:2007—08—20

作者简介:程木林(1972一),男,辽宁大连人,在读软件工 硕士研究

生,发表论文8篇。

目的是为系统中的基本服务提供命令使用统计。三

序向文件/arg/meges报告值得注意的事件。

另外还有许多Unix程序创建日志,像H】1P和

FTP等提供网络服务的服务器也保持详细的日志。

系统工作原理

在日志文件系统中,所有文件系统的变化、添加

和改变都被记录到“日志”(即记录文件metadata信

息的数据)中。每隔一段时间,文件系统会将更新后

的文件元数据及文件内容写入磁盘,之后删除这部

分日志,重新开始新日志记录。

在对元数据做任何改变以前,文件系统驱动程

序会向日志中写入一个条目,来描述它将要做的工

作,然后,继续修改元数据。通过这种方法,日志文

件系统就拥有了近期元数据被修改的历史记录,当

检查到没有彻底卸载的文件系统的一致性问题时,

只要根据数据的修改历史进行相应的检查即可,即

日志文件系统除了存储数据和元数据以外,还保存

有一个日志,称作元元数据(关于元数据的元数据)。

日志文件系统保证了数据、文件的安全,但是加

大了系统开销。每一次更新和大多数的日志操作都

需要写同步,这需要更多的磁盘I/0操作。从日志

文件的原理出发,那些需要经常写操作的分区应使

用日志文件系统。

Linux系统中可以混合使用日志文件系统和非

日志文件系统。日志增加了文件操作的时间,但是

从文件安全性角度出发,磁盘文件的安全性得到了

较好的保证。对日志文件系统进行的测试表明,与

2文件系统的性能相比,日志文件系统的性能并

没有降低多少 此外,有些日志文件系统由于采用

了B+树算法,在操作一些大尺寸的文件时,其性能

比非日志文件系统的性能还要好。

远程存储的实现