Linux磁盘管理与文件系统(五)

知识结构:

  • 磁盘基础

  • 检测并确认新磁盘

  • 规划硬盘中的分区

  • 创建文件系统

  • 挂载,卸载文件系统



(一)磁盘基础


磁盘:磁盘(disk)是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(soft disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘)。

机械硬盘:

微信截图_20190819004545.png

硬盘的物理结构

  • 盘片:硬盘有多个盘片,每盘片2面

  • 磁头:每面一个磁头

微信截图_20190819004545.png

硬盘的数据结构

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据

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

  • 柱面:不通盘片相同半径构成的圆柱面

微信截图_20190819004545.png

微信截图_20190819005102.png

磁盘容量计算:

  • 存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

  • 图中磁盘是一个 3个圆盘6个磁头,7个柱面(每个盘片7个磁道) 的磁盘,图3中每条磁道有12个扇区,所以此磁盘的容量为:

存储容量 6 * 7 * 12 * 512 = 258048

  • 每个磁道的扇区数一样是说的老的硬盘,外圈的密度小,内圈的密度大,每圈可存储的数据量是一样的。新的硬盘数据的密度都一致,这样磁道的周长越长,扇区就越多,存储的数据量就越大。

磁盘读取响应时间:

  • 寻道时间:磁头从开始移动到数据所在磁道所需要的时间,寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms,一般都在10ms左右。

  • 旋转延迟:盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间,旋转延迟取决于磁盘转速。普通硬盘一般都是7200rpm,慢的5400rpm。

  • 数据传输时间:完成传输所请求的数据所需要的时间。

小结一下:从上面的指标来看、其实最重要的、或者说、我们最关心的应该只有两个:寻道时间;旋转延迟。

读写一次磁盘信息所需的时间可分解为:寻道时间、延迟时间、传输时间。为提高磁盘传输效率,软件应着重考虑减少寻道时间和延迟时间。

块/簇:

概述

磁盘块/簇(虚拟出来的)。 块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。

通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。

为什么存在磁盘块?

读取方便:由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。

page

操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。

扇区、块/簇、page的关系

  • 扇区: 硬盘的最小读写单元

  • 块/簇: 是操作系统针对硬盘读写的最小单元

  • page: 是内存与操作系统之间操作的最小单元。

扇区 <= 块/簇 <= page

微信截图_20190819004545.png

磁盘的接口类型:

IDE(并口)

SATA(串口)

SCSI

MBR与磁盘分区表示

主引导记录(MBR:Master Boot Record)

  • MBR位于硬盘第一个物理扇区处

  • MBR中包含硬盘的主引导程序和硬盘分区表

  • 分区表有4个主分区,每个分区记录占16个字节

微信截图_20190819004545.png

  • 硬盘中的主分区数目只有4个

  • 因此主分区和扩展分区的序号也就限制在1~4

  • 扩展分区在分为逻辑分区

  • 逻辑分区的序号将始终从5开始

Linux中将硬盘,分区等设备均表示为文件

微信截图_20190819005102.png

文件系统类型

XFS文件系统

  • 存放文件和目录数据的分区

  • 高性能的日志型文件系统

  • Centos7系统中默认使用的文件系统

SWAP,交换文件系统

  • 为Linux系统建立交换分区

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

  • FAT16,FAT32,NTFS

  • EXT4,JFS



(二)检测并确认新硬盘

fdisk:查看或管理磁盘分区

fdisk -l [磁盘设备]
或
fdisk [磁盘设备]

微信截图_20190819005102.png

  • Device:分区的设备文件名称。 

  • Boot:是否是引导分区。若是,则有“*”标识。

  • Start:该分区在硬盘中的起始位置(柱面数)。

  • End:该分区在硬盘中的结束位置(柱面数)。

  • Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。

  • Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM 逻 辑卷。

  • System:分区类型。

(三)规划硬盘中的分区

交互模式中的常用的命令

微信截图_20190819004545.png

m  帮助信息

微信截图_20190819005102.png

p  显示分区列表

微信截图_20190819024120.png

n  创建分区

微信截图_20190819024444.png

d  删除分区

微信截图_20190819025123.png

t  转换分区类型 id转换

微信截图_20190819024934.png

w  保存修改

q  退出

(四)创建文件系统

创建文件系统(格式化)-mkfs

mkfs -t 文件系统类型 分区设备
或
mkfs.xfs 分区设备

微信截图_20190819031037.png

微信截图_20190819031054.png

创建交换文件系统(格式化)-mkswap

mkswap 分区设备
swapon 分区设备
swapoff 分区设备
/proc/meminfo | grep SwapTotal 查看交换分区大小

微信截图_20190819031902.png

(五)挂载,卸载文件系统-mount umount

挂载文件系统,IOS镜像到指定文件夹

mount [-t 类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录

微信截图_20190819033636.png

卸载文件系统

umount 设备文件或者挂载点


微信截图_20190819033849.png

设置文件系统自动挂载

/etc/fstab配置文件

包含需要开机后自动挂载的文件系统记录

vim /etc/fstab

微信截图_20190819034332.png

/dev/sdb2:设备名称 

/opt/mnt1:挂载点 

xfs:文件系统类型 

defaults:功能权限  

0不开启容灾备份 0不开启启动检查序列         中间用空格键或者tab键区分


刷新挂载

mount -a 刷新挂载(自动挂载配置文件)

查看磁盘使用情况

df [-hT]

“-h” 选项可以显示更易读的容量单位

“-T”选项用于显示对应文件系统的类型

微信截图_20190819035136.png


后语:

磁盘管理和文件系统在Linux中是至关重要的,也是入门Linux的一个基础!!!

通过此文希望能对您有些许帮助

谢谢阅读!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章