Linux磁盘与文件管理

目录

一、磁盘介绍

1. 磁盘数据结构

2. 磁盘的接口类型

3. 磁盘在Linux上的表现形式

二、磁盘分区与MBR

1. 分区优缺点

2. 分区方式

3. MBR分区

4. GPT分区

三、文件系统

1. 文件系统的组成

2. 默认的文件系统 

3. 文件系统的作用

4. 模拟破坏文件与修复文件 

4.1 新建分区,选择ext4文件类型格式化安装,并挂载

4.2 破坏数据

4.3 尝试修复

四、分区工具与交互式命令

1. 工具

2. fdisk交换命令

3. 分区步骤

五、磁盘分区

1. 管理主分区

1.1 选择硬盘,默认点击下一步,完成

1.2 刷新磁盘接口,查看分区情况  

1.3 创建分区,fdisk /dev/sdb

1.4 分区后可能有延迟(内存到硬盘),手动刷新 

1.5 格式化,安装文件系统 

1.6 挂载验证

1.7 解挂载  

1.8 开机自动挂载(永久挂载)

2. 管理扩展分区和逻辑分区 

2.1 创建分区,fdisk /dev/sdb

2.2 格式化,安装xfs文件系统,挂载 

3. 删除分区 

 六、SWAP交换分区

1. 添加磁盘

2. 格式化swap分区,开启swap设备

3. 关闭swap分区 


一、磁盘介绍

1. 磁盘数据结构

① 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

② 扇区:是硬盘最小的存储单位,512字节,8个扇区组成1块

③ 磁道:同一盘片不同半径的同心圆

2. 磁盘的接口类型

ATA,全称 Advanced Technology Attachment,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代

SATA,全称 SerialATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强

SCSI,全称是 Small Computer System Interface (小型机系统接口),SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时 CPU 占用率较低,转速快,支持热插拔等

SAS(Serial Attached SCSI) 是新一代的 SCSI 技术,和SATA 硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s

M.2:M.2接口是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来的mSATA接口。无论是更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA

3. 磁盘在Linux上的表现形式

/dev/sda

sda:代表第一块硬盘

s:代表接口(stas,sas),接口类型决定了数据传输的速率

d:disk盘

a:第一块盘

二、磁盘分区与MBR

1. 分区优缺点

优点:

  • 优化I/O性能,读写:input,onput
  • 实现磁盘空间配额限制
  • 提高修复速度
  • 隔离系统和程序
  • 安装多个OS
  • 采用不同文件系统

缺点:

  • 一旦分区无法修改大小
  • 只能使用连续的空间
  • 没有备份冗余的功能 

2. 分区方式

MBR:只能对2T以下的盘进行分区

GPT:可以对2T以上的盘进行分区

3. MBR分区

常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区;扩展不是用的,是用来存储逻辑分区的分区表。主分区一般用来装系统、文件等可以直接访问。主分区编号不超过4,逻辑分区编号从5开始。

MBR分区需要依靠第一个扇区(一个扇区512字节)

  • 第一个扇区mbr(446字节的小程序):主引导记录,引导硬件找到操作系统,是gub程序的一部分
  • 分区表:记录分区的开始和结束的位置,一个分区要占16字节,4*16=64,所以mbr只能分4个主分区
  • 标记位:55 aa,代表结束位

总的来说,硬盘分区有 3 种,分别是主分区、扩展分区和逻辑分区。对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。主分区可以直接存储数据,扩展分区不可以直接存储数据,还需要再分区。

4. GPT分区

GPT(GUID Partition Table)是一种磁盘分区表的标准,用于定义磁盘上的分区布局和相关信息。它是传统的MBR(Master Boot Record)分区方案的一种替代方案,具有一些优势,特别是在处理大容量硬盘和支持UEFI(Unified Extensible Firmware Interface)固件的系统时。GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block),理论上无需分区操作。

三、文件系统

1. 文件系统的组成

  • 内核中的模块:ext4, xfs, vfat
  • Linux的虚拟文件系统:VFS
  • 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

只有二进制的文件系统称为裸文件系统 

2. 默认的文件系统 

centos7:xfs

centos6:ext4

3. 文件系统的作用

它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。

[root@localhost ~]# cat /proc/filesystems
#查看当前系统支持的文件类型

4. 模拟破坏文件与修复文件 

4.1 新建分区,选择ext4文件类型格式化安装,并挂载

(新建分区步骤参考下文)

4.2 破坏数据

4.3 尝试修复

 

四、分区工具与交互式命令

1. 工具

fdisk:建议2t以下使用,需要保存生效

gdisk:建议2t以上使用,需要保存生效

parted:即时生效

2. fdisk交换命令

fdisk  -l   设备    #只看这个设备
fdisk  -l           #看所有设备

运行分区命令后交互命令:

n:新建分区

d:删除分区

t:改变分区类型

p:打印分区表

w:保存并退出

q:退出不保存

3. 分区步骤

① 分区,分出sdb1(主分区)

② 格式化,装文件系统

mkfs -t xfs 设备名

mkfs.xfs 设备名

③ 挂载

④ 验证:df查看磁盘剩余空间,df -T显示文件系统类型

五、磁盘分区

1. 管理主分区

1.1 选择硬盘,默认点击下一步,完成

1.2 刷新磁盘接口,查看分区情况  

注:刷新命令如下,当然重启机器也是可以的,不过生产环境不建议重启

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

1.3 创建分区,fdisk /dev/sdb

1.4 分区后可能有延迟(内存到硬盘),手动刷新 

1.5 格式化,安装文件系统 

1.6 挂载验证

1.7 解挂载  

1.8 开机自动挂载(永久挂载)

  •  查看uuid号,设备唯一标识符

  • 修改配置文件/etc/fstab,输入mount  -a 重新挂载设备检查配置文件是否有问题;查看磁盘剩余空间

2. 管理扩展分区和逻辑分区 

2.1 创建分区,fdisk /dev/sdb

2.2 格式化,安装xfs文件系统,挂载 

3. 删除分区 

 六、SWAP交换分区

1. 添加磁盘

2. 格式化swap分区,开启swap设备

3. 关闭swap分区 

相关推荐

  1. Linux磁盘文件系统管理

    2023-12-28 14:14:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 14:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 14:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 14:14:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 14:14:02       20 阅读

热门阅读

  1. 674. 最长连续递增序列

    2023-12-28 14:14:02       40 阅读
  2. ElasticSearch 数据备份参考

    2023-12-28 14:14:02       39 阅读
  3. C# 时间获取

    2023-12-28 14:14:02       30 阅读
  4. ubuntu 使用openssl制作一个自签名证书

    2023-12-28 14:14:02       40 阅读
  5. k8s基础

    k8s基础

    2023-12-28 14:14:02      34 阅读
  6. Serverless和Spring cloud结合让后端开发更专注于业务

    2023-12-28 14:14:02       41 阅读
  7. Python 变量

    2023-12-28 14:14:02       28 阅读
  8. 北海 - Rust与面向对象(四)

    2023-12-28 14:14:02       32 阅读