Solaris系统管理培训(第十三章:文件系统介绍)
网络整理 - 06-30
文件系统的定义
对用户来说文件系统是存储信息的文件和目录的集合
对操作系统来说文件系统是以一些数据的集合
磁盘文件系统
Solaris定义了种文件系统类型
ufs – UNIX文件系统是Solaris缺省的文件系统
hsfs – 高密度CDROM文件系统是只读文件系统
pcfs – PC文件系统支持DOS格式化的软盘
网络文件系统
NFS是Solaris系统支持的网络文件系统
内存文件系统
指操作系统运行时存在于内存中的文件系统
流分区已经定义了分区的大小和位置但未创建文件系统
块分区已经创建了文件系统
它们之间的逻辑设备名分别存放在/dev/rdsk河/dev/dsk中
磁盘卷标包含了磁盘的分区表磁盘卷标存放在磁盘的第一个扇区
启动块
启动块存放着启动程序位于磁盘的-扇区
超级块
超级块包含启动块后面的个扇区超级块是文件系统的信息表包含
数据块的数量
柱面组的数量
数据块和碎片的大小
硬件的描述
挂接点
文件系统的状态干净稳定或激活
备份的超级块
由于超级块包含了许多关键数据因此必须要备份备份是在文件系统创建时产生的
Solaris下以inode的方式记录文件
Inode包含文件的下列信息
文件类型和访问模式
文件的拥有者和所在组的
文件大小
上次访问和更改的时间以及inode更改的时间
已用数据块的数量
inode包含两种指针直接指针和间接指针
直接指针
有个直接指向数据块这个指针可以支持K字节的文件
间接指针
单倍间接– 单倍间接指针指向包含指针的数据块这样可以支持M字节的文件
双倍间接–双倍间接指针指向包含单倍间接指针的数据块这样可以支持G字节的文件
三倍间接–三倍间接指针指向包含双倍间接指针的数据块这样可以支持T字节的文件
newfs创建文件系统
# newfs /dev/rdsk/ctds
newfs: construct a new file system /dev/rdsk/ctds: (y/n)? y
/dev/rdsk/ctds: sectors in cylinders of tracks sectors
MB in cyl groups ( c/g MB/g i/g)
superblock backups (for fsck F ufs o b=#) at:
文件系统检测工具(fsck)用于检测文件系统是否出错
比如某个数据块不能同时被两个不同的inode占用Fsck程序可以检测这种错误
# fsck /dev/rdsk/ctds
** /dev/rdsk/ctds
** Last Mounted on /export/home
** Phase Check Blocks and Sizes
** Phase Check Pathnames
** Phase Check Connectivity
** Phase Check Reference Counts
** Phase Check Cyl groups
files used free ( frags blocks % fragmentation)
文件系统错误
许多情况下文件系统发生错误是由于超级块有错误发生错误的原因主要是
非正常关机
掉电
硬件错误
fsck运行的时间
系统每次启动时都会自动运行fsck如果发现错误会尝试自动修复如果错误非常严重需要人工修复这是进入系统单用户模式然后打命令
#fsck /dev/rdks/ctds
df命令查看已挂接的文件系统使用状况
参数k表示以千字节格式显示
$ df k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/ctds % /
/dev/dsk/ctds % /usr
/proc % /proc
fd % /dev/fd
/dev/dsk/ctds % /var
/dev/dsk/ctds % /opt
swap % /tmp
du命令显示某个目录下文件的占用磁盘空间的情况
du [a] [s] [k] [directory]
参数
k 以千字节方式显示(默认是以块方式显示一个块为字节)
s 只以简略的方式显示
a 显示制定目录下所有文件和目录占用的磁盘块数量