计算机硬件组成(运维关注的重要部分):
CPU:中央处理器,是一个计算机的运算核心和控制核心,他的主要功能是解释计算机指令以及处理计算机软件中的数据。
中央处理器主要包括:运算器 高速缓冲存储器
(ALU) (cache)
内存:内存(内存储器)可用于存储数据,由于是电子部件,内存中数据会在断电后消失,存取速度快,容量相对较小。
硬盘:是计算机的主要外部存储器,可分为机械硬盘和固态硬盘,可以永久的保留数据,但是速度相对较慢,容量大
硬件知识深度理解
内存部分(以具体案例为为前提)
1.高并发写入
将需要写入的数据优先存在内存之中,当内存中的数据达到一定数量时,再将数据全部写入到磁盘之中
优点:利用内存的速度优势,可以加快写入速度,提高用户体验,在高并发的情况下十分适用
缺点:内存只能临时存储数据,如果断电,数据全部丢失
解决方案:
1.主板装电池,在断电后支持快速将数据写入硬盘,
以便恢复
2.使用(不间断电源)UPS电源
3.选用双电路机房
2高读取
将硬盘中热点数据写入内存之中,方便用户读取,提高访问友好度。
将需要存储的外部数据直接存入硬盘之中,再读取到内存之中,以备访问之用。
优点:热点数据在内存之中,用户读取速度快,增加了用户体验,同时也减小了服务
器的IO压力。
Tips:将数据写入内存,这部分被使用的内存称之为 缓冲区(Buffer)
从内存中读取预存的数据,这部分被使用的内存称之为 缓存区(cache)
3.目前大部分网站的IO比例 Input : Output = 1 : 10,即大部分网站均是以用户读取其内容
为主,写入数据的比例不大,在架构及优化时,应以高读取
的方案进行,具体案例具体分析。
4.多台机器集群内存缓存架构(以软件形式): memcache (纯内存) redis(内存与磁盘结合)
硬盘部分
1.分类: 机械硬盘 ,固态硬盘
2.接口类型:IDE , SCSI
SAS : 价格较贵转速相对较高,同等价位容量较小。
SATA :价格最低,同等价位容量大,速度慢。
SSD(固态硬盘):价格最贵,同等价位容量最小,速度最快。
3.按照工作环境的硬盘选择
(1)常规工作环境: SAS 速度,容量与价格兼顾的良好选择
(2)线下备份或内部工作环境: SATA 容量大,且对硬盘速度要求不高。
(3) 高并发,且数据量少: SDD 速度快,但价格贵,适用于极端生产环境。
4.RATD
磁盘阵列(Redundant Arrays of IndependentDisks), 有‘独立磁盘构成的具有荣誉能力的阵列’之意。
磁盘阵列是由很多价格便宜的磁盘,组成一个容量为所有磁盘之和的大磁盘,利用个别磁盘提供数据所产生加成效果提升整个磁盘的系统效能。
(1)实现形式 : 硬RAID :通过 RAID卡 实现,价格较贵,效率高,安全
软RAID :通过软件模拟实现,价格低廉,对降低系统效率,并且
在软件出现问题时,会影响数据安全
(2)RAID分类 :
RAID 0 条带化(Data Stripping) 将多个磁盘整合为一个磁盘。
在整合后单个磁盘的读取数据方式并没有发生变化,但是整个磁盘阵列的数据读取方式变得十分有趣。首先,每个磁盘都被以合理的大小分割为很多个block,且每个磁盘的分割情况必须一样。在数据写入的时候将数据依次写入三个磁盘,即三个数据块 [block1]
[block2] [block3] ,第一块磁盘写入[1],第二块磁盘写入[2],第三块写入[3],依次类推,直至数据写完。
在从磁盘阵列读取数据时,同时读取磁盘阵列中的第一个block,那么用了读取一个block的时间,读取了N个block (N 为磁盘阵列中的磁盘数量)。 这样数据的读取速度就加快了N陪。
由于RAID 0 只是多个硬盘进行了整合,没有做冗余处理,那么其中一块硬盘出错,整个阵列就会出现问题。所以RAID 0 的可靠性为一块磁盘的1/N ,可靠性大大降低
速度:单个磁盘的N倍
容量:单个磁盘的N倍
可靠性:单个磁盘的1/N
适用场景:只是在对那些对数据安全性要求不高的场景使用
RAID 1 镜像 把一个磁盘的数据镜像到另一个磁盘上,作为冗余
在RAID 1中,数据进行写入一块磁盘时,也会同时写入另一块作为镜像的磁盘中。当正在被使用的磁盘发生问题,系统会抛弃他,转而去它的镜像磁盘读取数据,这是将坏掉的磁盘更换即可。这样数据的安全性大大增加,但是成本也随之增加,磁盘利用率为50%,下降一半。
在更换磁盘后,系统会对原有数据进行同步,需要一定时间,在同步期间会影响系统的IO效率。
速度 :不变
容量 :所有磁盘的50%
可靠性: 大大增加
使用场景: 数据重要,数据量不大
RAID 5 分布式奇偶校验的独立磁盘结构
RAID 5在结构上与RAID 0类似,将磁盘条带化,有很高的读取速度。在写入数据时,会在每块磁盘上都写入奇偶校验信息,因此会造成写损失。在从磁盘阵列读取信息的时候会进行校验数据是否出错。当一块磁盘出错的时候,更换新磁盘后,可以通过其他磁盘的数据和奇偶校验信息,经过计算恢复其数据。
速度:N块磁盘之和
容量: 略小于N块磁盘
可靠度: 在一块磁盘出错时,可修复:有奇偶校验码,可纠错
RAID 10 (先1 后 0) 先镜像,再条带化
RAID 10既是RAID 1 与 RAID 0 的结合产物。先对每一块磁盘进行镜像处理(RAID 1),然后将每个形成的RAID 1 做条带化(RAID 0)。这样总体来看整个磁盘阵列是 RAID 0的形式,而且每一块磁盘都有做镜像处理。那么即拥有了RAID 0 高速的读取速度,又拥有了RAID 1 的高数据安全性。RAID 10的不足之处也显而易见,磁盘利用率低,导致价格较高。
速度:N块硬盘之和
容量:50%
可靠度: 有 RAID 0的支持,可高度高
5.企业中PC服务器主要品牌
DELL(大部分企业),HP,IBM(去IOE 估计不会再有人用了)
DELL PC服务器型号
2010-2013:1u R410 R610
2u R710
2014-2015:1u R420 R430 R620 R630
2u R720
对于这部分内容 我会在之后的过程中关注,《大型网站技术架构分析》《淘宝这10年》这2本书将会作为我的参考书籍。
学习思想总结
在大学我的专业是软件工程专业,as you know,是个理科专业,但是我觉得将其成为工科更为合适,动手做的学科。学习C语言,把变量,指针,函数,数组的概念你都记得滚瓜烂熟,理解的不能再透彻,还是没用 。只是理解了书面知识,你上手编程还是啥都不会。
所以 练 才是最有意义的,在练的时候遇到问题要 想,思考问题出现在哪里,结合书本知识。之后,分享和 讨论。这样才能加深你只是的广度和宽度,是对你最有利的。
而在学习的过程中要克服的就是懒惰。懒惰并不是一种病,而是你对理想的懈怠,对未来的不负责任。既然选择了就要坚持下去,别无他路。
我的兴趣就在Linux这部分,对于服务器的后台系统架构有浓厚的兴趣,所以我有理由相信我可以做到。对自己抱有信心是非常重要的。
写到这,还要感谢一下我的 操作系统 老师,蔡青松博士。这写东西都是我在他身上认识到的,Linux也是通过它了解到的。正如他所说:“现在的学生都是狗屎,啥都不会”这句话其实是对我们最好的激励,既然不会,就学会!
看起来这段话并不像学习思想总结,好像不是很正式的样子,当时我觉得表达出自己的思想就要说出自己想的东西。如果真的弄得条条框框,什么 努力,坚持,信心之类,就没意思了。
UNIX与LINUX的发展历程
Unix是用90%的C语言和10%汇编语言混合编写的,因此对于硬件平台的移植时还是需要更改代码,因此各个公司都推出了针对自家机型的Unix系统;
到了AT&TSystem V第七版时,终于推出了针对X86的Unix,因此终于能够在个人计算机上安装Unix,但是有一条规定:“不能向学生公开源码”,因此Tanebaum教授就不看Unix源码,编写了兼容Unix的针对X86的Minix操作系统;
四.因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(PortableOperating System Interface,他规范了应用程序与内核的接口规范);
一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件;
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:一些简单的硬件知识-创新互联
分享网址:http://lswzjz.com/article/ddjihj.html