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 ...
随机推荐
- Uncaught SyntaxError: Unexpected identifier 报错 import Vue from 'vue';
一般情况是因为Webpack与webpack-dev-server版本不兼容导致. package.json { "name": "vue-loader-demo&quo ...
- Cisco AP-Regulatory Domain
这一note主要解释Regulatory Domain是什么.以较新的思科AP的型号举例,思科AP的PID一般都是按照如下的命名: AIR-AP3802I-H-K9C 按照自己的理解: AIR:其中的 ...
- ConcurrentHashMap 实现缓存类
参考:https://blog.csdn.net/woshilijiuyi/article/details/81335497 在规定时间内,使用 hashMap 实现一个缓存工具类,需要考虑一下几点 ...
- jquery 分页 Ajax异步
//使用Ajax异步查询数据 <div class="table-responsive"> <table class="table table-bord ...
- Jquery 事件 文本框常用
1.只许输入类型 //只能输入整数和小数 function txtKeyUpDecimal(txtName) { getID(txtName).keyup(function(){ //keyup事件处 ...
- PCB设计要点
pcb要点 : 2014年8月5日 13:04 一地线设计 1.1分类模拟地.数字地.外壳地.系统大地 1.2接地方式:单点接地(f<1MHZ,避免环流),多点接地(f>10MHZ降低地线 ...
- iOS 开发之 生产者与消费者模式及其实现
概念: 在工作中,大家可能会碰到这样一种情况:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产者:而处理数据的 ...
- Python笔记3
类格式示例: class Student(): name = '' age = 0 def print_file(self): print('name:' + self.name) print('ag ...
- 使用YUM安装软件时提示PackageKit睡眠中解决方法!
报错如图所示: 解决方法一:移除var/run/yum.pid文件 方法二:直接杀掉进程号 报错的时候会跟进程号 直接利用kill -9 +进程号
- MySQL报Too many connections
错误信息 Exception in thread "main" java.sql.SQLNonTransientConnectionException: Data source r ...