Linux磁盘设备基础

free -m 查看系统内存
[root@zhang /]# free -m
total used free shared buffers cached
Mem: 1004 226 777 0 29 150
-/+ buffers/cache: 46 957
Swap: 199 0 199
linux系统的特性是将系统不用的物理内存缓存起来,所以777不是系统真正的缓存,957才是
buffers是写入缓冲区,sync命令是将buffers缓冲区数据写入磁盘
cache为读出缓存,磁盘里的数据读出来存到cache里
磁盘的内部结构主要是包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、磁盘接口、缓存等几个部分。
磁头组件:由读写磁头、传动手臂、传动轴三部分组成。
磁盘读取数据的工作原理是利用特定的磁粒子的极性来记录数据。
磁盘片:盘片是磁盘存储数据的真正载体
磁盘接口是磁盘与主机系统之间的连接部件。
磁盘类型:
IDE是早期的家用,被淘汰了
SCSI 早期的服务器领域 好用但是昂贵
SATA流行的家用领域 --SATA口磁盘又叫做串口磁盘 支持热插拔
SAS 流行的服务器领域 --结合了SATA和SCSI的优点而诞生的
FC—光纤通道 高端服务器
硬盘选择的小结:
1.主轴转数
2.磁盘接口和类型
固态磁盘普遍使用SATA接口
固态磁盘的优点:
启动快 读取延时小 碎片不影响读取 写入速度快 无噪音 防震
缺点:贵,容量小,读写寿命短,数据恢复难
1)企业级SAS应用
企业里最常见的工业级SAS硬盘是15000转/分 ---用于提供生产线上的普通对外提供服务的对外服务器。例如:生产线上的数据库业务,存储业务,图片业务。SAS是生产环境的首选
2)企业级SATA硬盘
SATA硬盘7200-10000转/分,常见容量为1T和2T。使用量大,要求不高使用SATA
3)SSD固态电子盘
一般用于数据量小并且有超大规模高并发业--可以通过磁盘加内存缓存的技术方式解决这个大规模并发问题
磁盘使用小结:
1.线上的业务,使用SAS
2.线下的业务,使用SATA
3.线上高并发、小容量的业务,使用SSD磁盘
4.根据数据的访问热度,智能分析分层从存储。智能分析的案例 淘宝(sata500G+ssd80G)
特别注意:
千万不要用SATA磁盘来做在线高并发服务的数据存储或数据库业务。
操作系统是以扇区为单位将信息存储在磁盘上的。每个扇区为512个字节
小结:
1.扇区大小是512字节
2.扇区主要分为两部分:标识符头标和数据段
3.标识符(头标):三维地址(哪个柱面(磁道),磁头号,哪个扇区),标识扇区是否可靠。
4.数据段: 数据和保护数据的纠错码(ECC)
磁道柱面扇区总括
1.一块磁盘有1个或多个盘片,一个盘片有两个磁头,磁头数=盘面数。 柱面数=磁道数
2.同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道
fdisk -l
磁盘大小=磁道数(=柱面数cylinders)*磁头数(head)*512字节*扇区数(sectors/track)
磁盘大小=柱面数*柱面大小(Unit)
磁盘读写原理小结:
1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完整个磁道之后,如果数据没有读完,磁头也不会切换到同一盘面的其他磁道,而是切换磁头
2)不同磁头间的切换是电子切换
磁盘基础知识回顾:
1)磁盘的作用:存储数据,物理设备。
3.5寸磁盘为例:
2)外部结构:
正面板:固定面板:产地,容量,日期,转数,品牌,条形码,跳线,电压,透气孔,内六角螺丝。
反面板:绿色控制电路板,上面有芯片,电容,电阻,缓存作用(free -m)等
Buffer写入缓冲区,cache读取缓存区
侧面:电源接口,跳线,数据接口(ide sata sas scsi)
3)内部结构:
磁盘片:2-14片 ,每个面都可以放数据
主轴:里面有轴承,马达
磁头组件:磁头,机械手臂,传动轴
前置控制电路,数据转换器,永久磁铁,步进电机(控制磁头径向移动)
核心组件:磁头及盘片
4)磁盘存取原理:
磁盘读数据时:将磁盘上的磁离子极性转换成电脉冲信号,然后通过数据转换器转换成电脑可以识别的数据。
5)磁盘读写数据的原理
磁盘读写数据时,按照柱面来读写数据的。可能会先读一个盘面的某一个磁道的数据,读完之后,在向下读取相同磁道,不同盘面的数据,知道所有盘面相同磁道的数据被读取完毕,切换到下一个柱面。这个切换过程叫做寻道,寻道要靠步进电机控制,让磁头做移动了,这是机械运动,因此很慢,写同理。
6)磁盘相关名词:
Disk 磁盘
Head 磁头
Sector 扇区
Track 磁道
Cylinder 柱面
Units 单元块(一个柱面的大小)
Block 磁盘块
inode 索引节点
主引导记录MBR的所在地:
0磁头0磁道1扇区(512字节)
前446字节代表主引导记录,后64字节代表磁盘分区表(每个分区占16字节,这就是为什么linux系统主分区+扩展分区只能有四个的原因),最后2字节为分区结束标识
磁盘分区表的16字节都代表什么
1 bytes 分区状态 1bytes 起始磁头号 2bytes 分区起始扇区和柱面号 1bytes 分区类型
1 bytes 结束磁头号 2bytes 分区结束扇区和柱面号 4bytes 线性寻址 4bytes 分区大小
磁盘分区:
fdisk 适合小于2T的磁盘分区 --fdisk /dev/sdb
分区结束后 partprode /dev/sdb 告诉系统内核修改了分区
parted适合大于2T的磁盘分区,也可以对小于2T的磁盘进行分区
parted /dev/sdb mklabel gpt parted /dev/sdb mkpart 0 2048000
磁盘分区知识:
分区实质:修改分区表,划分起始柱面号和扇区号
一块磁盘分区:最多4p,3p+e,2p+e,1p+e,1p,2p,3p p主分区 e扩展分区 l逻辑分区
最多有一个扩展分区,操作系统的限制,扩展分区不能直接用,必须划分逻辑分区
fdisk 分区的原理,就是修改64位字节分区表。不能对大于2T的磁盘分区
parted GNU分区工具,可以适合各种分区情况,当然也支持大于2T分区
生产分区的建议:
常规分区:web集群节点
/boot 100-200M
swap 内存1.5(内存大于8G,就只分8-16G)
/ 80-200G
/data 数据分区
门户网站:灵活分区
/boot 100-200M
swap 内存1.5(内存大于8G,就只分8-16G)
/ 80-200G
剩余分区不分,留着,将来领用的部分自己再分
文件系统小结:
1.文件系统:文件系统是对一个存储设备上的数据和源数据进行组织的一种机制,常见文件系统如ext2,ext3,ext4,NTFS或FAT,FAT32
2.分区必须格式化创建文件系统才能存放数据(所以必须格式化),不同分区只能有一种文件系统
3.
Linux下常见的文件系统ext2,ext3,ext4,zfs,xfs和Reiserfs
文件系统的选型
1)SAS/SATA硬盘文件系统选择
a.reiserfs 大量小文件业务首选 reiserfs
b.xfs 数据库MYSQL业务,门户案例
c.ext4 视频下载,流媒体,
Centos默认的文件系统,都是很优秀的
文件系统介绍:
磁盘分区之后,必须格式化,划分文件系统,才能进行数据的存放
文件系统类型:ext2(没有日志功能),ext3(有日志功能可以通过日志文件恢复丢失的文件),
ext4(Centos 6 默认的文件系统),xfs(Centos 7 默认的文件系统),reiserfs(大量小文件的首选)
选择文件系统的关键:维护成本,性能,可靠,综合权衡
选择文件系统的好与坏不是很重要,重要的在于你的前端有多少缓存,能帮磁盘挡住数据
前端缓存:CDN--->内部web cache-->数据库和存储cache--->最后到磁盘(数据库和存储)
Linux磁盘设备基础的更多相关文章
- 12、Linux磁盘设备基础知识(2)
12.4.计算磁盘容量: 磁盘的大小=盘面大小*磁头数 盘面的大小=磁道大小*磁道数 磁道大小=512字节*扇区数 磁盘的大小=512字节*扇区数*磁道数*磁头数 磁盘的大小=柱面大小*柱面数 柱面大 ...
- 12、Linux磁盘设备基础知识(1)
GB TB PB EP ZB YB BB:
- 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标示硬盘 ...
随机推荐
- 洛谷 P5269 欧稳欧再次学车 题解
P5269 欧稳欧再次学车 题目背景 请自行脑补一张欧稳欧学车的图 题目描述 欧稳欧学车时经常用一辆橡树车练习.这辆橡树车共有 \(N\) 个挡位,欧稳欧每秒可以把挡位增加或减少 \(1\),初始时( ...
- 洛谷P3258 [JLOI]2014松鼠的新家
题目 树上差分 树上点差分,注意会出现路径端点多记录的情况,这时需要在最后输出的时候输出子树的差分数组的和-1,而不是在处理原数据的时候减1.并且a[n]不需要糖果,最后也减去就行. #include ...
- 关于windows使用git警告LF will be replaced by CRLF
由于windows平台的换行符是CRLF,但是我们引用别人的类库可能是在unix平台开发的,那么代码中的换行符是LF,而git默认会做这个转换,所以在用git提交这些代码时会有警告:LF will b ...
- eureka中显示有服务但是通过ribbon调用显示No instances available for service-hello的问题
一,问题 采取eureka集群.客户端通过Ribbon调用服务,Ribbon端报下列异常 ? 1 2 3 4 5 6 7 java.net.UnknownHostException: SERVICE- ...
- [Beta]Scrum Meeting#2
github 本次会议项目由PM召开,时间为5月7日晚上10点30分 时长20分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客整理文档 撰写博客 swoip 模块松耦合,文件结构调整为改进界 ...
- 第08组 Beta冲刺(2/4)
队名 八组评分了吗 组长博客链接(2分) 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 12月9号了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任务. 重新分配小组及个 ...
- SpringBoot(十五):SpringBoot2.x集成eureka实现注高可用册中心,高可用的服务器提供者,以及消费者示例
本文代码请参考<https://github.com/478632418/springcloud-eureka-server-client/tree/master/mall>.<ht ...
- Oracle的“ORA-00937: 不是单组分组函数” 如何解决?
之前在编写oracle的sql语句时遇到这个问题,这里做个记录 问题描述:ORA-00937: 不是单组分组函数 问题原因:select语句中又在查询某一列的值,其中还有聚合函数 原先本人编写SQL是 ...
- kotlin基础 空值检查
NULL检查机制 Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做 ...
- Error-ASP.NET:无效的 JSON 基元: object。
ylbtech-Error-ASP.NET:无效的 JSON 基元: object. 1.返回顶部 1. “/”应用程序中的服务器错误. 无效的 JSON 基元: object. 说明: 执行当前 ...