Linux实战教学笔记02:计算机系统硬件核心知识

时间:2023-11-21 14:28:20

标签(空格分隔):Linux实战教学笔记-陈思齐


第1章 互联网企业常见服务器介绍

1.1 互联网公司服务器品牌

- DELL(大多数公司,常用)

- HP

- IBM(百度在用)

  • 浪潮
  • 联想
  • 航天联志

常见服务器品牌

Linux实战教学笔记02:计算机系统硬件核心知识

1.1.1 Dell服务器品牌

Linux实战教学笔记02:计算机系统硬件核心知识

Linux实战教学笔记02:计算机系统硬件核心知识

加上盖子

Linux实战教学笔记02:计算机系统硬件核心知识

  • DELL R620

    Linux实战教学笔记02:计算机系统硬件核心知识

    1.1.2 IBM品牌

    1U 3550/m3 3550/m5

    2U 3650

    4U 3850

    8U 3950

    仅作了解,质量好,但价格贵,互联网公司不太常用

    IOE(IBM oracle emc)

1.1.3 HP 品牌

DL380G7/G8(2u)

1.2 服务器主要零部件

1.2.1 电源

相当于人体的心脏,保障电源供应,要选择质量好的电源。生产中一般单个服务器核心业务最好使用双电源AB线路。如果集群(一堆机器做一件事情)的情况可以不用双电源。

Linux实战教学笔记02:计算机系统硬件核心知识

1.2.2CPU 处理器

相当于人体的大脑,负责计算机的运算和控制,是服务器性能效率的最核心部件。 常见品牌:Intel,AMD

Linux实战教学笔记02:计算机系统硬件核心知识

  • 一般的企业里的服务器,CPU颗数2-4颗,单颗CPU是4核。内存总量一般是16-256G(32G,64G)
  • 做虚拟化的宿主机(eg:安装vmware的主机),CPU颗数4-8颗,内存总量一般是48-128G,6-10个虚拟机。

Linux实战教学笔记02:计算机系统硬件核心知识

1.2.3 内存

CPU和磁盘之间的缓冲设备,是临时存储器(存放数据),断电数据丢失。 一般程序运行的时候会被调度到内存中执行,服务器关闭或程序关闭之后,数据自动从内存中释放掉。

  • 片===硬盘===程序
  • 播放片===被运行起来的程序===进程
  • 没完没了播放片==(住院)==一直在运行的程序===守护进程

程序:c/php/java,代码文件,静态的,放在磁盘里的数据。

进程:正在运行着的程序,进程运行就是系统把程序放在内存里执行

守护进程(daemon):持续保持运行着的程序。

程序和进程的区别:

  • 电影放在磁盘里就是程序
  • 看片放到内存里就相当于进程
  • 计算机重启,内存的数据会释放掉

从开发角度对守护进程的解释:

运行或者执行任何服务都脱离不开计算机的底层协议TCP/IP协议,而想要操作TCP/IP协议就需要用到计算机的底层语言C语言,但是C语言用起来很麻烦,通常要实现一个很小的功能都需要写上好几十甚至上百行代码,太繁琐。于是就有人想到,将一些可以实现某个功能的C语言代码封装起来,然后起一个新的名词,那么用这个新的名词来告诉计算机自动执行封装的那么一大堆C代码,这样就方便多了。于是,慢慢的这类型的新词汇多了以后,渐渐组成了现在我们常见的编程语言,比如:java,python,C#。而我们知道如果我们利用xshell来远程服务器的时候,需要通过ssh协议并访问服务器的22端口。之所以,能够联通,是因为服务器端始终有一个叫做sshd服务的进程在监听着22端口,这个服务就是通过python等类似语言继续封装出来的程序,由于它不断的在服务器的后台运行,始终守护且监听着服务器的22端口,所以我们就叫它们为守护进程。

1.2.4 磁盘

磁盘就是永久存放数据的存储器,磁盘上也是有缓存的(芯片)。

常用的磁盘(硬盘)都是3.5英寸的(ide,sas,sata),常规的机械硬盘,读取(性能不高)性能比内存差很多,所以,在企业工作中,我们才会把大量的数据缓存到内存,写入到缓冲区,这是当今互联网网站的解决网站访问速度慢的方案

磁盘接口或类型:IDE,SCSI,SAS,SATA,SSD(电子的),IDE,SCSI退出历史舞台。

性能与价格:SSD(固态)>SAS>SATA

磁盘的大小

1byte=8bit 1K=1024byte 1M=1024K

1G=1024M 1T=1024G 1PB=1024T

字节(byte):8个二进制位为一个字节(B)

市面上卖硬盘的都是按1000计算,号称500G硬盘=5001000B1000KB*1000MB

1.2.5【磁盘原理案例】

企业案例:提升用户体验的网站解决方案 看具体需求,然后选择方案

1,门户(大网站)极端案例

大并发写入案例(抢红包,微博)

高并发,大数据量,写数据会把数据写到内存,积累一定的量后,然后再定时或者定量的写到磁盘(减少磁盘IO Input/Output 磁盘读写),最终还是会把数据加载到内存中再对外提供访问。

Linux实战教学笔记02:计算机系统硬件核心知识

特点

a,优点:写数据到内存,性能高速度块(微博,微信,SNS,秒杀)

b,缺点:可能会丢失一部分在内存中还没有来得及存入磁盘的数据。

解决数据不丢的方法:

a,服务器主板上安装蓄电池,在断电瞬间把内存数据回写磁盘

b,UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据IPS 1小时)。UPS (Uninterruptible Power

System/Uninterruptible Power

Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。

c,选双路电的机房,使用双电源,分别接不同路的电,服务器要放到不同的机柜,地区。

2,中小企业案例

对于并发不是很大,数据也不是特别大的网站,读多写少的业务,会先把数据写入到磁盘,然后再通过程序把写到磁盘的数据读入到内存里,再对外通过读内存提供访问服务。

Linux实战教学笔记02:计算机系统硬件核心知识

Linux实战教学笔记02:计算机系统硬件核心知识

小结:

门户极端案例:高并发,大数据

先把数据写到内存,然后再定时或定量写到磁盘,最终还是会加载到内存

特点

a,高并发写入性能高

b,可能会丢失一部分在内存中还没来得及存入磁盘的数据

中小企业案例:

并发时很大的网站会先把数据存到磁盘,然后再通过程序把数据读入到内存里,在对外提供访问服务

温馨提示

网站优化的核心就是想办法把数据放入内存提供服务,或者让用户写数据写到内存(这样最快)

3,企业面试题:buffer和cache什么区别?

看视频===>buffering把视频数据缓存到磁盘===>写数据到磁盘上或者写数据到内存中

cache===>从磁盘或者内存读取数据

简单解答:

写入数据到内存里,这个数据的内存空间称为缓冲区(buffer),写入缓冲区。

存读取数据,这个存数据的内存空间称为缓存区(cache),读取缓存区。

由于99%的网站都是以读取为主,写入为辅,读写比例至少10:1,所以并发写入一般不是问题。

提醒: 这里提到的内存和磁盘,是由多台机器组成的集群架构环境memcached(纯内存)/redis(内存加磁盘)

Linux实战教学笔记02:计算机系统硬件核心知识

2.1 企业级服务器应用

1,常规正式工作场景(线上的生产环境)主选SAS(结合SATA和15000转/分,机械磁盘转数高的性能好)

2,比较核心的业务SAS

生产环境===>已经对外提供服务的环境

3,不对外提供访问的服务器,例如,线下的数据备份,可选SATA(7200-10000转/分)

SATA特点:容量大,价格便宜,但是速度比较慢。

4,高并发访问,小数据量,可以选择SSD

问:既然SSD最好,那是不是都选SSD?

淘宝网企业案例:

服务器会把sata和ssd结合起来用,热点存储,程序动态调度。

  • 开发团队发明了一套算法,把那些访问很集中的一些东西放在那个SSD盘上,因为SSD提供很好的读性能,我们就让这些80%左右的这种读从SSD上产生,剩下的图片我们把它放在传统那种SAS或者更低廉的一些SATA盘上,这样我们整个节点的性能非常好,单机可以支撑三千到四千IO,这是我们系统没有任何显示出访问慢,或者其他不好的表现。
  • 因为每台机器的成本又降得非常低,如果可以,比如说追求一个大的存储,我可以用全SSD,但是我SSD的成本相对要高很多,我可以用比较廉价的SAS或者SATA来存一些访问频度不是很高的,用SSD存访问频度高的文件,这样整体上的性能就协调的非常好,成本也非常低。整体上可以这么说,我们通过这样一年的优化,在原来硬件基础上投资50%实现了性能是原来两倍的一个架构。现在我们总体的这种TCO是原来的1/4左右。

热点存储的思路非常好,在学习磁盘组成和原理的内容时,有关热点数据的内容,必须要仔细体会。现如今看来,对很多中小型公司还是很新颖的存储方式。顺便说下,大公司无论做什么都要考虑性价比问题,而不光是要把问题解决,因为,设备的奇数太大,做一点点就会节省非常多的成本。阿里,联想的大规模云计算其实归根结底都在解决性价比问题,否则,就无法推向市场,真正的应用到商业市场中。

2.2 缓存

记住一句话:缓存无处不在,电脑硬件,网站集群!

Linux实战教学笔记02:计算机系统硬件核心知识

这里做个了解即可

Linux实战教学笔记02:计算机系统硬件核心知识

ns 纳秒 1s = 10^9 ns

us 微妙 1s = 10^6 us

ms 毫秒 1s = 1000ms

2.3 DELL阵列卡(RAID卡)

基本作用

你有很多土地。

单独管理不方便。

整合,然后管理。

  • 网站数据量很大的时候,单块盘装不下了,购买多块盘,又不想单个盘存放数据,就需要工具把所有的盘整合成一个大磁盘,再在这个大磁盘上在分区(虚拟磁盘)方数据
  • 另外一大功能,多块盘放在一起可以有冗余(备份)。

    RAID有很多种整合方式,RAID 0 1 5 10

    有RAID卡后,一般磁盘就会插到RAID卡上,而不是直接插到主板上了

    Linux实战教学笔记02:计算机系统硬件核心知识

    互联网公司服务器一般都会购买RAID卡(主板自带,独立RAID卡),RAID卡上也是有缓存的。
  • 冗余从好到坏:raid1,raid10,raid5,raid0
  • 性能从好到坏:raid0,raid10,raid5,raid1
  • 成本从低到高:raid0,raid5,raid1,raid10

不同RAID级别的企业应用举例:

根据数据的存储和访问的需求,去匹配对应的RAID级别。====>适用于互联网公司

  • 单台服务器,很重要,盘不多,系统盘raid1
  • 数据库/存储服务器,主库raid10,从库raid5/raid0(为了维护成本,raid10)
  • web服务器,如果没有太多数据的话,raid5,raid0(单盘)
  • 有多台,监控/应用服务器,raid0,raid5.

2.3.1 raid0,1,5,10 简要特点描述

  • Raid 0:追求极致的数据传输速度的磁盘存储解决方案(最快)

速度最快,但安全性最低,一块磁盘出了问题,所有的数据都会损坏且无法修复

  • Raid 1:追求极致的数据安全的磁盘存储解决方案(最安全)

安全性最高,但磁盘利用率最低,只有50%。

  • Raid 5:追求数据安全和存储成本兼顾的磁盘存储解决方案(比Raid10成本低)

数据读取比较快,但是写入速度一般。磁盘利用率高于Raid1

  • Raid 10:追求数据传输和数据安全兼顾的磁盘存储解决方案(比Raid5性能高)

Raid10是Raid0和Raid1的组合体。Raid1这里就是一个冗余的备份阵列,而Raid0则负责数据的读写阵列。拥有极高的读写效率和数据安全保护。但是磁盘利用率低,价格比较贵。

2.4光驱

当下主要作用装系统

企业应用:

建议淘汰光驱,为老板省钱

U盘安装系统,网络安装(ftp,http),无人值守批量安装系统(pxe+kickstart)

2.5 主板

Linux实战教学笔记02:计算机系统硬件核心知识

2.5.1 机房机柜里的服务器摆放

标签===>标记出每根线的用途

Linux实战教学笔记02:计算机系统硬件核心知识

Linux实战教学笔记02:计算机系统硬件核心知识

专业布线:什么是专业的,请看图

Linux实战教学笔记02:计算机系统硬件核心知识

2.6 小结:

企业面试题

1,你用过的服务器型号有哪些?配置如何?

2,程序和进程(守护进程)的区别?

3,提升用户体验的网站解决方案

4,buffer与cache的区别?

5,描述Raid0 1的特点?