码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘及文件系统管理

时间:2015-09-07 19:39:06      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:磁盘   inode   

磁盘及文件系统管理

磁盘管理

一、定义

1、运维常说的服务器I/O泛指磁盘、网卡产生的I/O

2、设备类别:

设备(block)随机访问,数据交换单位为

字符设备(character):线性访问,数据交换单位为字符

3、磁盘设备文件

根据不同的接口类型,在Linux有两种名称标记不同接口的磁盘设备

1IDE接口:并行接口,理论传输速率133MB/s 

名称:/dev/hd[a-z][#]

2SCSI接口:并行接口(Small Computer System Interface

     SATA接口:串行接口,Serial ATA;理论速率6Gpbs

     USB接口:串行接口,480MB/s 

     SAS接口:串行接口

   名称:/dev/sd[a-z][#]

[a-z]:标记设备

[#]:标记分区

二、机械硬盘

1、硬盘结构

磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道

扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区

柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面

技术分享 

技术分享 

2、硬盘分区

硬盘有多个盘片组成,每个盘片的正反面都可以存储数据,每个片面都有独立的磁头。当硬盘转动时,每个盘面的磁头都会读取到自己盘面上对应的数据。故而,按照柱面数来划分分区,可以使硬盘在同时间内读写的数据量最大。

3MBR

MBR:主引导扇区(master boot record,位于磁盘的0磁道0扇区。大小为512bytes,分三部分:

技术分享

446bytes存储系统的引导程序,例如grub程序

64bytes记录分区表信息,其中每16bytes标记一个分区故而,每个硬盘都最多只能分4个主分区

2bytes:标记当前MBR是否有效的55AA标记MBR有效

三、命令

1fdisk

命令提供了一个交互接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘。

fdisk DEVICE

常用子命令:

p:显示现有分区信息

n:创建新分区

d:删除现有分区

t:修改分区ID

l:查看支持哪些分区ID

w:保存退出

q:不保存退出

m:显示帮助信息

2、查看内核是否已经识别新建分区:

#cat /proc/partitions

3、通知内核强制重读分区表:

centos 5#partprobe /dev/DEVICE

centos 6: #partx,kpartx

partx -a /dev/DEVICE

kpartx -af /dev/DEVICE

注意:有时需要多次执行强制重读的命令,才会生效


文件系统管理

一、定义

文件系统就是一套用于定义文件的命名和组织数据的规范,其根本目的是便对文件进行查询和存取。

VFSvirtual File System  虚拟文件系统,为用户提供统一的文件系统的系统调用接口。

VFS支持的文件类型种类有:

Linux文件系统:ext2ext3ext4reiserfsxfs,btrfs

光驱:iso9660

网络文件系统:nfs,cifs

集群文件系统:gfs2ocfs2

分布式文件系统:ceph

windows文件系统:ntfsvfat

伪文件系统:tmpfs,hugepagefs,proc,sysfs

Unix文件系统:FFS,UFS,JFS


这些VFS文件系统系统的分为两类:

日志型文件系统:ext3ext4

系统故障后,加速系统对文件系统的自检修复速度

非日志型文件系统:ext2

系统故障后,只能遍历所有文件,一个一个的检测然后修复

 

二、文件系统结构

对于存储设备上的数据,可分为两部分:

用户数据:用户实际存储的数据

管理数据:描述用户数据属性的数据,是对数据及信息资源的描述性信息。例如指示数据存储位置、历史数据、资源查找、文件记录等功能,也叫作元数据。

每个分区格式化成相同大小的数据块,根据存储在数据块上数据的不同属性可以将一个分区分为三个部分:

超级块:文件系统中的第一个块称为超级块,用来存储文件系统本身的结构信息。

i节点:inode,索引节点 index node,主要存储数据的属性信息,根据数据属性可以索引快速定位找到数据所存储的数据块。

数据区:存储实际数据的数据块区域。

 

如图:

技术分享

由上图得出磁盘和文件系统的结构构成:

磁盘

MBR

分区:一个分区一个文件系统,每个分区的文件系统类型都可以不同。

超级块

块组

超级块副本

位图

i节点(inode

数据块

三、Inode

inode上存储的信息:

1indode编号

2、文件所在数据块信息

3、文件属性信息


注意:根在内核中,其需要被关联至根文件系统,即rootfs;在引导文件grub.conf中指定根目录位置

 

四、数据块

系统读取硬盘时,连续一次性读取的多个扇区是一个数据块(block),一般是4k,即8个扇区

数据块上存储的信息:

目录

1、目录下的文件和一级子目录

2、目录下所有文件和一级子目录所对应的inode编号

文件 

存储的文件数据

五、查看文件过程举例

例:查看文件/var/logs/messages文件内容的过程(读写)

根的inode --> 根目录对应的数据块 --> var对应的inode编号 --> inode table,找到var目录对应的inode --> var目录的数据块-->

logs对应的inode编号--> inode table,找到logs目录对应的inode --> logs目录的数据块 --> messages对应的inode编号--> inode

table,找到messages文件对应的inode --> messages的数据块(数据)

 

 参考:http://blog.chinaunix.net/uid-23069658-id-3468489.html

 

六、扩展----链接文件

链接文件:访问相同文件数据的不同路径

硬链接:两个不同的文件路径指向同一个inode

判断方法:ls -i 查看文件inode编号,如果相同,其中一个是硬链接

创建方法:

cp -l Sfile Dfile

ln Sfile Dfile

特性:

1、目录不支持硬链接

2、硬链接不能跨分区(文件系统)

3、硬链接文件与源文件是指向同一个inode,创建硬链接文件会增加inode的引用计数;删除减少inode的引用计数,不会直接删除文件数据


软链接:连接文件是一个完全独立的新文件,但其指向了源文件的文件路径

创建方法:

ln -s Sfile Dfile

特性:

1、符号链接文件与原文件是两个各自独立的文件

2、目录可以创建符号链接

3、可以跨分区(文件系统)

4、删除链接不影响原文件,但删除原文件,符号链接指向的文件将不存在,因此,此时链接文件将变成失效的链接


注意:符号链接的文件大小并非真正原文件的大小,而是指向的原文件的文件路径字符串所包含的字节数


本文出自 “从头再来” 博客,请务必保留此出处http://4708705.blog.51cto.com/4698705/1692433

磁盘及文件系统管理

标签:磁盘   inode   

原文地址:http://4708705.blog.51cto.com/4698705/1692433

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!