一、solaris10文件系统简介
s10三大文件系统
UFS文件系统几乎是所有UNIX系统的基本文件系统,Solaris当然也不例外。除此之
外Solaris10支持三种类型的文件系统,它们分别是:
(1)基于网络的文件系统;基于网络的文件系统就是网络文件系统,简称NFS文件系
统。网络文件系统(NFS)版本从3升级到4。
(2)虚拟文件系统(也叫伪文件系统)。虚拟文件系统大多数是基于内存的文件系统,
但是也有部分文件系统是基于硬盘上的包括:
TMPFS文件系统:使用本地内存进行读写的文件系统。在Solaris中的默认应用为/tmp
目录
LOFS文件系统:循环文件系统(lofs)可创建一个新的虚拟的原文件系统,然后用另
一个路径名来存取文件
PROCFS文件系统:进程文件系统(procfs)驻留在内存中,表现为/proc目录。在此
目录中活动进程号的清单,ps等命令会用到/proc目录中的信息,调试器或其他开发工具也
可能通过文件系统调用来访问这些过程的地址和空间
CacheFS文件系统:用来改善远程文件系统(NFS)和CD-ROM的读取速度,将读得
数据缓存在CacheFS文件系统中
SWAPFS文件系统:用mkfile和swap命令建立附加的交换区时,系统核心所用的文
件系统
(3)基于磁盘的文件系统;包括:
UFS文件系统:基于BSD快速文件系统的传统UNIX文件系统是Solaris的默认文件
系统。默认启用UFS日志记录功能。在早期的Solaris版本中,UFS日志记录功能只能手
动启用。Solaris10在运行64位Solaris内核的系统上支持多TBUFS文件系统。以前,UFS
文件系统在64位系统和32位系统上的大小仅限于约1TB(Tbyte)。现在,所有UFS文件
系统命令和公用程序已更新为支持多TBUFS文件系统。
HSFS文件系统:用于CD-ROM的只读文件系统
PCFS文件系统:PC文件系统,可以读写DOS型式磁盘的数据,如FAT32
UDF文件系统:DVD文件系统
2solaris10UFS文件系统的结构
Solaris10典型的文件系统类型为UFS文件系统,但它也允许在/etc/default/fs中定义其
他文件类型。在Solaris10上,UFS文件系统驻留在硬盘上,这些硬盘同时具有原始设备接
口和块设备接口,这两个接口分别位于/dev/rdsk目录和/dev/dsk目录中。Solaris10文件系统
所创建的每一个分区都在/dev/dsk和/dev/rdsk中有其自己的对应项。一个UFS文件系统的组
成包括如下几部分。
引导块(bootblock):在文件系统可引导的情况下,引导块中包含有引导数据。
超级块(superblock):超级块中包含有关i节点的位置、文件系统大小、块数目,以
及状态等信息。
i节点(inode):存储文件系统的文件细节信息。
数据块(datablock):实际存储的文件。
3solaris10UFS文件系统的功能
扩展的基本类型(EFT):提供32位用户ID(urID,UID)、组ID(groupID,GID)和设
备编号。
大文件系统:在最大大小可以为16TB的文件系统中,允许大小约为1TB的文件。可
以在具有EFI磁盘标号的磁盘上创建多TBUFS文件系统。
日志记录:UFS日志记录会将组成一个完整UFS操作的多个元数据更改打包成一个
事务。事务集记录在盘上日志中,然后会应用于实际UFS文件系统的元数据。
多TB文件系统通过多TB文件系统,可以创建最大可用空间约为16TB的UFS文件
系统,其中会减去约1%的开销。
状态标志显示文件系统的状态:clean、stable、active、logging或unknown。这些标志
可避免不必要的文件系统检查。如果文件系统的状态为“clean”、“stable”或“logging”,则不
运行文件系统检查。
4SolarisUFS文件系统分层结构
从根目录(/)开始,向下延伸出许多目录。在Solaris安装过程中,可以安装一组缺省目
录,并使用一组约定将类似的文件类型组合在一起。下表汇总了缺省的Solaris文件系统。
缺省的Solaris文件系统
文件系统
或目录
文
件系
统类
型
说明
(/)
UF
S
分层文件树的顶层。根(/)目录
包含对系统操作至关重要的目录和文
件,如内核、设备驱动程序和用于引
导系统的程序。根(/)目录还包含
挂载点目录,可以在这些目录中将本
地文件系统和远程文件系统附加到文
件树。
/var
UF
S
可能随本地系统的生命周期而更
改或增长的系统文件和目录。这些系
统文件和目录包括系统日志、vi和
ex备份文件以及uucp文件。
/opt
NF
S、UFS
第三方软件的可选挂载点。在一
些系统上,/opt目录可能是本地磁盘
片上的UFS文件系统。
/tmp
TM
PFS
TMPFS
/usr
UF
S
可以与其他用户共享的系统文件
和目录。仅在某些类型的系统上运行
的文件(例如SPARC可执行文件)包
含在/usr文件系统中。可以在所有
类型的系统上使用的文件(如手册页)
包含在/usr/share目录中。
/export/h
ome或/home
NF
S、UFS
用户起始目录(用于存储用户的
工作文件)的挂载点。缺省情况下,
/home目录是自动挂载的文件系统。
在独立系统上,/home目录可能是本
地磁盘片上的UFS文件系统。
下图显示了一个从根(/)文件系统以及sbin、etc子目录开始的本地文件系统。
图1UFS文件系统示意图
二、UFS文件系统的建立
1.建立UFS文件系统
由于Solaris10会在安装过程中自动创建UFS文件系统,因此只是偶尔需要创建这些
文件系统。如果希望执行以下操作,则需要创建(或重新创建)UFS文件系统:添加或更
换磁盘,更改磁盘的现有分区结构,完全恢复文件系统。可以使用newfs命令是创建UFS
文件系统的标准方法。newfs命令是mkfs命令的前端,前者实际上用于创建新文件系统。
newfs命令可从将包含新文件系统的磁盘的标号中读取参数缺省值,如每个柱面的磁道数和
每个磁道的扇区数。所选的选项会传递给mkfs命令以生成文件系统。
创建UFS文件系统步骤:
磁盘必须已格式化并分片。如果要重新创建现有的UFS文件系统,请取消挂载该文件
系统。需要知道将包含文件系统的片的设备名称。
成为超级用户或承担等效角色。
使用命令创建UFS文件系统,命令如下:
#newfs[-N][-bsize][-ibytes]/dev/rdsk/device-name
-N显示newfs命令会传递给mkfs命令的参数,而不实际创建文件系统。此选项是用
于测试newfs命令的一种好方法。
-bsize指定文件系统的块大小,每块为4096或8192字节。缺省值为8192。
-ibytes指定每个inode的字节数。缺省值根据磁盘大小而异。
device-name指定在其中创建新文件系统的磁盘设备的名称。系统会请求进行确认。
命令实例:在/dev/rdsk/c0t1d0s4中创建UFS文件系统。
#newfs/dev/rdsk/c0t1d0s4
图2是Solaris物理磁盘名称的说明
图2是Solaris物理磁盘名称的说明
验证是否创建了UFS文件系统,请检查新文件系统。命令如下:
fsck/dev/rdsk/c0t1d0s4
挂载UFS文件系统使用mount命令
将/dev/dsk/c0t3d0s4挂载到/export/home目录上。
#mount/dev/rdsk/c0t1d0s4/export/home
单独运行不带参数的mount命令将显示当前已挂接的文件资源。如图3。
图3显示当前已挂接的文件资源
2.使用/etc/vfstab文件管理UFS文件系统
我们可以用mount命令和umount命令来手工管理文件系统,也可以通过文件系统表
(/etc/vfstab)来管理。通过编辑/etc/vfstab文件,系统在启动时可自动地安装在本地的ufs
文件系统、必需的nfs文件系统,以及其他的文件系统。可以使用more/etc/vfstab命令查看
/etc/vfstab文件的内容如图4,文件系统表是ASSCII文件,注释行以#开头,下面的
/etc/vfstab文件说明了系统中有一个硬盘。
图4使用命令查看/etc/vfstab文件的内容
/etc/vfstab文件中的项包含七个字段。下面介绍如何修改/etc/vfstab文件,以便挂接(mount)
新的文件系统的步骤:
(1)进入超级用户;
(2)用vi等命令编辑/etc/vfstab文件;
(3)加入各项。用空格或Tab键分隔其中每个域,如果某个项没有值,则填上“-”号;
(4)保存该文件;
(5)检查安装点目录是否存在,不存在则建一个;
(6)运行mountall命令。
下面的例子说明了将/dev/dsk/c0t3d0s7盘区作为ufs文件系统安装到/test1目录中,安装
任选项(读/写)为默认值,fsck设备是/dev/rdsk/c0t3d0s7字符设备,fsckpass值为2,说明
该文件系统不采用顺序方式检测:
以下示例说明如何将磁盘片/dev/dsk/c0t3d0s7作为UFS文件系统挂载到挂载点
/files1。原始字符设备/dev/rdsk/c0t3d0s7会指定为devicetofsck。fsckpass值为2意味着
将检查文件系统,但不是按顺序检查。
#devicedevicemountFSfsckmountmount
#tomounttofsckpointtypepassat
bootoptions
/dev/dsk/c0t3d0s7/dev/rdsk/c0t3d0s7/files1ufs2yes-
三、修复整理UFS文件系统
1何时需要修复
UFS文件系统依赖于一组内部表来跟踪已用的inode和可用的块。当这些内部表与磁
盘上的数据未正确同步时,会导致不一致性问题,从而需要修复文件系统。
由于以下情况导致操作系统突然终止,文件系统可能会不一致:
电源故障
意外关闭系统电源
没有按正确的关闭过程关闭系统
内核中出现软件错误
文件系统不一致性问题尽管严重,但并不常见。引导系统时,会自动执行对文件系统一
致性的检查(使用fsck命令)。通常,此文件系统检查会修复它遇到的问题。文件系统检
测是用fsck(filesystemcheck)程序实现的。fsck命令将已分配的但没有说明其来源的文件
和目录放在lost+found目录下,如果该目录不存在,则由fsck建立。如果lost+found中没有
足够的空间,fsck也会自动增大其空间。下列情况发生时一般需要检测文件系统:
文件系统不能安装;
正在使用的文件系统产生问题;
正在使用着的文件系统出现不一致时,控制台窗口会提示出非常醒目的出错信息,严重
时甚至会发生系统瘫痪。
fsck命令的语法和选项
fsck命令检查和修复文件系统中的不一致性问题。如果运行不带任何选项的fsck命
令,则该命令会在进行修复之前以交互方式要求进行确认。此命令有四个选项。
命令
和选项
说明
fsc
k-m
检查是否可以挂载文件系统
fsc
接受所有修复
k-y
fsck-n拒绝所有修复
fsck-o
p
以非交互方式整理文件系统,解决所有预期的(无害
的)不一致性问题,但是在遇到严重问题时退出
2修复文件系统的步骤:
(1)进入超级用户;
(2)拆卸(umount)有问题的文件系统;
(3)键入fsck命令进行修复。
3如何整理UFS文件系统
在异常关机后,可以运行fsck-op命令以整理文件系统。在此模式下,fsck命令不查
看“干净”标志,而是执行完整检查。这些操作是fsck命令以交互方式运行时所执行操作的
子集。
(1)成为超级用户或承担等效角色。
(2)取消挂载UFS文件系统。
#umount/mount-point
(3)!!用整理选项检查UFS文件系统。
#fsck-op/dev/rdsk/device-name
以下示例说明如何整理/export/home文件系统。
#fsck-op/export/home
四、UFS文件系统设置磁盘配额
对磁盘空间资源进行必要的管理是solaris系统管理员的工作之一。尤其当系统磁盘空
间有限,而用户众多的时候,系统管理员就要想出办法,要么增加磁盘的数量,要么限定用
户的使用空间。在不增加新的预算的情况下,限定用户空间就是惟一可行的方法。Quota在
限制磁盘空间方面有两种措施:硬限制和软限制。硬限制就是系统严格限制用户可以使用空
间的大小,不允许超额。软限制是允许用户超出限额一定的范围。当超出软限额时,Quota
开始计时,在计时期间(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置),用
户释放空间到限额以下,计时复位清零。如果到期还没有释放空间,系统将不再允许该用户
使用更多的空间。Quota限制磁盘空间的方法也有两种,即分别对inode和block进行限制。
因为系统给用户提供了两种资源:inode和block,分别用于存储文件和数据。
设置Quota步骤:
(1)!!使用vi或者gedit编辑/etc/vfstab文件,在需要设置Quota的UFS的属性上加
上rq标志。如图5
图5编辑/etc/vfstab文件
(2)在该文件系统的根目录下建立名为quotas的文件,该文件的所有者应是root,其
他用户不可对它进行写操作。
#cd/export/home
#touchquotas
#chmod600quotas
(3)使用edquota命令来在UFS的根目录下创建一个临时文件,这个文件的内容包括
用户的使用限额。
(4)使用quotacheck命令对限额的一致性进行检查。
#quotacheck–va如图6
图6使用quotacheck命令对限额的一致性进行检查
(5)用quotaon命令来启动edquota服务。
#quotaon/export/home
(6)改变和删除Quota设置
下面简要介绍一些改变和删除Quota设置的命令。
改变时间限额设置:#edquota-t
改变用户限额限额设置:#edquotaurname
检查用户限额设置是否正确:#edquota-v[用户名]
关闭quota服务:#quotaoff[quota根目录]
五、UFS磁盘空间管理命令
磁盘空间管理命令查看磁盘空间的大小是系统管理员经常需要做的事情。Solaris操作系
统提供了许多命令,以反映系统磁盘空间大小,由此可见查看系统空间大小的重要性。下表
所示为磁盘空间信息的命令汇总和例子。
命令名
称
功能描述简单实例
df
报告空闲磁盘块
和文件的数量
显示文件大小和磁盘空间:$df
以1024K的形式显示文件大小磁盘空间:$df-h
以块的形式显示文件大小和磁盘空间:$df-t
du
子目录的占用空
间大小
显示目录的大小是多少KB:
$du-h/usr/share/
显示目录大小是多少块数:
$du-s/var/adm/var/
find
查找指定目录下
指定大小的文件
找到并删除core文件:
#find.-namecore-execrm{};
说明:core文件是系统软件故障信息记录文件。core
文件会自动变大对于普通用户没有意义。
ls
显示当前目录下
文件及大小
列出文件的详细信息:$ls-l
按时间顺序列出目录内文件:$ls-tl/var
说明:-t参数是要求输出按时间排序,时间最新的在
最上边。
总结:到此为止笔者简单介绍了solaris10UFS文件系统的基本管理、后边笔者会介绍UFS
文件系统的备份和恢复。
本文发布于:2023-03-12 20:38:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678624731229685.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:ufs是什么.doc
本文 PDF 下载地址:ufs是什么.pdf
留言与评论(共有 0 条评论) |