Linux 系统的磁盘设备_【all】
磁盘 ->RAID ->分区 ->格式化 ->挂载
基本的框架
a.硬盘的外部以及内部硬件结构,工作原理和读写原理
b.RAID的划分(一块盘划分为一块或者多块的小虚拟磁盘,可以冗余,可以)
c.磁盘名词知识以及分区的知识体系
d.格式化,创建文件系统,初始化inode和block; 了解文件系统名词知识以及体系
e.挂在到Linux文件系统中使用; 掌握系统命令操作知识
磁盘内部结构
正面:产地,大小,生成日期,条形码,品牌等
反面:绿色电路板,芯片,电容,电阻,气孔
buffer 写入缓冲器 cache读取缓存区
侧面:数据转换器,电源线,接口(SATA,SAS,ide,scsi)
内部结构:盘片(2-14,每个面都可以存放数据),磁头,盘片主轴,控制电机,磁头控制器等
所有的盘片都固定在一个旋转轴上,即盘片主轴,
所有的盘片直接都是平行的,每隔盘片的每个存储面都有一个磁头,磁头有盘片之间的距离很小
磁盘的主轴的转数是衡量磁盘读写性能重要参考之一;
磁盘的接口决定读取性能
SATA 串口磁盘,结构简单,可靠,性能高
SAS 结合SATA和SCSI优点而生
SSD固态盘:solid state driver
分类:
基于闪存(FLASH芯片)的SSD:可以移动,数据保护不受电源控制,适用各种环境 -->平时所用的U盘等
基于DRAM的SSD:采用DRAM作为存储介质,高性能,需要电源支持
优点:
启动快,碎片不影响读取时间,写入快,无噪音,发热低,无故障,抗振动
缺点;
成本高,容量小,寿命有限,数据难恢复
磁盘工作的过程:
自己理解:
磁盘工作的时候,磁盘会高速运动,当达到一定速度的时候,气流很强,足够将磁头托起并保持微小的距离(距离越小,磁头读取数据的灵活性越高),磁头会慢慢地由启停区向外移动,磁头读取最外面的0磁道的数据(由0磁道检测器进行引导)
磁头沿着直径做径向运动,盘片旋转,转一圈读取一圈的数据。·不工作的时候回到启停区。
规范版本:
1.磁盘的读写是按照柱面为单位进行的;从0盘面开始,读取完数据后,读取1盘面相同半径的数据,以此类推,读取半径相同的磁盘的数据到结束后读取另一个半径的数据
2.不同磁头之间的切换是电子切换,不同半径直接的切换是机械的(依靠电机移动磁头手臂)
磁盘存取数据的原理:电脉冲信号转换为电脑可识别的信息
1.利用特定的磁粒子的极性来记录数据。
2.磁头在读取数据时,将磁里自带不同极性转换成不同的电脉冲信号,再利用数据转换器将原有的初始信号变成电脑可用的数据。
写与此相反
磁盘读写数据的时候,应尽可能的让磁头不动,这样才能尽可能多的读取更多的数据
磁盘的相关知识
1.基础知识
系统启动时候的引导程序是在 0柱面0磁道的1扇区的512字节 (第一个盘片的最外的的0号数据区)
给磁盘分区实际上就是划分柱面号和扇区号
柱面数=一个盘的磁道数
Disk 磁盘 Head 磁头 Sector 扇区 Track 磁道 Cylinder 柱面 Units 单元块(一个柱面大小)
2.磁盘的盘面
1快磁盘 = 数个有效盘片(7个完整磁盘) 每隔盘片的有效盘面(2面)对应一个读写的磁头,从上往下由0开始编号,不同的磁盘盘面在逻辑上被划分为磁道,柱面以及扇区(出厂设定好)
一个磁头对应一个有效盘面(磁头数=2*盘片)
磁盘停止的时候,磁头放在磁头启停区,启停区以外都是数据区
磁盘工作的时候,磁盘会高速运动,当达到一定速度的时候,气流很强,足够将磁头托起并保持微小的距离(距离越小,磁头读取数据的灵活性越高),磁头会慢慢地由启停区向外移动,磁头读取最外面的0磁道的数据(由0磁道检测器进行引导)
磁头沿着直径做径向运动,盘片旋转,转一圈读取一圈的数据。·不工作的时候回到启停区。
3.磁盘的磁道
磁盘(盘面)格式化的时候,被划分成许多的同心圆,这些同心圆的轨迹叫做磁道
磁道的编号,由外向内进行编号,磁头读数据的时候由0磁道开始
4.磁盘的柱面
所有的盘面上同一个磁道的同心圆轨迹由上到下依次会形成一个圆柱体,叫做柱面
每个柱面上的磁头由上而下从“0”开始编号
有多少个磁道对应多少个柱面
5.磁盘的扇区
操作系统是以扇区为单位将信息存储在磁盘上的,一般情况下一个扇区的大小事512字节
定义:由圆心向周围划分直线,把磁道划分为多个扇型区域,这个区域叫做扇区
一个扇区主要有2部分内容组成:标示符,数据段
存储数据地点的标示符:扇区所在的磁头(盘面),磁道(柱面号),扇区在磁道的位置(扇区号)
存储数据的数据段:
多个扇区 == 一个磁道
每个扇区的大小都是512字节
每磁道的扇区数都是一样的 ,扇区从1开始编号
6.磁盘的总结
1.一个磁盘有2-14个盘片,每个盘片有2个有效的面,每个面对应一个读写磁头,用磁头号来区分盘面
即盘面数就是读写磁头数,盘片数*2=磁头数(盘面数)
2.盘面格式化的时候,以盘片中心为圆心,会划分多个同心圆,这些个同心圆就是我们说的磁道
磁道由外而内的进行编号0-n
3.不同磁道划分了多个扇形区域,每个扇形区域叫一个扇面
扇面由标示符 + 数据段组成 每个512字节
4.不同的盘面相同半径的磁道组成一个圆柱面叫做柱面
一个柱面包含多个磁道(半径同),一个磁道包含多个扇面
5.数据信息记录可表示为:
某磁头(盘面) 某磁道(柱面) 某扇区
6.系统的引导磁盘是0柱面0磁道的第1扇区
磁盘容量的计算
fdisk -l --> 查看磁盘分区
Disk /dev/mapper/VolGroup-lv_root: 16.8 GB, 16752050176 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes -->一个柱面的大小
方法1:
磁盘容量=512B * 扇区数 * 磁道数(每盘面) * 磁头数
=512 * 2636 * 63 * 255
echo $((255*63*2036*512)) -->只能计算整数
==>echo "255*2636*63*255"|bc -->可以计算小数
方法2:
磁盘容量=柱面数(磁道数) * 柱面大小(磁道大小 * 磁头数)
=512B*扇区数*磁道数*磁头数
=Units * 2610
echo $((8225280*2036))
机械磁盘读取数据工作原理
1.磁盘的读写是按照柱面为单位进行的;从0盘面开始,读取完数据后,读取1盘面相同半径的数据,以此类推,读取半径相同的磁盘的数据到结束后读取另一个半径的数据
2.不同磁头之间的切换是电子切换,不同半径直接的切换是机械的(依靠电机移动磁头手臂)
磁盘命令的总结
1.提示
1.Linux系统的特性是将系统不用的物理内存缓存起来
2.buffers 为写入缓冲区 sync将缓冲区数据写入磁盘
3.cache 为读取数据的缓冲区
4.机械硬盘的读取和写入都用到了缓存技术
2.命令
free :
-m: 显示经过计算的内存大小 如下所示,剩余内存为347M
[root@omc ~]# free -m
total used free shared buffers cached
Mem: 482 247 235 0 26 85
/+ buffers/cache: 135 347
其他
问题: 不同磁道的扇区大小看起来不一样,直观感觉越靠外面,磁道扇面越大
答案: 1.数据的存储密度在不同的磁道内不一样
2.磁道间隙密度不同,外面小,里面打
Linux 系统的磁盘设备_【all】的更多相关文章
- Linux 系统的磁盘分区_【all】
磁盘的存储逻辑结构 1.主引导扇区(446+64+2) MBR(主引导记录)0磁头0磁道的第一扇区 446字节 -->存放系统的引导程序,同Windows 剩下的64字节,分区表(每个分区16字 ...
- Linux系统SCSI磁盘扫描机制解析及命令实例(转)
转载请在文首保留原文出处:EMC中文支持论坛 介绍 Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命 ...
- Linux系统SCSI磁盘扫描机制解析及命令实例
介绍Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命令是什么?本文总结了Linux主机对磁盘设备进行 ...
- linux系统查看磁盘分区使用空间
Df命令是linux系统以磁盘分区使用空间:df -hl
- Linux系统的磁盘管理
Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...
- 阿里云(百度云)Linux系统挂载磁盘
阿里云(百度云)Linux系统挂载磁盘
- 查看Linux系统的USB设备
查看Linux系统的USB设备 lsusb (centos没有该命令) dmesg (内核日志会输出) 执行dmesg
- linux系统挂载磁盘
linux系统挂载磁盘 ## 将硬盘挂载到/mnt/disk1下 # 检查磁盘状态,确认分区 fdisk -l # 格式化磁盘(分区) mkfs.ext4 /dev/sda #根据机器上的命名 以sd ...
- Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)
当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...
随机推荐
- redis-redisTemplate模糊匹配删除
前几天需要一个模糊删除redis中key的功能, 没有多想, 直接 String key = "noteUserListenedPoi:*"; redisTemplate.del ...
- 初识Docker和安装
什么是Docker Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging).分发(Distribution).部 ...
- php的isset()和empty()区别
转载:http://www.cnblogs.com/ndxsdhy/archive/2011/04/02/2003193.html 1.isset()函数 一般用来检测变量是否设置 (是否已经赋值) ...
- Mahout实战---编写自己的相似度计算方法
Mahout本身提供了很多的相似度计算方法,如PCC,COS等.但是当需要验证自己想出来的相似度计算公式是否是好的,这时候需要自己实现相似度类.研究了Mahout-core-0.9.jar的源码后,自 ...
- Mycat常见错误
Mycat常见错误 1. 问题: schema myinvoice didn't config tables,so you must set dataNode property! 解决:在schem ...
- 修改MVC默认的pageBaseType以添加功能
试想下在MVC的前端页面JS或者html中需要使用多语言,而后端的多语言是维护在资源文件中的,前端如果使用的话需要使用AJAX频繁的获取,一个页面中可能会存在大量的需要语言转换的地方,频繁使用AJAX ...
- Java序列化机制和原理
Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一 ...
- iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式
在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默 ...
- asp查找</td>标记时遇到以外的文件结尾
正确的<td></td> 错误的<td> 没有写完整
- 【JavaScript 从零开始】 数字 文本 包装对象
JavaScript中的算术运算 JavaScript 还自称更加复杂的算术运算,这些复杂的运算通过作为Math对象的属性定义的函数和常量来实现: Math.pow(2,53) //=>9007 ...