Linux磁盘
1、磁盘的接口类型与命名方式
磁盘接口分为SATA、SCSI、SAS、PCI-E、光纤FC通道。常见的设备在Linux中的命名如下:
设备 | 设备在Linux内的文件名 |
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
U盘 | /dev/sd[a-p] |
软驱 |
/dev/fd[0-1] |
打印机 |
25针:/dev/lp[0-2] USB:/dev/usb/lp[0-15] |
当前CD ROM/DVD ROM | /dev/cdrom |
1.1 IDE接口
IDE的接口是40个针39个口,防插反。一个IDE扁平线缆可以连接两个IDE设备,通常主机提供两个IDE接口,所以最多连接4个IDE设备。这两个IDE接口又被称为IDE1(primary)和IDE2(secondary)。每条IDE扁平线缆上的IDE设备被分为Master(主设备)和Slave(从设备)。这四个IDE设备的文件名如下表:
IDE/Jumper | Master | Slave |
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc | /dev/hdd |
1.2SATA接口
SATA口的磁盘又叫串口磁盘。
SATA接口磁盘的命名方式不同于IDE的顺序命名,而是依照Linux内核检测到磁盘的顺序。例如:
一个PC有两个SATA盘和一个USB盘,主板上有6个SATA插槽,将这两个SATA盘分别插在主板上的SATA1和SATA5,那么这三块盘在Linux中的文件名依次是:
SATA1插槽上磁盘的文件名:/dev/sda
SATA2插槽上磁盘的文件名:/dev/sdb
USB盘(需要开机完成后才能被识别):/dev/sdc
2、磁盘的组成
磁盘主要由机械臂、机械轴、盘片、磁头、主轴组成。数据的写入实在盘片上,盘片分为扇区(Sector)和柱面(Cylinder)。
每个扇区的大小为512bytes。在磁盘的最外圈,离主轴最远的磁道为0磁道,磁盘存放数据是从0磁道开始的。其中第一个扇区记录了磁盘的重要信息。磁盘的第一个扇区主要记录了:
- 主引导记录(Main Boot Record):安装引导加载程序的地方。共446bytes。在0磁头0磁道1扇区。
- 分区表(partition table):记录整块磁盘的分区状态。共64bytes。
- 分区结束标识(55AA):其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。
标准MBR结构如下:
地址 | 描述 | 长度(字节) |
0 | 代码区 | 440(最大446) |
440 | 选用磁盘标志 | 4 |
444 | 一般为空值; 0x0000 | 2 |
446 | 标准MBR分区表规划(四个16 byte的主分区表入口) | 64 |
511 | MBR有效标志:0x55AA | 2 |
磁盘分区表
文件系统是以柱面为单位存储数据的。分区的最小单位也是柱面。
扇区和柱面:
- 磁头数等于盘面数,一块磁盘由2-14个盘片
- 同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道
- 不同盘面相同磁道组成一个圆柱体就是柱面
- 不同盘面的磁道被划分成多个扇形区域,每个区域就是一个扇区
- 一个柱面包含多个磁道,一个磁道包含多个扇区
- 数据信息记录可表示为三个条件:某磁头、某磁道(柱面)、某扇区
分区表:
默认的分区表只能写入4组分区信息,即:4个主分区(Primary)或3个主分区(Primary)和一个扩展分区(Extend),扩展分区里面可以分出逻辑分区。
分区的重要性:
1、数据的安全性:在整理数据时,可以将待整理分区的数据移动到其他分区,避免数据丢失。
2、系统性能:由于数据存储的最小单位是柱面,所以当需要读取存储在同一柱面的数据时,只会读取这一柱面,提高了读取速度和性能。
扩展分区和逻辑分区:
扩展分区的目的是使用额外的扇区记录分区信息
扩展分区不能被格式化,只有主分区和逻辑分区可以格式化后作为数据访问的分区。逻辑分区的编号从5开始,逻辑分区的数量限制依据操作系统的不同,在Linux中,IDE硬盘最多有59个逻辑分区(编号5-63),SATA盘最多有11个逻辑分区(编号5-15)。
注意:主分区和逻辑分区是不能整合在一起的。除非将扩展分区全部破坏,但是会影响到其他的逻辑分区。
Linux磁盘的更多相关文章
- 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多年来一直从事计算机网络信息安全研发工作,曾主 ...
- linux 磁盘管理学习笔记
磁盘管理命令:fdisk df du fdisk #查看硬盘分区表 df #查看分区使用情况 du #查看文件占用空间情况lvdisplay #逻辑分区 [1] 李洋.df.du.fdisk:Linu ...
随机推荐
- Python:json 模块
字符串转dict.list data = "[{....},{...},...]" list_data = json.loads(data) dict.list转字符串 list ...
- juypter
juypter 1. jupyter 1.1. 它是什么? Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档. 以前叫ipython no ...
- 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件
原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用she ...
- Update(stage3):第1节 redis组件:7、持久化
7.redis的持久化 由于redis是一个内存数据库,所有的数据都是保存在内存当中的,内存当中的数据极易丢失,所以redis的数据持久化就显得尤为重要,在redis当中,提供了两种数据持久化的方式, ...
- Priority Queue(优先队列)
今天早上起来完成了一个完整的基于二叉堆实现的优先队列,其中包含最小优先和最大优先队列. 上篇说了优先队列的特性,通过建堆和堆排序操作,我们就已经看到了这种数据结构中的数据具有某种优先级别,要么非根节点 ...
- JShell的使用
JShell脚本工具是JDK9的新特性 启动JShell工具,在DOS命令行直接输入JShell命令.(如下例) 这里我们用Hello,World举例: 结果显示是正确的. 这里再举一个例子: 结果可 ...
- 「AHOI2014/JSOI2014」宅男计划
「AHOI2014/JSOI2014」宅男计划 传送门 我们首先要发现一个性质:存货天数随买食物的次数的变化类似于单峰函数. 具体证明不会啊,好像是二分加三分来证明?但是没有找到明确的严格证明. 感性 ...
- 什么是redis事务
一.什么是redis事务? 可以一次性执行多条命令,本质上是一组命令的集合.一个事务中的所有命令都会序列化,然后按顺序地串行化执行,而不会被插入其他命令 二.Redis 事务可以做什么? 一个队列中, ...
- PAT甲级2019冬季考试题解
A Good In C纯模拟题,用string数组读入数据,注意单词数量的判断 #include<bits/stdc++.h> using namespace std; ; ][]; in ...
- Spring源码试读--BeanFactory模拟实现
动机 现在Springboot越来越便捷,如果简单的Spring应用,已无需再配置xml文件,基本可以实现全注解,即使是SpringCloud的那套东西,也都可以通过yaml配置完成.最近一年一直在用 ...