UNIX硬盘分区简介( 三 )


#cd /
#umount /var
3. 使用newfs -N命令显示超级块的值,此命令会列出备用的超级块在文件系统中的位置:
# newfs -N /dev/dsk/c0t0d0s1
/dev/rdsk/c0t0d0s1: 961248 sectors in 204 cylinders of 19 tracks, 248 sectors
469.4MB in 13 cyl groups (16 c/g, 36.81MB/g, 17664 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 75680, 151328, 226976, 302624, 378272, 453920, 529568, 605216, 680864,
756512, 832160, 907808,
4. 从newfs -N命令列出的备用超级块中选择一个作为fsck命令的一个选项进行修复:
#fsck -F ufs -o b=453920 /dev/rdsk/c0t0d0s1

索引节点
索引节点包含了一个文件除去文件名以外的所有信息 。一个索引节点占用128字节的磁盘空间,它包含了下列信息:
1. 文件类型:普通文件、目录、块设备文件、字符设备文件、链接等
2. 文件权限:读、写、执行权限的组合
3. 文件的硬链接数
4. 文件所有者的用户ID
5. 文件所属的组ID
6. 文件大小(字节数)
7. 一个包含15个磁盘块地址的数组
8. 文件最近的访问日期和时间
9. 文件最后一次修改的日期和时间
10. 文件创建的日期和时间
硬盘上的每个文件,都有一个描述它的信息的索引节点 。文件系统创建的时候,一定数目的索引节点在硬盘柱面组中被同时创建 。有时候,这些索引节点或许会不够用,例如当一个程序产生大量小文件的时候,此时文件系统就需要增加索引节点 。同样,如果我们事先知道此文件系统只用来存放少数大文件,我们就可以通过减少索引节点的数目来达到节省磁盘空间的目的——毕竟每个索引节点占用128字节 。创建文件系统的时候,可以使用newfs命令的-i选项来增加或者减少索引节点的数目 。/usr/ucb目录下的df命令可以查看文件系统中所引节点的状况 。例如:
# usr/ucb/df -i
Filesystem iused ifree %iused Mounted on
/dev/dsk/c0t0d0s0 131672 1929384 6% /
注意:文件系统一旦创建,就无法改变它的索引节点数目,因此,当索引节点不够用的时候,首先应当备份此文件系统数据,然后创建一个包含更多索引节点的新的文件系统,然后将备份的数据恢复到新的文件系统就可以了 。

存储块/数据块
存储块,也叫做数据块,它占用了文件系统的其他所有空间 。这些块包含了存放在磁盘上的数据文件 。每个存储块的大小在创建文件系统的时候被确定 。对一个普通文件来说,存储块存放了文件的内容,对一个目录来说,存储块中存放了此目录中所有文件的索引节点号和文件名的信息 。

好了,上面说了这么多内容,是不是看累了啊?反正我的手早酸了,让我去喝杯茶,然后继续剩下的内容:磁盘命名 。

磁盘命名
这里主要是详细解释我们最开始使用format命令的时候,看到的c0t0d0这个表示的详细含义 。
在Solaris系统中用设备名来代表磁盘 。磁盘设备名是类似cXtXdX格式的一系列字母和数字,比如我们看到的c0t0d0 。设备名中的字母(c,t,d)都是一样的,但X代表的数字表示特定的磁盘或者系统 。例如c0t0d0表示0号控制器,0号磁盘,0号LUN,这通常指代系统中的第一个硬盘,往往也是系统的启动磁盘(boot disk) 。
Sun使用下列命名方式定义逻辑设备名:
/dev/[r]dsk/cXtXdXsX
c:逻辑控制器号(逻辑控制器)
t:物理总线目标号
d:磁盘或逻辑单元号(LUN)
s:分区号
cX : X指磁盘控制器 。当SUN系统搜集安装在系统中的磁盘控制器信息时,它给每个磁盘控制器一个数值,数值取决于系统监测控制器的先后顺序 。第一个被检测到的控制器分配的数值是0,第二个控制器是1,依次类推 。对IDE系统来说,第一个IDE通道为0,第二个(如果存在的话)通道为1 。

推荐阅读