博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux磁盘分区及文件系统管理之基础概念
阅读量:6115 次
发布时间:2019-06-21

本文共 2540 字,大约阅读时间需要 8 分钟。

设备文件

关联至设备的驱动程序,是设备的访问入口

设备号

Major 主设备号,区分设备类型,用于标明设备所需要的驱动程序
Minor 次设备号,区分同种类型下的不同设备

创建设备文件

mknod 每一个设备就是一个节点。

查看设备

Linux磁盘分区及文件系统管理之基础概念
10代表的是主设备号
175,235,260代表的次设备号。

引用磁盘设备的方式

1、设备名称 2、卷标 3、UUID

磁盘设备

1、IDE 设备名称为:/dev/hd[a-z]
2、SCSI、SATA、USB、SAS设备名称为:/dev/sd[a-z]
如果磁盘设备有分区该如何标识?/dev/sda1 /dev/sda2
注意:CentOS6 和CentOS7 统统将硬盘设备文件标识为/dev/sd

磁盘分区

磁盘分区有两种方式:MBR和GPT
先来说说MBR 不是MBA哈
0 sector(0号扇区,主引导扇区)用于存放Master Boot Record,主引导记录,比如Windows启动时让你选择启动系统。
每个扇区有512个字节,MBR中如何使用分区空间呢?1、前446字节存放Bootloader,这是个程序,用于引导启用操作系统 2、中间64字节,存放分区表,每16个字节标识一个分区,所以一个磁盘最多有4个主分区,这个是改变不到的。
现在的系统可以将分区表的最后一部分拿来作为指向其他存储空间的记录。这个分区表可以指向一个硬盘,将该硬盘的一部分或者全部作为新的分区表。最后一个主分区改名为扩展分区,这样扩展分区不能用于存储数据。扩展分区指向逻辑分区(逻辑分区的数量不定)
注意:除去主分区就是最后一部分,可以是1个主分区加一个扩展分区,也可以是2个主分区加一个扩展分区。
主分区的分区号只有1 2 3 4
逻辑分区的分区号从5开始。

格式化

低级格式化,是出厂的时候做的,用来划分磁道
高级格式化,就是创建文件系统
高级格式化
在指定的分区内首先创建元数据的存储空间,类似于目录,作用是有效快速的查询数据。这样一个分区就被划分为两种存储空间,一个空间用于存放元数据,另一个空间用于存放真实数据。
文件的元数据是inode-->Index node 索引节点:包含文件大小,权限,属主、属组时间戳、数据块指针(这个指针就限制了单位文件大小),元数据不包括文件名,文件名在数据磁盘中存放,因为文件名是目录文件的真实数据。
其实元数据就是一个数据结构,每个文件的元数据组成元素都一样。格式化的时候就把元数据创建好了,只是元数据的内容是空的。
数据存放
在文件系统中,数据存放并不以扇区为单位,而是以块为单位。若干个扇区组成一个数据块。文件系统用数据块存放数据,数据块的分配是整块分配的,不会出现小数点块。
数据块形成后,由系统分配数据块的存放内容类型,有些数据块存放元数据,有些数据块存放真实数据。
符号链接文件(软链接文件)
普通文件的元数据都是指向真实数据,但链接文件的元数据指向的是另一个文件的元数据(数据块指针存储的是真实文件的访问路径)
符号链接支持对目录创建符号链接,可以跨文件系统(指向不同的分区)。如果原文件被删除,符号链接文件就失效了。访问符号链接文件不能得到任何信息。符号链接的权限为777
硬链接文件
指向同一个inode的不同文件。目录不支持硬链接,硬链接不能跨文件系统,创建硬链接会增加inode计数。
什么时候会用到链接文件
当需要多人同时对一个文件进行修改,但是又不想让操作员知道真实的文件名的时候。

设备文件

再来说说设备文件,设备文件的数据块中存放的是设备的主设备号和次设备号

磁盘块位图索引(bitmap index位图索引)

用于标识磁盘块是否为空,indoe也有位图索引。

预留空间

用于Root用户使用,留多少(CentOS7 预留5%),谁决定?由文件系统管理工具决定,创建文件系统的时候需要指定参数。

块组 data block group

这个概念太底层化了,以后有了具体应用在具体描述。这里只需要知道磁盘并不是只有两个数据区(元数据区和数据区),磁盘先被划分为数据块,由数据块组成块组,每个块组都有元数据区和数据区。元数据区存放了本数据组中可用的数据块的编号。在元数据区还存放了一个叫超级块的数据(super block),这个数据不止一份,这个数据主要是向外告知这个磁盘的基本情况(有多少个块组,每个块组的存储容量)

重点说下inode

Linux磁盘分区及文件系统管理之基础概念
68开头的数字就是inode号,机器是别的是inode号,人识别的是文件名,inode类似于页码,根据页码去找出数据。

文件系统目录

首先,根目录是内核可以识别的(这个是前提,我现在解释不清楚)。根目录的inode在内核中,然后根据根目录的inode找到根目录的元数据,根据元数据找到根目录的数据块存储块。根的数据存储块中包含了根目录下的一级目录的目录名和与其对应的inode编号。

交换文件系统 Swap

这个文件系统简单点说就是把磁盘空间拿来当做内存来用。

系统目录注意事项

/bin /sbin /etc /lib /lib64 这几个分区必须在根分区
/usr /var 这两个目录可以单独分区。

创建文件系统工具

mkfs格式化工具是一个通用工具,针对不不同的操作系统也会有不同的工具。mkfs其实是调用了其他具体的格式化工具,这样可以为管理员提供统一的操作接口。具体的格式化工具有:1、mkfs.ext2 2、mkfs.ext3 3、mkfs.ext4 4、mkfs.xfs等。
检测及修复文件系统的工具
fsck 这个工具也是一个统一的调用程序,具体的工具有fsck.ext2 fsck.ext3
查看文件系统属性的工具
dumpes2fs
调整文件系统特性的工具
tune2fs
内核级文件系统的组成部分
1、文件系统驱动
lsmod查看内核中包含的文件系统驱动,也有可能找不到(可能已经作为内核的一部分)能看到的是额外添加到内核中的。
2、文件系统管理工具,由用户空间的应用程序提供。

本文转自 yueyue207 51CTO博客,原文链接:http://blog.51cto.com/yueyue207/2070026

转载地址:http://ybtka.baihongyu.com/

你可能感兴趣的文章
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>