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 抛出异常
class ShortInputException(Exception): '''你定义的异常类.''' def __init__(self, length, atleast): Exception. ...
- SpringBoot RESTful API 架构风格实践
如果你要问 Spring Boot 做什么最厉害,我想答案就在本章标题 RESTful API 简称 REST API . 本项目源码下载 1 RESTful API 概述 1.1 什么是 RESTf ...
- DDL与DML的区别
DML(Data Manipulation Language)数据操纵语言: 适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等. DDL(Data ...
- Java中几种office文档转pdf的方式
最近公司要做office的文档,搜集了几种office文档转pdf的方式,简单的做下总结 我主要尝试了三种方式:openoffice,aspose,jacob 对他们进行了大文件,小文件,在linux ...
- Android 短信模块分析(七) MMS数据库定义及结构整理
一. mmssms.db 数据库mmssms.db中表的定义见表4.1至4.18所示: 表4.1 addr(彩信地址) 字段名 类型 描述 备注 _id INTEGER PRIMARY_KEY 主键I ...
- vue 组件,以及组件的复用
有时候代码的某一模块可能会经常使用到,那么完全可以把这一模块抽取出来,封装为一个组件,哪里需要用到的时候只需把模块调用即可 .参考vue官方 https://cn.vuejs.org/v2/guide ...
- JAVA 常用包
JAVA是以包的形式进行语言结构组织的. 引入这些包的关键词就是 import 下面说说 JAVA常用包有下面的几个 1. java.lang 这个是默认引入的,也是一个最基础的包.其中lang不是中 ...
- 【JavaWeb】导入Excel并进行校验
一.需要实现的目标 1.界面编写 2.导入表读取表名,进行校验,后台匹配(判断此表的名称是否能够模糊匹配上) 3.确定表存在,读取其中的数据,暂存 4.正则表达式数据校验(判断是否已存在,数据是否符合 ...
- 使用Shiro实现认证和授权(基于SpringBoot)
Apache Shiro是一个功能强大且易于使用的Java安全框架,它为开发人员提供了一种直观,全面的身份验证,授权,加密和会话管理解决方案.下面是在SpringBoot中使用Shiro进行认证和授权 ...
- python 之并发编程更新版进程池与进程池比较与回调函数
一.更新版进程池与进程池比较 from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor import os, tim ...