Linux磁盘设备基础
free -m 查看系统内存 [[email?protected] /]# 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 – crontab – 马上运行?
- linux – dom0中的网桥无法ping通domU
- linux – GRUB的第1阶段引导加载程序如何加载第2阶段引导加
- linux – 为什么/ cat / urandom挂了我的bash脚本?
- centos实现两种秒级任务的简单方法
- linux – aws s3 sync:如何排除proc,sys目录
- 如何仅在使用CMake的Linux版本上使用特定于Linux的API和库?
- linux – 很多TCP:CentOS 6中的时间等待桶表溢出
- linux – Java进程(OpenDS)消耗所有cpu(futex flood) – 如
- LINUX实战:在 Linux 中使用 shell 脚本自动创建/移除并挂载