目录
1.主引导记录:MBR(Master Boot Record)
一、磁盘结构及分区表示
1、硬盘基础
硬盘(Hard Disk Drive,简称 HDD)是计算机常用的存储设备之一。
1.硬盘的结构
(1)物理结构
盘片:硬盘有多个盘片,每盘片2面。
磁头:每面一个磁头。
(2)数据结构
扇区:盘片被分为多个扇区区域,每个扇区存放512字节的数据。
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
(3)存储容量
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
2.硬盘的接口
接口类型 | 传输方式 | 最高速度 | 线缆/连接器 | 应用场景 |
IDE | 并行 | 113MB/s | 40/80针扁平电脑 | 老式个人电脑、服务器 |
SATA | 串行 | 6Gb/s | 7针数据+15针电源 | 现代电脑、支持热插拔 |
SCSI | 并行 | 320MB/s | 50/68针电缆 | 服务器、多设备并行操作 |
SAS | 串行 | 12Gb/s | SFF-8482连接器 | 高性能服务器、存储系统 |
NVMe | PCIe总线 | 32Gb/s+ | M.2或U.2插槽 | 固态硬盘、高性能计算 |
光纤通道 | 光纤 | 128Gbps | 光纤连接器 | 企业级SAN、数据中心 |
2、磁盘分区表示
1.主引导记录:MBR(Master Boot Record)
MBR位于硬盘的第一个物理扇区
MBR中包含硬盘的主一引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
2.磁盘分区的表示
常见的硬盘可以划分为主分区、扩展分区和逻辑分区。通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。
3.Linux中使用的文件系统类型
核心功能 | 存储管理 | 性能优势 | 适用场景 | 容量限制 | |
XFS | 高性能文件系统 | 大文件/大容量优化 | 高并发写操作、快速恢复 | 大数据、高性能计算 | 极大(EB级) |
SWAP | 虚拟内存扩展 | 内存与磁盘空间交换 | 扩展内存空间 | 服务器高负载、虚拟机 | 依赖磁盘空间 |
EXT4 | 通用文件系统 | 中小型存储优化 | 延迟分配、多块分配 | 桌面、服务器、嵌入式系统 | 大容量(EB级) |
二、管理磁盘及分区
1、检测并确认新磁盘
可以通过“fdisk -l” 命令查看当前系统中所有硬盘设备及分区的信息。
上述输出信息中包含了各硬盘的整体情况和分区情况,其中“/dev/sda”为原有的硬盘设备,而“/dev/sdb”为新增的硬盘,没有包含有效的分区信息。对于已有的分区,将通过列表的方式输出以下信息。
Device | 分区 |
Boot | 是否是引导分区。若是,则有“*”标识。 |
Start | 该分区在硬盘的起始位置(柱面数)。 |
End | 该分区在硬盘中的结束位置(柱面数)。 |
Blockes | 分区的大小、以Blocks(块)为单位,默认的块大小为1024字节。 |
Id | 分区对应的系统ID号。83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷。LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制。 |
System | 分区类型 |
2、规划硬盘中的分区
在硬盘设备中创建、删除、更改分区等操作同样通过 dfisk命令进行,只需使用硬盘的设备文件作为参数。例如,执行”fdisk 、dev/sdb“命令
在该操作界面中“Command (m for help):”提示符后,输入特定的分区操作指令,可以完成各项分区管理任务。例如。输入”m“指令后,可以查看各种操作指令的帮助信息
三、管理文件系统
在 Linux 操作系统中,使用 fdisk 工具在硬盘中建立分区以后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用于存储文件、目录等数据。本节将学习如何格式化并挂载分区。
1、创建文件系统
创建文件系统的过程即格式化分区的过程,在 Linux 操作系统中使用 mkfs(Make Filesystem,创建文件系统)命令工具可以将分区格式化成 XFS、EXT4、FAT 等不同类型的文件系统,而 Swap 交换分区是使用 mkswap 命令来进行格式化的。
1.mkfs命令的使用
实际上 mkfs 命令是一个前端工具,可以自动加载不同的程序来创建各种类型的文件系统,而后端包括多个与 mkfs 命令相关的工具程序,这些程序位于/sbin/目录中,如支持EXT4 文件系统的 mkfs,ext4程序等。执行如下“1s /sbin/mkfs*”命令,可以査看当前操作系统内与 mkfs 命令相关的工具程序。
使用mkfs 命令时,基本的命令格式如下:
mkfs -t 文件系统类型 分区设备
创建XFS文件
创建FAT32文件系统(注:centos8的系统 需要下载 dosfstools 工具包)
2.mkswap命令的使用
在 Linux 操作系统中,Swap 分区的作用类似于 Windows 操作系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。当 Linux 主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。
2、挂载、卸载文件系统
在 Linux 操作系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行的,虽然操作系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。
1.挂载文件系统
mount 命令的基本使用格式下:
mount [ -t 文件系统类型 ] 存储设备 挂载点
mount 命令的“-t”选项用于指定文件系统类型,而“-o”选项则用来描述设备或文件系统的挂载方式,基本使用格式如下:
mount [ -o 挂载参数 ] 存储设备 挂载点
例如:
mount -o ro /dev/sdb1 /mnt
2.卸载文件系统
需要卸载文件系统时使用的命令为 umount,使用挂载点目录或对应设备的文件名作为卸载参数。Linux 操作系统中,由于同一个设各可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载。例如,执行以下操作将分别卸载前面挂载的 Linux 分区、光盘设备。
umount 目录 #通过挂载点目录卸载对应的分区
umount /dev/cdrom
3.设置文件系统的自动挂载
系统中的/etc/fstab 文件可以视为 mount 命令的配置文件,其中存储了文件系统的静态挂载数据。Linux 操作系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。默认的 fstab文件中包括了根分区、/boot 分区、交换分区挂载配置。执行如下命令可以査看当前系统内自动挂载的设备或分区。
/dev/mapper/cl-swap swap swap defaults 0 0
- 第一字段:设备名或设备卷标名。
- 第二字段:文件系统的挂载点目录的位置。
- 第三字段:文件系统类型,如XFS、Swap等。
- 第四字段:挂载参数,即mount命令“-o”选项后可使用的参数。
- 第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般为1时表示需要,设置为0时将被dump忽略
- 第六字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。通过在/etc/fstab 文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。
4.查看磁盘使用情况
不带选项及参数的 mount 命令可以显示分区的挂载情况,若要了解系统中已挂载各文件系统的磁盘使用情况(如剩余磁盘空间比例等),可以使用 df命令。
df 命令使用文件或者设备作为命令参数,较常用的选项为“-h”和“-T”。其中,“-h”选项可以显示更易读的容量单位,而“-T”选项用于显示对应文件系统的类型。例如,执行“df -hT”命令可以查看当前系统中挂载的各文件系统的磁盘使用情况,具体操作如下:
df -hT
四、LVM逻辑卷管理
许多 Linux 操作系统的使用者在安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量。如果当初估计不准确,一旦系统分区不够用就可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。
1、LVM概述
LWM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上、文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在保持现有数据不变的情况下动态调整磁盘容量,从而增强磁盘管理的灵活性。
在安装 Cent0s 系统的过程中选择自动分区时,就会默认采用 LVM 分区方案,不需要再进行手动配置。如果有特殊需要,也可以使用安装向导提供的磁盘定制工具调整 LV 分区。需要注意的是,/boot 分区不能基于 LVM 创建,必须独立出来。
1.PV(Physical Volume,物理卷)
物理卷是 LVM 机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LV的属性,并把存储空间分割成默认大小为 4MB 的基本单元(Physical Extent,PE),从而构成物理卷。
2.VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷,如图 6.2所示。许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。
3.LV(Logical Volume,逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷,
2、LVM 的管理命令
为了便于理解,这里先使用 fdisk 工具在磁盘设备“/dev/sdb”中划分出三个主分区 sdb1、sdb2、sdb3,每个磁盘的空间大小为 20GB,将分区类型的 ID 标记号改为“8e”。磁盘类型的 ID为“8e”表示该分区是 Linux Lv 类型的,支持 LV 机制。若上述分区已被挂载使用,则需要先进行卸载,再进行分区调整操作。
1.物理卷管理(pv)
pvscan | 扫描系统中的物理卷 |
pvs | 列出所有物理卷的摘要信息 |
pvdisplay | 显示物理卷的详细信息 |
pvremove <设备路径> | 删除物理卷 |
2.卷组管理(vg)
vgcreate <卷组名> <物理卷路径> | 创建卷组 |
vgs | 列出所有卷组的摘要信息 |
vgdisplay | 显示卷组的详细信息 |
vgextend <卷组名> <物理卷路径> | 扩展卷组 |
vgreduce <卷组名> <物理卷路径> | 缩小卷组 |
vgremove <卷组名> | 删除卷组 |
3.逻辑卷管理(lv)
lvcreate -L <大小> -n <逻辑卷名> <卷组名> | 创建逻辑卷 |
lvs | 列出所有逻辑卷的摘要信息 |
lvdisplay | 显示逻辑卷的详细信息 |
lvextend -L <新大小> <逻辑卷路径> | 扩展逻辑卷 |
lvreduce -L <新大小> <逻辑卷路径> | 缩小逻辑卷 |
lvremove <逻辑卷路径> | 删除逻辑卷 |