目录
前言:
linux操作系统的管理员需要掌握配置和管理硬盘的技巧,以确保系统的数据安全、性能优化和可靠性。
在linux服务器中,当现有硬盘的分区规划不能满足要求(例如:根分区的剩余空间太少)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。
一、MBR硬盘和GPT硬盘简介
硬盘分区表的格式可以分为主引导记录(MBR)硬盘与全局唯一标识磁盘分区表(GPT)硬盘这两种硬盘格式。
- MBR硬盘:采用的是fdisk工具管理。最多支持4个主分区。
- GPT硬盘:采用的是gdisk工具管理。支持大于等于4个主分区。
1. MBR的分区规划选项:
- 1个主分区+扩展分区(N个逻辑分区) 分区总数:1+N
- 2个主分区+扩展分区(N个逻辑分区) 分区总数:2+N
- 3个主分区+扩展分区(N个逻辑分区) 分区总数:3+N
- 4个主分区 分区总数:4
- 扩展分区(N个逻辑分区) 分区总数:N
【注意:分区上限为256个。】
2.GPT的分区规划:
使用GPT对磁盘进行分区时,没有主分区和扩展分区之分,所有分区都被是为独立的主分区。
(最多128个分区)
二、分区介绍:
- 主分区:可以存储数据,安装操作系统
- 扩展分区:逻辑分区的存储集合,不能存储数据
扩展分区的总容量= 逻辑分区1容量+逻辑分区2容量+…+逻辑分区n容量
- 逻辑分区:只能存储数据,不能安装操作系统
逻辑分区不是自己定义出来的,是通过扩展分区划分出来的
- 活动分区:活动分区指在MBR分区表中被标记为活动的分区,用于存放引导加载程序。在GPT分区表中不存在活动分区的概念。
活动分区通常用于存放引导加载程序,这是计算机在启动过程中加载操作系统的关键组件。
【注意:只有一个分区可以被标记为活动分区,否则可能导致启动错误或混乱。】
三、物理设备的命名规则
linux操作系统中的一切都是文件,硬件设备也不例外。
常见的硬件设备及其文件名称
一台主机上可以有很多块硬盘,因此系统采用a~p来代表16块不同对硬盘(默认从a开始分配),而且硬盘的分区编号也有如下的规定:
- 主分区或扩展分区的编号从1开始,到4结束。
- 逻辑分区从编号5开始。
- NVMe硬盘只有在关闭计算机的情况下才能添加。
注意:
/dev目录中的sda设备之所以是a,不是由插槽决定的,而是由系统内核的识别顺序决定。
例如:sda3表示编号为3的分区,而不能判断sda设备上已经存在3个分区。
而/dev/sda5表示:“这是系统识别到的设备文件中分区编号为5的逻辑分区的设备文件”。
四、硬盘分区
在数据存储到硬盘之前,该硬盘必须被分割成一个或数个硬盘分区。在硬盘内有一个称为硬盘分区表(分为MBR格式和GPT格式)的区域,用来存储硬盘分区的相关数据,如:每一个硬盘分区的起始地址、结束地址、是否为活动的硬盘分区信息。
硬盘设备是有大量的扇区组成的,每个扇区的容量为512B,其中第一个扇区最为重要。第一个扇区里保存着主引导记录与硬盘分区表信息。
就第一个扇区来讲。主引导记录需要占用446B,硬盘分区表为64B,结束符占用2B。其中硬盘分区表中每记录一个分区信息就需要16B,这样一来,最多只有4个分区信息可以写到第一个扇区中,这4个分区就是主分区。第一个扇区中的数据信息如下图所示:
第一个扇区最多只能创建出4个分区,为了解决分区数不够的问题,可以将第一个扇区分区表中16B(原来要写入主分区信息)的空间拿出来指向另一个分区(称为扩展分区)。
注意:
扩展分区严格地讲不是一个实际有意义的分区,它仅仅是指向下一个分区的指针,这种指针结构将形成一个单向链表。
五、项目实践
1.使用fdisk工具给硬盘分区
(1)给虚拟机新增一块20G大小的SCSI或SATA硬盘
建议使用SATA硬盘,它支持热插拔。
SATA(Serial ATA)硬盘通常支持热插拔(Hot Plug)功能,这意味着你可以在计算机运行时插入或拔出 SATA 硬盘,而无需重启计算机。大多数现代主板和操作系统都支持 SATA 硬盘的热插拔。
【此后根据添加向导保持默认选项添加】
(2)使用fdisk工具进行分区操作
操作目的:
- 给新硬盘分区为1个主分区(10G),1个扩展分区(10G),两个逻辑分区(各5G)。
- 将主分区的文件系统格式设置为XFS类型
- 将其挂载到目录/class02上
1)新建主分区
查看分区表信息:
2)新建扩展分区
查看分区表信息:
3)创建逻辑分区
逻辑分区5:
逻辑分区6:
查看分区表信息:
4)保存退出
【注意:如果分区创建错误,可以在fdisk菜单下输入:“d”,并选择相应的硬盘分区即可。删除后输入“w”,保存并退出。】
(3)使用mkfs命令建立文件系统
建立文件系统类似于Windows系统的格式化硬盘,在硬盘分区上建立的文件系统会冲掉分区上的数据,且不可恢复。因此在建立文件系统前,要确认分区上的数据不再使用。
1)在/dev/sdb1上建立xfs类型的文件系统
(4)挂载并使用存储设备
如果对挂载这个概念和相关方法不是很了解,请移步看一下:什么是挂载?怎么挂载?怎么配置挂载文件?怎么配置离线YUM源?(超详细)-CSDN博客
1)建立一个新的空目录/class02
2)使用vim编辑/etc/fstab文件并保存退出
3)刷新挂载信息并查看
(5)使用fsck命令检查文件系统
该命令主要用于检查文件系统的正确性,并对Linux硬盘进行修复。
例如,检查/dev/sdb1上是否有错误,如果有错误,则自动修复(必须先把硬盘卸载才能检查分区)。
六、使用其他硬盘管理工具
1.dd命令
例:使用dd命令建立和使用交换文件。
将交换文件进行格式化
激活交换文件
2.df命令
查看文件系统的硬盘空间占用情况。但是df命令不能看见未挂载的设备分区。
常用选项如下:
- -a:显示所有文件系统硬盘使用情况,包括0块的文件系统,如/proc文件系统。
- -k:以k字节为单位显示。
- -i:显示i节点信息。
- -t:显示指定类型的文件系统的硬盘空间使用情况。
- -x:列出不算某一指定类型文件系统的硬盘空间使用情况(与-t相反)。
- -T:显示文件系统类型。
3.du命令
用于显示硬盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占用文件系统数据块的情况。
【free命令用于新鲜事系统内存的使用情况,包括物理内存(RAM)和交换看见(SWAP)的相关信息。】