关于磁盘的一些知识

最近在拜读张冬瓜的存储大作,收获还是很多的,这本书对于一些底层的技术细节阐述的比较细致,作者的思维,处理问题的方式也是活跃且严谨,
建议大家有时间可以看看,我梳理了些关于磁盘的概念,贴出来
 
1.磁盘组成,扇区,磁道,柱面
磁盘由若干盘片组成,在盘片上分布了很多细小的磁粒,每个小颗粒有自己的南北极,当磁头进行感应的时候,通过磁极就变成了电路上的1010信号,这样就达到了记录最原始的2进制信息的目的,在一个盘片上,盘片被划为很多同心圆,这个叫磁道,每个磁道又被划分为小块的细小圆弧段,一般是512字节,这个称为扇区,距离轴心近的磁道上包含的扇区比远的磁道要少很多,因为周长不一样,所以盘片旋转一圈,从外边缘获取的数据是最多的.若干盘片叠在一起,各个盘片上相同半径的同心圆就组成了一个柱面,当向一个磁盘读写数据的时候,如果是连续IO,磁盘会比较倾向于按照柱面来进行,因为写完一个盘片的磁道,切换到另外一个盘片的相同磁道,只需要切换磁头就可以了,如果是连续在一个盘片上写几个磁道,就涉及到磁臂换道,这个是机械动作 ,就慢的多了,如果是离散IO,那磁臂基本就像振动的蜜蜂翅膀.
 
2.低级格式化
磁盘生产出来的时候,上面是没有什么磁道,扇区的东西的,低级格式化就是在每个盘片上划分,标明这些东西,而高级格式化,比如WINDOWS里面的格式化,他是绝对不会影响一个磁盘的磁道,扇区结构的,这好比低级格式化是造房子,打框架,高级格式化是给房子里面做装潢
 
3.io size
一次IO的大小,这个解释很晦涩,从用户发起修改数据指令到数据最终落定到磁盘,这里面有很多层面,数据库的IO,文件系统的IO,磁盘控制器的IO,等等,其实这些IO经过多个层面,已经经过了多次的分解,最终落到磁盘的也就是那512字节的扇区,有人曾经问过这样的问题,IO最终到磁盘的是一个扇区,那上面有必要弄这么多IO SIZE出来吗?统一一下不更省事吗?其实这个问题最好自己到邮局去看看他们的流程,你去邮寄东西,他们会给你几组不同尺寸的箱子,主要看你的物品大小,适合用什么箱子,但他们最大的箱子也只能装比如1吨的物品,那你超过的话就只能分拆,当然你只邮寄个小铅笔的话,他们肯定不会建议你用很大的箱子,这些东西组合后邮寄出去,分到下面的中转站,经过诺干解包,或者合并,再次分发,最终,成为了一个一个的小包裹,由邮递员送到了目的地,我们的IO其实就和这个过程差不多,IO SIZE的大小决定了你与下层系统交互的次数,你应用程序的类型决定了你的IO SIZE
 
4.stripe size是128K,如果我就写一个8K的block,会怎么办,假设是8块盘做的raid0?
这个问题遇到过很多答案,有的说是继续做stripe,把8K分成8个1K的数据,写8个盘,也有的说是等后面的IO过来,攒满128K的时候再发出去,这些思路都是错误的,
这个时候不会再做stripe,而是随即的选择1块磁盘,将这个8K写入,如果有多个进程都发起这种IO,从总体上看,IO就分散到各个磁盘了,并且是可以并行执行的,
称做磁盘的并发率比较高,读取的话也是到各个盘去找,从单进程看,没有了stripe,但宏观上看,是很好的并发了
对于前台数据库系统,IO基本是小而且离散的,并发量也 比较大,这个时候就需要有比较高的磁盘并发率,如果你的IO SIZE总是大于stripe size,那就意味这每个IO会牵动
这个stripe下的所有磁盘,竞争就比较大了
在本地自己的操作系统上,完全模拟生产环境,让学员跟着视频一步一步搭建一套在RHEL7操作系统上面的oracle19c的rac环境。同时学员还会学会DNS服务器,DNS客户端,NTP服务器,NTP客户端等操作系统知识。让学员在短时间内,oracle和操作系统知识,有一定的提升。让学员可以独自轻松安装一套oracle rac环境。 一课程主题 模拟生产环境,用多路径共享存储,用虚拟软件安装一套RHEL7.5+oracle19c+rac+打补丁 二课程特色 完成模拟生产环境,用openfiler软件模拟生产惠普的3par存储,用2个虚拟网卡模拟数据库服务器的2个HBA卡。 课程以实践为主,从头到尾一步一步教学员怎样操作,实践性强 模拟生产需求,完全可以把这套环境拿到生产环境安装 三课程内容 1.课程结束成果演示    1.1 用workstation,安装一套rhel7+oracle19c+rac+multipath+共享存储+DNS服务器+DNS客户端+NTP服务器+NTP客户端的生产环境    1.2 怎样打oracle19c的rac补丁(包括GI补丁,oracle补丁,数据库补丁,OJVM补丁,bug补丁) 2.安装openfiler软件,模拟共享存储+配置多路径访问    2.1安装openfiler软件    2.2配置openfiler软件(配置2个虚拟网卡,模拟服务器的2个HBA卡)    2.3创建ocr磁盘    2.4创建mgmt磁盘    2.5创建数据文件磁盘    2.6创建归档日志磁盘 3.安装2台数据库服务器    3.1安装2台数据库服务器RHEL7.5    3.2配置服务器双网卡绑定+配置服务器心跳线 4.安装多路径软件识别共享存储中的磁盘     4.1安装服务器本地yum源     4.2安装iscsi软件,配置多路径配置文件,识别共享存储中的磁盘     4.3识别ocr磁盘     4.4识别mgmt磁盘     4.5识别数据文件磁盘     4.6识别归档日志磁盘 5.oracle19c的rac环境系统参数官方说明     5.1如何配置oracle19c的rac的系统参数(我们参考官方说明)     5.2oracle19c+rac环境Best Practices 官方说明文档 6.安装oracle19c+rac之前的准备工作     6.1修改/etc/hosts文件     6.2配置DNS服务器+DNS客户端+NTP服务器+NTP客户端     6.3创建用户和组     6.4创建目录     6.5修改用户环境变量     6.6安装相关软件包     6.7配置ssh互信     6.9禁用服务器透明大页 7.安装oracle+19c+rac软件    7.1安装GI软件    7.2创建ASM磁盘,主要是数据文件磁盘和归档日志磁盘    7.3安装数据库软件    7.4创建数据库实例    7.5日常常用维护集群命令(启停数据库,启停集群,查看监听,教同学们怎样不死记命令,而且命令还正确) 8.打补丁   8.1打GI和ORACLE的操作系统补丁   8.2打OJVM补丁   8.3打ORA600的bug补丁 9.课程总结和成果演示  9.1课程总结和成果演示 四学习必要工具 安装workstation软件   官网下载openfiler,rhel7.5软件 下载oracle软件(包括19.3的rac安装包,19.4的补丁) 以上软件我都已经在视频里面做了下载地址说明
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页