580 likes | 736 Views
文件系统管理. 文件系统基本概念 建立、安装、卸载文件系统 修理文件系统 文件系统空间维护 查找文件 系统日志 文件系统的维护. 文件系统基本概念. 文件系统定义 Release 5 必须具有的两个文件系统 UNIX 根下系统主目录 Release 5 所支持的文件系统类型 查看文件系统信息. 文件系统定义. 文件系统是操作系统的一个特殊部分,由文 件目录以及给文件定位和对文件进行读写操 作所必须的信息等几个方面组成。
E N D
文件系统基本概念 • 建立、安装、卸载文件系统 • 修理文件系统 • 文件系统空间维护 • 查找文件 • 系统日志 • 文件系统的维护
文件系统基本概念 • 文件系统定义 • Release 5 必须具有的两个文件系统 • UNIX根下系统主目录 • Release 5 所支持的文件系统类型 • 查看文件系统信息
文件系统定义 • 文件系统是操作系统的一个特殊部分,由文 • 件目录以及给文件定位和对文件进行读写操 • 作所必须的信息等几个方面组成。 • 对UNIX操作系统而言,一个文件系统是 • 一个允许UNIX进行存储和访问的文件以及 • 目录的结构。
Release5 必须具有的两个文件系统 1 Release5每个UNIX操作系统的初始硬盘(Primary Disk)上至少 要有一个根文件系统(root filesystem). 根文件系统包括了构 成UNIX操作系统的文件和目录,在文件目录中由斜杠符号“/” 表示。 2 在Release5中,每个Unix系统在初始硬盘上必须有的第二个文 件系统是/stand。/stand文件系统包含了系统引导时所 需要的 信 息、引导程序,例如/stand/boot、/stand/boots等文件。
Unix根下的主目录 /bin目录: 包含最普通的Unix命令。 /dev目录:包含特殊设备文件,这些设备文件对外部设备 实施控制读、写。这个目录的全部文件是必须 的,绝对不能从系统中删除。 /etc目录: 包含各种各样的系统程序(系统提供的命令) 和数据文件。这些文件在系统中同样是必需的, 但其中有许多可以进行修改。 /lib目录: 包含C和其它语言程序运行的库文件。 /mnt目录:是一个空目录,是为安装可重新拆卸文件系统 保留的。 /usr目录: 由几个不同的子目录组成,这些子目录包含 了一些附加的unix命令和数据文件,同时,这 个目录也是存放默认的用户主目录的地方。
/tcb目录: 包含了受托系统(Trusted Computing Base)的 全部文件,这个目录下所包含的内容全部与系 统安全有关。 /tmp目录:包含了通过unix程序创建的临时文件。 /boot Unix系统引导程序文件。 /dos DOS系统引导程序文件。 /shlib unix共享库的代码目录 /lost+found: 系统维护目录,如果系统出现意外事件,比 如非正常关机,系统将自动地把一些文件暂 时保存在这里。在系统维护过程中,再将这 个目录下的内容恢复到它原来的位置上。 /unix这个文件是unix在内存中的映象,即unix核心 文件。
Release 5 所支持的文件系统类型 文件系统类型 文件系统 HTFS 高吞吐量的文件系统 EAFS 扩展的快速文件系统 AFS 快速文件系统 DTFS 压缩的文件系统 HS HighSierra CD-ROM文件系统 ISO09660 ISO9660 CD-ROM 文件系统 Rockridge Rockridge CD-ROM 文件系统 XENIX XENIX 文件系统 DOS DOS 文件系统 在联网的情况下,系统还支持网络文件系统(NFS)。
HTFS、DTFS文件系统 HTFS(High Through File System)提供高性能的文件系统。 并且对保持文件系统的完整性进行了改进。 DTFS(Desktop File System)也称平台文件系统,它能极大的优化 硬盘空间环境。 这两类文件系统都支持文件系统类型更新,多种类型文件的透明 维护等。
几个文件系统类型特点比较 HTFS DTFS EAFS AFS S51K Increased Throughput 增加的数据流通量 # Data Compression 数据压缩 # Checkpointing 检验点机制 # # Logging 登录机制 # # Versioning 改版 # # Long Filename 长的文件名 # # # Synbolic Links 符号链接 # # #
查看文件系统信息 A 直接使用fstyp(ADM)命令查看一个指定文件系 统的类型。 B 使用文件系统管理器 步骤1、运行scoadmin(ADM)并选择Filesystem- Filestem Manager 步骤2、一张已知的文件系统列表就会显示在屏幕 上,包括Filesystem、 Mount Point、 Type等信息。
建立、安装、卸载文件系统 • 使用命令行建立、安装、卸载文件系统 • 用scoadmin建立、安装、卸载文件系统
使用命令行建立、安装、卸载文件系统 1)在根下敲入命令行:mkdev fs 屏幕显示:This program performs maintenance tasks required to add or delete an existing filesystem 1 .Would you like to add a new filesystem to system 2 .Remove a filesystem Select an Option or enter q to quit 2) 选1后,屏幕提示敲入设备的名字: Enter a device name and press(Return)or g to quit 设备名字要具有完整的路径名。
3)敲入设备名字后,接着提示敲入安装点的名字,即安装文 • 件系统的目录: • Enter a directory name and press (Return )or q to quit • 敲入目录之后,屏幕显示: • Reserving slots in lost +found directory …… • When entering mutiuser mode: • 1 Always mount filesystem • 2 Never mount filesystem • 3 Prompt before mounting filesyetem • Select an option • 如果想在系统启动的时候自动地安装文件系统,选择1; • 如果打算只有在提出请求时安装文件系统,选择2: • 如果希望每次系统启动时提示询问是否要安装文件系统, • 选择3;
4)接着,系统提示询问是否允许用户安装文件系统:4)接着,系统提示询问是否允许用户安装文件系统: Do you want allow users to mount this filesystem (Y/N) 回答Y后,屏幕提示: Updating system files...Filesystem has been successfully added 这表明,新的文件系统已经建立起来了。 5)使用下面的命令安装文件系统。 mount /dev/x /y 命令的功能是把/dev/x文件系统安装到目录/Y上 卸载某个文件系统使用umount命令 umount /y
用scoadmin建立、安装、卸载文件系统 1)运行SCOadmin---Filesystems---Filesysterm Manager 2)在 Mount 下拉菜单中运行 Add Mount Configration,有两个 选项 local (Remate) 例如选择 local 3) 屏幕上出现一个设置屏,填写好各项设置,确认之后就会按 照操作者的意图安装好文件系统了。 4)利用Mount下拉菜单中的Remove Mount Configuration 和 Umount 选项,可以对选中的文件系统进行删除和卸载操 作。
修理文件系统 • 为什么安装文件系统会出现失败 • 引起文件系统崩溃的原因 • 手工修理一个文件系统 • 使用filesystem manager 修理文件系统 • 使用fsck(ADM)检查、修理文件系统
为什么安装文件系统会出现失败 • 你是否指定了一个不存在的设备文件或者安装目录? • 如果是安装软盘或者是光盘,介质是否位于驱动器之中? • 是否你或者是其他的人员目前在安装目录中或者在使用 • 安装目录中的文件? • 使用fuser(ADM)来判明是否有其他的人员在使用此目录: • fuser -u /mount_point • 这个命令通常显示访问那个目录的任何过程的进程ID。 • -u选项也可以显示拥有这些进程的用户。使用-ku选项可 • 以显示用户并且可以传送一个终结信号给那个进程。
引起文件系统崩溃的原因 当一个文件系统崩溃的时候,无论是实际的数据或者是存放数 据的结构都会损坏。几种情况都能够导致系统崩溃: 硬件故障 程序故障:一个导致程序失败的错误发生了, 可能会导致数据丢失. 系统崩溃 电源故障 不恰当地关闭系统 最后的两种情况是导致文件系统崩溃的最常见的原因。
手工修理一个文件系统 你可以在下面的条件之下手工地检查文件系统: • 文件系统在启动的过程之中没有被安装 • 文件系统被配置成在启动的过程之中被安装,但是系 • 统没有被配置成进行检查。 下面所述的基本步骤必须是用于手工地修理一个文件系统: • 卸载文件系统 • 修理文件系统 • 安装文件系统
使用filesystem manager 修理文件系统 步骤1: 运行scoadmin(ADM)。选择 filesystems- > Filesystem Manager。 步骤2: 你将会看到一系列的文件系统名字。请 高亮显示相应的文件系统。 步骤3: 选择Mount--Check and Repair-- Selected Filesystem。 如果你想要检查没有列入的一个文件系 统,请选择 Filesystem--Check and repair Other Local Filesystem。输入 文件系统设备文件。
步骤4: 选择完全(Full)或者是快速(fast)方式 的检查。 步骤5: 如果你希望系统自动地修理任何的问题, 请选择自动修理(Auomatic Repair)。如 果你仅仅地需要一份报告,请选择无需修 理(Do Not Repair)。 步骤6: 选择确认(OK)来启动检查.一个状态窗 口将会提示你进程状况。 如果文件系统在检查之前已经被安装,系统将卸载文件系统,检 查并且修理文件系统,然后重新安装文件系统。如果文件系统在 检查之前没有被安装,那么系统将简单地进行检查。你必须安装 文件系统,以便使得数据有效。
用fsck(ADM)从命令行检查和修理文件系统 清洁文件系统不一定能修复所有东西。请保存输出以防万一在 以后需要用于进行分析。 umount /dev/filesystem_name fsck -y /dev/filesystem_name 2> log_file mount /dev/filfesystem_name /mount_point
修复被破坏文件系统——fsck(filesystem check) 1 将系统置于单用户模式,运行 scoadmin,选择 Filesystems ,选择 Filesystem Manager。 2 在 Mount 下拉菜单中,选择 Check and Repair。 3 进入Check and Repair Local Filesystem on computername 设置屏,选择type of checking和 what to do if corrupted 的选项,然后OK确认。 4 程序一边运行,一边显示运行过程中的状态信息, 并显示检查和修复的结果。 Phase 1--- Check Blocks and Size Phase 2--- Check Pathnames Phase 3--- Check Connectivity Phase 4--- Check Reference Counts Phase 5--- Check Free List
文件系统空间维护 • 文件系统空间维护工作的内容 • 文件系统空间管理的注意事项 • 使用filesystem manager确定文件系统的自由空间 • 从命令行检查文件系统自由空间 • 显示硬盘使用情况 • 清理关键的临时目录 • 虚拟硬盘 • 增加第二块硬盘
文件系统空间维护工作的内容 文件系统的维护工作,包括系统平稳地运行、保持文件系统 的整洁、确保系统中的每一个用户都有足够的空间等等。要对 文件系统进行有效的维护,则必须监控每个文件系统的自由空间。 为了提高系统的运行效率,一般情况下,应该保证每个文件 系统至少有百分之十五的自由空间,才可以使unix系统运行得比 较好。如果文件的自由空间少于百分之十五,系统操作就会变 得非常缓慢。如果文件系统没有自由空间可以使用,那么系统 就将停止一切对文件系统的写操作。
文件系统空间管理的注意事项 1 应该经常检查系统上全部文件系统的自由空间 的数量,并及时提醒用户要保持一定的自由空间。 也可以在/etc/motd文件中建立提示信息,以便随 时提醒用户。 2 注意经常对/tmp目录下的临时文件进行清理,把 不再使用的临时文件删除掉。硬盘上哪些目录中 的文件需要经常清除,可以在 /etc/default/cleantmp 文件中进行编辑、定义。
3 如果文件系统自由空间的数量已经低于百分之十五,这时应 该进行以下几个方面的处理: 1) 发送一条系统信息,通知系统上所有的用户删除不用的 文件 2)查找出系统上的临时文件和core文件,并把他们删除。 清除系统日志文件内容。 3)清除硬盘碎片。这些碎片是一些不能在分配的磁盘空间, 着将造成空间资源的极大浪费。 4)如果经过上述过程的操作后,系统仍然持久性地缺乏自 由空间,那么就需要建立并安装一个额外的文件系统。 比如,可以考虑增加第二块硬盘。 5)最后还可以考虑对那些使用次数不多的大文件进行压缩 存放,以节约空间。
用filesystem manager确定文件系统的自由空间 步骤1 运行scoadmin(ADM)。选择filesystems,选 择filesystem manager。 步骤2 从View下拉菜单中选择Disk usage运行。 屏幕上Filesystem,Mount Point,Total space,Used space,Free Space等信息。 请注意结果显示中每一个文件系统的全部大小,被使 用的兆字节数,以及文件系统被使用的百分率。
从命令行检查文件系统自由空间数量 df[-t][-f][-v-i] 文件系统的设备名字 选项的意义分别是: -t 报告文件系统所拥有的及未使用的块数、i节点 -f 只报告文件系统中的自由块数 -v 分别报告文件系统所拥有的总块数、已使用的块数、自由 块数、以及自由块数所占的百分比 -i 分别报告i节点已使用数量、自由数、总数、以及所使用的 I节点占总数的百分比。 还有一些其他选项。 /etc/dfspace[文件系统] 这条命令报告文件系统所使用磁盘空间的情况,包括文件占有 的存储空间总数(以1MB为单位)、可以使用的空间及百分比。
显示硬盘使用情况 du 命令 可以显示在文件目录中所使用的块 的数量。 quot命令 显示文件系统中清单以及每个用户 所拥有的文件块数。
清理关键的临时目录 • 下面所列的是一些主要的系统范围的临时文件: • lost+found(对每一个文件系统) • /tmp • /usr/tmp • 请定期检查这些目录并删除较老的文件。
虚拟硬盘 虚拟硬盘是由一组物理硬盘经过一定配置所构成的阵列。 在UNIX中使用虚拟硬盘可以改进系统性能、增加硬盘存储空 间、实现热备份。多个小容量的硬盘可以配置成一个虚拟硬盘 以构成一个单一连续的较大的硬盘空间,有效地提高了硬盘的 利用率。数据可以连续地存储在一个虚拟硬盘上,对于用户来 讲就好象一个实际的硬盘空间加大了一样,而且用户对虚拟硬 盘的所有操作和对单个物理硬盘的操作完全相同。
磁盘阵列是指多个物理硬盘组合在一起,它们可以作磁盘阵列是指多个物理硬盘组合在一起,它们可以作 为一个更大的且空间连续的高性能的硬盘(虚拟硬盘)。数据 块在磁盘阵列中被分割成更小的段,在向磁盘写数据时是以并 行方式进行的,这样就提高了磁盘操作速度。但由于磁盘阵列 由多个硬盘构成,磁盘阵列的出故障率将高于组成该磁盘阵列 的每一块硬盘的出故障率。 虚拟硬盘有简单虚拟硬盘、串联虚拟硬盘、RAID0、 RAID1、RAID4、RAID5、RAID10和RAID53六种类型 ,其中 RAID1、RAID4和RAID5支持热备份。
在Sco OpenServer 5中提供了虚拟硬盘管理软件(VDM,即Virtual Disk Manager,需要专门安装),通过VDM可以实现对虚 拟硬盘的增加、修改和删除等操作。如果在系统中使用了虚拟硬盘,系统将把对虚拟硬盘的读写操作转给VDM,由VDM来控制跨越几个物理硬盘数据的物理位置。可以用三种方法进入虚拟磁盘管理器: 1. 在图形窗口中的桌面上双击Virtual Disk Manager 2. 使用Scoadmin--->Filesystem--->Virtual Disk 3. 在命令行直接运行Scoadmin virt 进入虚拟磁盘管理器后就可以通过它来进行创建新的虚拟硬盘、建立虚拟硬盘文件系统、删除虚拟硬盘、修改虚拟硬盘以及监视虚拟硬盘性能等操作。对虚拟硬盘文件系统也可以进行安装(mount)或卸载(umount)等操作。
增加第二块硬盘 当 系统中硬盘空间缺乏时,通常需要增加物理硬盘。 其总体步骤如下: 对于SCSI硬盘 1. 在命令行运行 mkdev hd,配置一个要增加的SCSI硬盘。该 步骤中要指定配置一个要增加的SCSI硬盘的主接口卡类型、 所使用的主接口板号、接口卡上控制器的 ID号以及相应的 控制器上的逻辑设备号。配置完毕,重新连接核心。 2. 再一次运行 mkdev hd,安装上一步配置好的SCSI硬盘。 3. 在命令行运行 mkdev fs,建立新安装好的SCSI硬盘文件系 统。 对于标准硬盘(如 IDE硬盘),执行上述的2、3步骤即可。
查找文件 • find 命令格式 • find 命令部分option 选项的作用
find 命令格式 find命令是进行文件系统维护工作的一个常用命令, 可以查找指定文件的位置、权限设置、大小、类型、 属主及最近一次对文件读、写、或修改日期。 find 命令格式 find pathname option pathname 是要查找的目录的路径名 find命令可以在指定的路径中查找,把那些与option 自由项的标准匹配文件全部找出来。
find命令部分option选项的作用 -atime+number找到那些在指定天数内没有进行读、写操作 的文件。+number表示天数。 -exec cmd找出那些与指定标准匹配的文件,并且执行 shell命令。Cmd表示shell命令。命令的参量 {}由find找到的那些文件的当前路径名取代。 在shell命令的结尾必须有标点符号,这里应 该是换码符加分号。即 \; -group gname查找那些属于组名为gname的文件 (gname是组名)。如果gname是数字,并且没 有在/etc/group文件中出现,那么它就解释 为GID。
-name file按指定的文件名查找文件。File是文件名。 -ok cmd除了以提示形式显示产生的命令行以外,所有 进行的工作与-exec相同:只有当在出现提示的 时候,用户敲入“y”,cmd代表的命令才被执行。 -perm onum找出那些权限与onum完全匹配的文件。Onum是 标号司文件权限的八进制数。 -print显示find命令所找到的全部文件及路径。 -size number查寻那些大于指定块数量的文件,number表示 文件的块数(每块 512B) -type x查找指定类型的文件。这里的x可以是类型d(代 表目录)或类型f(代表文件) -user uname找出属于用户uname的全部文件,uname是用户 名。如果uname是数字,并且没有在文件 /etc/passwd中出现,那么它就解释为注册ID号
系统日志 • 日志文件的用途列表 • 监视日志文件上的新信息 • 手工清理系统日志文件 • 自动清除日志文件
日志文件的用途列表 日志文件路径 用途 检查周期 /etc/wtmp历次的注册 每周 /usr/adm/pacct进程记帐日志文件 每周 /usr/adm/messa系统信息日志文件 每周 /tcb/audittmp/*审计系统临时文件 每周 /etc/ddate记录每次后备时的日期 每月或每年 /usr/spool/uucp/.LOGFILE uucp任务请求、文件传送、系统状态的记录 每月 /usr/spool/uucp/.LOG/.Old/* 由uudemon.clean保存的旧的uucp日志文件 每月 /usr/spool/lp/logs/request 打印请求记录 自动地
监视日志文件上的新信息 要监视当前增加到系统日志文件上去的新的信息,使用tail 命令,其形式如下: tail -f/usr/adm/messages tail 命令的功能是显示一个文件的最后部分。因为日志文件 新增加的内容信息总是附在文件的尾部,所以使用这个命令可 以检查日志文件的增长情况。在命令行中,通过选项-f,tail 命 令可以显示出文件的最后10行。
手工清理系统日志文件 手工清理日志文件时,可以把日志文件首先复制到另一个文 件,然后清除,不应该破坏文件的目录结构和读、写权限(不同 于删除)。 cp /usr/adm/messages /usr/adm/messages.old 命令行把messages文件的内容,放入messages.old文件。接着, 如果使用Bourne shell 或 Korn shell,可以敲入命令行: >/usr/adm/messages 把文件的内容全部清除。 如果使用C shell,可以使用命令行: cat/dev/null>/usr/adm/messsages 同样把文件内容全部清除。
自动清除日志文件 日志文件也可以自动清除,由于系统中的日志文件各色各 样,清除它们的方法也不完全相同。但基本做法都是利用系统 提供(或用户自己编写)的shell文本程序清除日志文件的内容。 为了使日志文件的清除工作能够自动地、周期性地进行,系 统提供的调度程序可以对肩负日志清除任务的shell文本程序定时 地调度运行。
文件系统的维护 • 保持文件系统的结构更有效 • 保持文件系统的完整性
保持有效的文件系统结构 • 影响文件系统使用效率的主要因素 • 整理磁盘碎片 • 限制文件目录长度
影响文件系统使用效率的主要因素 在使用过程中,影响文件系统使用效率的因素主要有两个: 1 文件系统经过较长时间的读、写操作后,可能产生大量的碎 片。 2 文件系统中随着文件的增多,目录变得越来越长,因此,要 使文件系统一直能保持较高的效率,就必须解决着两个方面 的问题。
整理磁盘碎片 • 磁盘碎片产生的来源 • 消除碎片的原则 • 整理磁盘碎片的具体步骤
磁盘碎片产生的来源 • 1 由于持续地在磁盘上进行文件的建立、删除等操作,磁盘上回产生一些碎片,这些零碎的盘片有些隐含在文件中,它们虽然是空的,但文件系统已经无法使用。 • 2 另外一些碎片是独立文件之外的很小的自由空间,这些小块分布在整片上,因此,如果文件系统把类似这样的碎片分配归某些文件时,将直接降低硬盘的性能。特别是在硬盘空间使用已经达到百分之七十五以上时,这个问题将变得十分严重。