您的位置:首页 > 运维架构 > Linux

linux -8 Linux磁盘与文件系统的管理

2014-01-22 22:36 330 查看
Linux最传统的磁盘文件系统file system EXT2,

1.

磁盘的组成与分区

    整块磁盘的组成:

    圆形的盘片,主要记录数据的部分

    机械手臂与机械手臂上的磁头(可读写盘片上的数据)

    主轴马达,可以转动盘片,让机械手臂的磁头可以盘片上读取数据。

    扇区(sector),最小的物理存储单位,每个扇区为512bytes

    将扇区围成一个圆,那就是柱面(Cylinder),柱面是分区(partition)的最小单位。

第一个扇区比较重要,里面有硬盘主引导程序(Masterbootrecord),以及分区表(partition table)。其中MBR占446bytes,partition table则占64bytes

各种接口在Linux中的文件名为:

/dev/sd[a-p][1-15] :为SCSI,SATA,USB,FLASH等接口的磁盘文件名

/dev/hd[a-d][1-63]:为IDE接口的磁盘文件名

磁盘的分区可以访问的区域就是A柱面到B柱面之间的块

    因为分区表只有64bytes,所以最多只能记录四条分区的记录,这四条记录我们成为主分区(primary)和扩展分区(extended),扩展分区还可以再分出逻辑分区(logical)

,能被格式化的只有主分区和逻辑分区。

主分区和扩展分区最多可以有四个

扩展分区最多只能有一个

逻辑分区时扩展分区持续分出来的分区

能被格式化作为数据访问的分区为主要分区和逻辑分区,扩展分区无法格式化

逻辑分区的数量依操作系统而不同,在linux系统中,IDE硬盘最多有59个逻辑分区(5号-63号),SATA硬盘则有最多11个逻辑分区(5号-15号)

Linux的正规文件系统则为Ext2(Linux second extended file system Ext2fs)

一个可被挂载的数据为一个文件系统,而不是一个分区

文件系统通常会把这两部分的数据分别放到2个不同的块,权限和属性放到inode中,而数据放到data block中,还有一个超级快(super block)记录整个文件系统的整体信息,包括inode和block的总量,剩余量,使用量

文件系统类型:索引式文件系统(indexed allocation),譬如硬盘,还有FAT格式的文件系统,譬如U盘

碎片整理,就是将同一个文件所属的block汇合在一起,这样读取数据会比较容易。

日志文件的功能:

日志文件系统(journaling file system)

预备:当系统要写入一个文件时,会先在日志文件中记录某个文件准备要写入的信息

实际写入:开始写入文件的权限和数据,开始更新meta data的数据

结束:完成数据和meta data的数据更新后,在日志记录中完成该文件的记录。

这样只需要检查日志记录块就知道那块数据出现了问题

Ext2转换到Ext3的原因是:数据的可利用性,数据的完整性,速度和易于转换

挂载:文件系统与目录树结合的过程我们叫挂载

文件系统只有挂载到目录才能使用

Linux支持的文件系统:

    传统文件系统 EXT2DENG

    日志文件系统:ext3等

    网络文件系统:NFS/SMBFS

整个Linux系统是通过一个名为Virtual Filesystem Switch(虚拟文件系统VFS)进行管理的,我们用户并不知道每个分区上头的文件系统是什么,VFS会主动帮助我们做好读取的操作

文件系统的简单操作:

磁盘与目录的容量:df,du

df:列出文件系统的整体磁盘使用量,以易读的方式显示出来 df -h

du:评估文件系统的磁盘使用量(常用于评估目录所占容量,)

连接文件ln

1.类似window下的快捷方式,成为符号连接,symbolic link

2.hard link-硬连接

hard link就是在某个目录下新建一条文件名连接到某个inode下。

hard link是有限制的:不能跨文件系统,不能连接到目录。

新建hard link ,ln 源文件  目标文件   

symbolic link :ln -s  源文件  目标文件

开机挂载

/etc/fstab 和 /etc/mtab

根目录是优先挂载的

如若进行挂载,您必须将工作目录移动到挂载点之外。

特殊文件loop挂载(镜像文件不刻录就能直接使用)

ll -h /root/centos 5.2_x_86_64.iso

mkdir /mnt/cebtos_dvd

mount -o loop /root/centos 5.2_x_86_64.iso /mnt/centos_dvd

df

ll /mnt/centos_dvd

卸载:

umount /mnt/centos_dvd

创建大型文件:

dd if=/dev/zero of=/home/loopdev bs=1M count=512

ll -h /home/loopdev

格式化:

mkfs -t ext3 /home/loopdev

挂载:

mount -o loop /home/loopdev /media/cdrom/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: