linux下根文件系得统制作工具。内带shell命令

源代码在线查看: unix系统管理-第九章:修复文件系统.txt

软件大小: 861 K
上传用户: linux_open_lab
关键词: linux shell 根文件 制作工具
下载地址: 免注册下载 普通下载 VIP

相关代码

				UNIX系统管理-第九章:修复文件系统
				目标
				完成这一章,你将能做以下事情:
				理解文件系统是如何进行更新操作的 
				理解sync是如何预防文件系统错误 
				列出文件系统错误的三个原因 
				使用fsck检查和修补文件系统 
				文件系统的维护
				日常的维护
				-检查文件系统的一致性
				-执行文件系统备份
				-监控磁盘的使用情况
				系统管理员的一个主要的职责就是保护用户的数据的安全。由于UNIX中数据通过文件系统的方式存储,系统会强制性检查文件系统的存储环境是否出现问题。文件系统的完整性十分重要,系统管理员可以做许多工作来保护文件系统的完整性。
				这一章,我们会学习如何使用fsck工具来检查和维护文件系统的完整性。在开始之前,我们需要了解文件系统的更新是如何发生的。
				文件系统的更新
				当一个文件系统装载后,它的超级块被拷贝到内存中。当拷贝完成之后,文件系统的标记被置为"dirty"。所有的对超级块的更改首先要去更改这个拷贝。当一个SYNC的系统调用使用的时候,磁盘上的拷贝才会被更新。当一个文件系统被卸载的时候,所有的在内存中的数据会被写回到磁盘上,文件系统的标记被置为"clean"。
				所有的对metadata进行的修改首先是修改其在内存中的拷贝,然后才会被写到磁盘上去。一些metadata的修改是立即写到磁盘上,其它的则是在调用sync的时候才会被写到磁盘上。
				举一个例子:rm myfile命令会引起以下的一些改变:
				1.myfile的目录的条目被清除。
				2.用来描述myfile的inode被释放
				3.用来索引剩余数据块和剩余inode的映射图被更新
				4.超级块中的剩余数据块的数量和inode的数量被更新
				不幸的是,不是所有的metadata数据都是连续地存储在磁盘上的,所以它会进行一系列的写操作来完成这些处理过程,如果在进行这些过程中系统突然崩溃,就会使metadata数据产生不一致。例如:如果myfile的目录条目已经被清除,但是inode还没有被释放,结果就是一个inode有一个链接,但是并没有目录结构指向这个inode。这就是不一致的metadata。
				内存缓冲区
				用户写数据的时候,实际上并不立即发生写磁盘的动作,数据会被拷贝到一个内存的缓冲区里。这个操作非常快,数据同inode信息一起,会在以后的一些时间被写到磁盘上,通常是在缓冲区满的时候和新需要清除一下缓冲空间的时候。如果系统在还没有将缓冲区中的信息写到磁盘上去之前,系统关闭。文件系统的一致性就会被破坏。如果你察觉文件系统已经被破坏,你应该停止当前的工作。
				使用缓冲区的优点和缺点:
				使用缓冲区可以对磁盘进行均匀的存取,因为内核不需要知道磁盘I/O的产生的原因,内核只会将缓冲区中的数据写到磁盘,而不用去关心缓冲区数据的组成。从磁盘I/O的观点来看,使用缓冲区,系统的设计会更简单。
				通过使用缓冲区,应用程序会很容易地移植到其它的UNIX系统上去,因为不同的UNIX机器的磁盘I/O也许会不同,但是程序不需要了解这些。它们只是写到缓冲区,而不用去考虑磁盘的设置方式。
				使用缓冲区可以减少对磁盘的读写,这会提高整个系统的响应时间,换句话说,系统运行更快了。
				重复利用缓冲区中的数据文件也能够加速系统的响应。
				刷新缓冲区
				sync
				将缓冲区的内容写到磁盘 
				保持文件系统为最新 
				通常是通过syncer守护进程来激活 
				syncer
				syncer是在系统启动的过程中自动启动。 
				syncer程序的语法为: 
							

相关资源