Linux磁盘专题
物理磁盘名次和其作用
盘片:disk
盘片上下都有磁头。
磁盘面:
盘片有上下两面,每一面叫磁盘面
磁头:heads
每个磁头负责一个磁盘面,负责读取数据、将数据写入磁道。
磁头都是固定在机械臂上(机械臂就是磁头臂组支架)
磁道:track
每个磁盘面上围绕圆心划分出多个同心圆环,每个圆圈叫做磁道。
从磁盘面外圈开始向圈内数,磁道号从0逐渐递增1.也就是最外圈的磁道号是0,想内圈开始逐步递增+1
扇区:sectors
扇区上记录物理数据、扇区号、磁头号(磁盘片号,就是第几个磁盘片面)、磁道号.
每个磁道以512字节(并非一定是512,因为可以设置,只不过默认大多数是512字节)等分划分多个弧段,每个段就是一个扇区。(这些弧段划分后就是一个扇形,所以叫扇区)
外圈的磁道大。内圈的磁道小。所以外圈磁道所拥有的扇区数就多,内圈磁道所拥有的扇区数就少。
有些硬盘参数会标注上磁道的范围如:373-768,表示最外圈磁道有768个扇区,最内圈有373个扇区。
柱面:cylinders
磁盘面上的同一个位置的磁道组成的立体叫做一个柱面。
按照磁盘的物理性来讲,现在的分区大多数都是基于柱面的划分。
磁盘或分区容量计算方式
磁盘大小=unit * 柱面数(cylinders)
或者
磁盘大小=磁盘面数(heads) * 每个磁道上的平均扇区数(sectors/track) * 512 * 柱面数 (cylinders)
例子:
[root@test ~]# fdisk -l /dev/sda
Disk /dev/sda: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000990c6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 39163 314059776 8e Linux LVM
所以/dev/sda大小为:
255*63*512*39162=322,118,415,360 === 将byte转换为GB,就是322118415360/1000/1000/1000=322.11841536 GB
8225280*39162=322,118,415,360 === 将byte转换为GB,就是322118415360/1000/1000/1000=322.11841536 GB
MBR:占用512byte
其中446byte作为bootloader
剩余64byte作为DPT(disk partation table磁盘分区表)
每个分区占用16byte,因此64/16=4,MRB只能分4个主分区(primary,P)。
通过建立拓展分区后(extend,E),在拓展分区上再建立逻辑分区(logical,L)几乎可以实现无限制分区。
最后2byte是校验位:55aa
GPT:可以分区128个主分区,且支持2TB以上的独立分区。
其他
磁盘块/簇(虚拟出来的)。 块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。
通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。
https://blog.csdn.net/HandsomeHong/article/details/123101771
这篇文章扇区哪里讲得不完全正确,因为她只说到了旧的扇区划分方式,新的扇区划分都是同密度的,所以外圈扇区比内圈扇区多,每个扇区的密度都是一样,而不是像旧的方式,外圈扇区密度小,内圈扇区密度大。
https://cloud.tencent.com/developer/article/1999925
Linux磁盘专题的更多相关文章
- Linux磁盘IO监控[zz]
磁盘 I/O 监控是 Unix/Linux 系统管理中一个非常重要的组成部分.它可以监控吞吐量.每秒 I/O 数.磁盘利用率.服务时间等信息,并且在发现异常时,发送告警信息给系统管理员,便于系统管理员 ...
- linux磁盘分区模式
linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...
- MySQL 调优基础(四) Linux 磁盘IO
1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...
- <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- 调整Linux磁盘分区的大小的方法
昨天数据入库时,一直报错,说磁盘满了,,df -h 一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...
- Linux 磁盘管理
Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...
- Linux磁盘、目录、文件操作命令
0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...
- Linux磁盘分区与格式化
磁盘分区格式说明 linux分区不同于windows linux下分区标示: 例如:hda1 hd这两个字母表示分区所在的设备类型,hd标示IDE类型硬盘,sd表示SCSI类型硬盘 第三字母a标示硬盘 ...
- Linux磁盘空间被未知资源耗尽【转】
Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...
- df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)
From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...
随机推荐
- 原来你是这样的JAVA[06]-反射
1.JVM为每个加载的class及interface创建了对应的Class实例来保存class及interface的所有信息: 获取一个class对应的Class实例后,就可以获取该class的所有信 ...
- QA|workon env后没有进入虚拟环境,但也没有报错,但cmd可以|Python虚拟环境
问题:pycharm的terminal执行workon env后没有进入虚拟环境,但也没有报错 但cmd可以 原因:因为pycharm的terminal用的是powershell,更改为cmd,重新打 ...
- grinder使用入门
安装配置 自动安装脚本编写 移步我的github下载脚本,只要修改下配置信息,即可完成安装 环境变量设置:
- xlsx和path的运用
从后端获取Excel模板 app.get('/api/download-template', (req, res) => { const templatePath = path.join(__d ...
- Dami 本地过程调用框架(主打解耦),v0.24 发布
Dami,专为本地多模块之间通讯解耦而设计(尤其是未知模块.隔离模块.领域模块).零依赖,特适合 DDD. 特点 结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步响应. 支持事务 ...
- 产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库
这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...
- 一款广受社区好评的 WAF
大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站,但是自建网站很容易被收到攻击,今天给大家介绍一款简单免费好用的 WAF 网站防护工具. WAF 是 Web Application Fi ...
- centos7安装Python3.7,执行./configure时报错,configure: error: no acceptable C compiler found in $PATH
执行./configure时报错,configure: error: no acceptable C compiler found in $PATH 在安装python3.7,配置编译路径时会遇到以下 ...
- PLSQL_developer安装与配置
前言: 记录安装与配置操作 环境: 客户机:windows 服务器:虚拟机中的windows server 2003 /---------------------------------------- ...
- 前端三件套系例之HTML——HTML5基础
1.HTML 1-1 什么是HTML HTML是用来制作网页的标记语言 HTML是Hypertext Markup Language的英文缩写,即超文本标记语言 HTML语言是一种标记语言,不需要编译 ...