磁盘管理与文件系统

发布时间:2023年12月27日

磁盘管理与文件系统

在linux系统中使用硬盘

  1. 建立分区(linux系统中必须分区)
  2. 安装文件系统(一类系统软件的总称):管理文件大小,权限,日志,恢复还原
  3. 挂载:硬盘和系统内的文件夹做关联,使用该文件夹等于使用硬盘

一、磁盘基础

1、磁盘结构1

(1)磁盘的物理结构

  • 盘片:硬盘有多少盘片,每盘片两面
  • 磁头:每面一个磁头

(2)硬盘 的数据结构

  • 扇区:盘片被分为多少个扇形区域,每个扇区存放512字节的数据,硬盘的最小储存单位512字节
  • 磁道:同一盘片不同半径的同心圆,是有磁头在盘片表面划出的原型轨迹
  • 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

2、磁盘结构2

(1)硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)

(2)可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

(3)磁盘接口类型

  • IDE:并口数据线连接主板与硬盘,抗干扰性太差, 且排线占用间较大, 不利电脑内部散热, 已逐渐被 SATA 所取代
  • SATA:抗干扰性强,支持热插拔等功能, 速度快,纠错能力强。
  • SCSI:小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
  • SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。

二、磁盘分区表示

1、主引导记录(MBR:Mast Boot Record)

MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
MBR总共512字节,前446字节是主引导记录分区表保存在MBR扇区中的第447-510字节中。
分区表有四个分区记录区,每个分区记录区占16个字节
主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑区

2、磁盘分区表示

  • Linux中将硬盘,分区等设备表示为文件(一切皆文件)

(1)示例:

/dev/hda5
/dev/:硬件设备文件所在的目录
/hd :表示IDE设备,sd表示scsi设备
a:硬盘的顺序号,以字母a、b、c....表示
5:分区的顺序号,以数字1、2、3、....表示。主分区从1~4,每一个逻辑分区始终从5开始

(2)全局唯一标识分区表(GUID Partition Table,缩写∶GPT)

  • GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIos中的主引导记录分区表。
  • 传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。
  • 与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
  1. 若磁盘小于2TB,可用fdisk /dev/sdb 进行分区,即MBR 分区格式
  2. 若磁盘大于2TB,可用parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT

3、文件系统类型

  • 文件系统(File System)类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。

(1)XFS文件系统

  • 存放文件和目录数据的分区
  • 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的储存空间
  • CentOS 7系统中默认使用的文件系统

(2)SWAP、交换文件系统

  • 作用于硬盘上,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。
  • 一般建议将交换分区的大小设置为物理内存的1.5 ~2 倍。

(3)Linux支持的其他文件系统类型

  • EXT4:CenTOS 6使用系统
  • FAT32/NTFS:Windows系统使用
  • LVM:逻辑卷

三、管理磁盘及分区

  • 在Linux服务器中,当现有硬盘的分区规划不能满足要求(根分区的剩余空间过少,无法安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要提添加新的硬盘设备来扩展储存空间,在VMware虚拟机环境中,可以修改虚拟机的主机设置,添加一块“Hard Disk”硬盘设备(如添加一块60GB的SCSI硬盘)
  • 分区缺点:
    1. 一旦分区,无法修改大小
    2. 只能使用连续的空间
    3. 没有备份

1、检测并确认新硬盘

  • 挂接好新的硬盘设备并启动主机后,Linux系统会自动检测并加载该硬盘,无需额外安装驱动
fdisk命令
①、查看或管理磁盘分区
格式:fdisk -l【磁盘设备】
fdisk -l:可以查看,确认新增硬盘的设备名称和位置
②、查看常见参数
Device (设备)∶ 分区的设备文件名称
Boot∶ 是否是引导分区。若是,则有"*"标识
Start∶ 该分区在硬盘中的起始位置 (柱面数)
End∶ 该分区在硬盘中的结束位置 (柱面数)
Blocks∶ 分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id∶ 分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷,82表示SWAP分区(虚拟内存)
System∶ 分区类型。

2、规划磁盘中的分区

  • 在磁盘设备 中创建、删除、更改分区等操作同样通过fdisk 命令进行,只要使用硬盘的设备文件作为参数,即可进入到交互式的分区管理界面中
  • 格式:fdisk [磁盘设备]
  • 例:fdisk /dev/sdb
交互模式中的常用指令∶
m∶获取帮助菜单
n∶新建分区
p∶查看分区情况,打印分区表
d∶删除分区
t∶变更分区的类型
w∶保存分区操作并退出
q∶不保存分区操作并退出

3、创建分区步骤

进入交互模式后
步骤1:n新建分区
步骤2:选择创建分区类型:p主分区、e扩展分区、l逻辑分区
步骤3:设置分区1(范围1~4,按Enter接受默认值)
步骤4:设置柱面序列:直接按Enter接受默认值即可
步骤5:设置分区大小:20G(指定大小为20GB,如果按Enter键接受默认值表示所有空间)
步骤6:w保存退出
 
*变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe "命令使操作系统检测新的分区表状况。以防格式化分区时损坏硬盘中已有的数据。
partprobe /dev/sdb:刷新磁盘命令(分区不识别,会有延迟,刷新磁盘)

lsblk:查看分区及磁盘情况情况
fdisk命令创建分区步骤(图文详解)

image-20231227160335347

image-20231227160111425

image-20231227144523364

image-20231227160755676

image-20231227170320655

建立扩展分区与逻辑分区

image-20231227171844285

image-20231227172411882

image-20231227172655526

gdisk命令创建分区步骤(图文详解)

image-20231227165115602

image-20231227164651816

image-20231227164907818

四、管理文件系统

  • 在Linux系统中使用fdisk工具在硬盘中建立分区以后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用于储存文件、目录等数据

1、创建文件系统

  • 创建文件系统的过程也即格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令可格式化XFS、EXT4、FAT等不同类型的分区,而使用mkswap命令可以格式化

swap交换分区

1.1 mkfs命令
  • Make Filesystem,创建文件系统(格式化)
  • 格式:mkfs -t 文件系统类型 分区设备(注:直接输入 mkfs. 基本等同于 mkfs -t)
  • 例:mkfs -t ext4 /dev/sdb1(将分区/dev/sdb1格式化为EXT4文件)

image-20231227162310701

image-20231227174346222

1.2 mkswap命令

make swap,创建交换文件系统

格式:makswap 分区设备

使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82

示例:
fdisk -l/dev/sdb
....                             //省略部分信息
/dev/sdb5    4867    5110   1959898+   82  Linux swap/Solaris
makswap /dev/sdb5        # 将分区/dev/sdb5创建问交换分区
创建交换文件系统(图文详解)

image-20231227193028176

image-20231227192847914

image-20231227193331059

image-20231227193719618

2、挂载、卸载文件系统

  • 在Linux 系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行的,虽然系统核心能够通过"设备文件"的方式操纵各种设备,但是对于用户来说,还需要增加一个"挂载"的过程,才能像正常访问目录一样访问存储设备中的资源。当然,在安装Linux 操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如"/“分区、”/boot"分区等。然而对于后来新增加的硬盘分区、光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其指定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中的文件、目录数据。
2.1 挂载文件系统 mount

①、格式

mount [-t 文件类型] 存储设备 挂载点目录
文件类型:通常可以忽略,由系统自动识别
储存设备:及对应分区的设备文件名(如/dev/sdb1/、/dev/cdrom)或网络资源路径
挂载点目录:用户指定用于挂载的目录

②、示例

  • mount/dev/cdrom/media/cdrom # 将光盘设备挂载到/media/cdrom目录

③、在实际工作中,可能会经常从互联网下载一些软件或应用系统的ISO镜像文件,在无法刻录光盘的情况下,需要将其解压后才能浏览,使用其中的文件数据。若使用mount挂载命令,则无需解开文件包即可浏览,使用ISO镜像数据 。“.iso”经常被视为一种特殊的“回环”文件系统,因此在挂载时需要添加“-o loop”选项。

  • 格式:mount -o loop ISO镜像文件 挂载点目录

④、例:mount -o loop CentOS-7-x86 64-DVD-1708.iso /media # 将下载的CenTOS 系统的DVD光盘镜像文件“CentOS-7-x86 64-DVD-1708.iso”挂载到“/media/”目录下)

-t∶用于指定文件系统类型,通常可以省略,由系统自动识别
-o∶ 挂载参数列表,以英文逗号分隔;或用来描述特殊设备,用loop指定
mount -a  # 重新读取mount 挂载
mount /dev/cdrom /mnt
mount /dev/sdbl /mnt
挂载(图文详解)

image-20231227162620436

image-20231227174733422

2.2 卸载文件系统 umount
  • 需要卸载文件系统时,使用命令umount,使用挂载点目录或对应设备的文件名作为卸载参数。在Linux系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载
  • 卸载前提:挂载的设备或者目录没有被使用中,要先退出挂载目录

①、格式

umount 存储设备或挂载点目录
umount 【-lf】存储设备或者挂载点目录    # 强制卸载
-l:表示解除正在使用的文件系统
-f:表示强制

②、示例

umount /mailbox     // 通过挂载点目录卸载对应的分区
umount /dev/cdrom  //通过设备文件卸载管公安
解除挂载(图文详解)

image-20231227175655333

2.3 查看磁盘使用情况 df

不带选项及参数的 mount 命令可以显示分区的挂载情况,若要继续了解系统中已挂载的各文件系统的磁盘使用情况(如剩余空间磁盘比例等)可以使用 df

①、格式:df【选项】

②、常用选项

-h∶ 显示分区的容量单位
-T∶ 显示文件系统的类型
-i∶ 显示分区的inode号码数量

③、示例

  • df -hT # 查看当前系统中挂载的个文件系统的磁盘使用情况
查看磁盘使用情况(图文详解)

image-20231227174839031

image-20231227174949010image-20231227175059706

2.4 设备文件系统自动挂载
  • mount命令属于临时挂载,设备重启后挂载磁盘失效,因此需要设备文件自动挂载,Linux操作系统在每次开机时,会自动读取/etc/fastb文件的内容,自动挂载所指定的文件系统,避免重复多次挂载
  • 格式
vim /etc/fstab  进行添加修改自动挂载文件
/dev/sdb1  /opt  xfx     defaults  0 0
/dev/sr0   /mnt  iso9660  defaults  0 0  

第1字段∶设备名或设备卷标名。
第2字段∶文件系统的挂载点目录的位置。
第3字段∶ 文件系统类型,如 xfs、swap 等。
第4字段∶ 挂载参数,即mount命令"-o"选项后可使用的参数。例如,defaults(默认参数)、rw (可读写)、ro(只读)、noexec (禁用执行程序)。
第5字段;表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为1时表示需要,设为0时将被dump 忽略。
第6字段∶ 该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设为2。
文件系统自动挂载(图文详解)

image-20231227181755075

image-20231227181617124

image-20231227182200467

image-20231227183018784

image-20231227190756486

image-20231227190456882

文章来源:https://blog.csdn.net/2301_81272194/article/details/135254223
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。