Linux磁盘分区及文件系统管理之基础概念

简介:

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

设备号
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


目录
打赏
0
0
0
0
344
分享
相关文章
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
11天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
65 10
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
55 16
【Linux】进程概念和进程状态
本文详细介绍了Linux系统中进程的核心概念与管理机制。从进程的定义出发,阐述了其作为操作系统资源管理的基本单位的重要性,并深入解析了task_struct结构体的内容及其在进程管理中的作用。同时,文章讲解了进程的基本操作(如获取PID、查看进程信息等)、父进程与子进程的关系(重点分析fork函数)、以及进程的三种主要状态(运行、阻塞、挂起)。此外,还探讨了Linux特有的进程状态表示和孤儿进程的处理方式。通过学习这些内容,读者可以更好地理解Linux进程的运行原理并优化系统性能。
35 4
Linux磁盘挂接教程
Linux磁盘挂接教程
88 14
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
166 15
|
4月前
|
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
404 7
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
81 7
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
156 8