当前位置: 移动技术网 > IT编程>开发语言>Java > 荐 计算基础

荐 计算基础

2020年07月14日  | 移动技术网IT编程  | 我要评论

目录

1.服务器基础

1.1 服务器构成

1.2 服务器的分类

1.3 CPU

1.4 内存

1.5 硬盘

1.6 网卡、存储卡和RAID卡

1.7 光模块

1.8 服务器的操作系统 

2.计算虚拟化基础

2.1 概念

2.2 分类


1.服务器基础

1.1 服务器构成

(一)硬件组成

  • CPU(微架构,类型,主频,核数,线程数,L3缓存等)
  • 内存(标准,类型,容量,运行频率等)
  • 存储(磁盘类型,外形形态,接口类型和带宽,机械磁盘转速,单盘容量等)
  • I/O(类型,外形形态,插槽标准和带宽,接口标准和带宽等)
  • 电源(交流/直流模块,N+1/N+N/N+M冗余,热插拔,能效比,接口标准和类型等)
  • 散热(主动式/被动式,冗余/热插拔风扇等)
  • 管理(带内/带外,远程管理卡,串口/VGA/KVM等)

(二)软件组成

  • 固件(系统固件,硬件固件,如BIOS/UEFI )
  • 系统软件(编程语言程序,操作系统,各种服务性程序,数据库管理系统等)
  • 应用软件(通用应用软件,定制应用软件;商用软件和开源软件等)

后面板硬盘的作用:存储一些物理机的应用和数据;前面板硬盘的作用:服务器上可能会起一些虚拟机,这些硬盘存放虚拟机的数据。 

1.2 服务器的分类

  • 按外形分类: 塔式服务器,机架服务器,刀片服务器,机柜式服务器。
  • 按体系架构分类: PC(x86)服务器( CISC架构),小型机或UNIX服务器(RISC架构或EPIC架构),大型机。
  • 按网络规模/应用层次分类: 入门级/工作组级服务器,部门级服务器,企业级服务器。
  • 按用途分类: 通用服务器,专用服务器。

平日我们听到和服务器相关的名词,最多的想必就是x86。常规的服务器分类可以分为x86服务器非x86服务器。这两者主要的区别是CPU不同(也就意味着指令集不同)、操作系统不同。 x86这个词其实是*86的一个统称,Intel早期创新型推出8086 CPU,是CPU发展史的一个重要里程碑,后续陆续推出了80286、80386等尾号是86的CPU在业界里面都有很高的知名度,后人统称这类为x86CPU。

  • x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows/Linux操作系统的服务器。
  • 非x86服务器:包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC(并行指令代码)处理器 ,并且主要采用UNIX和其它专用操作系统的服务器。

X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。 x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义。 Intel从8086开始,80286、80386、486、586、P1、P2、P3、P4都用的同一种CPU架构,统称X86。

非x86架构的服务器其实就是Unix服务器,也就是我们日常所说的小型机。 和x86架构服务器的主要区别是小型机不是一个通用机,通常小型机都带有自己专用的CPU和操作系统。 在服务器发展的初期,小型机占有很大的市场份额,并以其安全性、可靠性和高性能等特性为用户所接受。在服务器市场中处于中高端位置。 那小型机究竟长啥样,从外观上来看其实和机架式服务器基本上长得一样。

这个图的IBM的小型机,业界主要的小型机厂商有IBM、HP和SUN。IBM和HP也做x86服务器现在在用户端也能碰到,但是SUN被Oracle收购后基本上在服务器市场销声匿迹了。 小型机被用户所看好的主要特征是RAS(Reliability,Availability,Serviceability),也就是高可靠性、高可用性和高服务性。随着近年来的CPU的飞速发展,Windows和Linux的不断更新迭代,x86服务器在可靠性、可用性和服务性上也已逐渐赶上甚至超过小型机,这也是近些年x86服务器大行其道的主要原因。


不管是x86服务器还是小型机,主要都是由CPU、内存和硬盘等核心组件组成的,接下来我以更常用的x86服务器为例,分别介绍下服务器的各主要组件。

1.3 CPU

CPU,中央处理器。是整个服务器的大脑,负责整个服务器的运转处理。

主要的参数有两个:

  1. 主频:表示CPU的处理频率,也就是处理速度,服务器主频越高意味着处理起来更快;这里面还有一个超频的概念,如果CPU支持超频,在某些环境下CPU是能够超速行驶的。
  2. 核数:表示CPU并行处理的能力,核数越多在一个时间内就能够接受更多的处理任务;同样的也有一个超线程的概念,CPU如果支持超线程那么一个核能够同时处理两个任务,也就是它能够“高负荷”处理。

除了主频核数这两个经典的参数外,为了适应虚拟化技术的发展,还推出了VT技术,能够提升整个虚拟化的性能。Intel是VT-x、TV-d和VT-c,AMD主要是AMD-v技术。 

  • IntelVT-x技术:增强处理器的VT虚拟化技术,包括IntelVTFlexPriority、IntelVTFlexMigration(Intel虚拟化灵活迁移技术)、ExtendedPageTables(IntelVT扩展页表)。
  • IntelVT-d技术:支持直接I/O访问的IntelVT虚拟化技术。
  • IntelVT-c技术:支持网络连接的Intel虚拟化技术,包括虚拟机设备队列(VMDq)、虚拟机直接互连(VMDc)。
VT( Virtualization Technology):虚拟化技术为了适应信息化发展,Intel推出VT系列以满足不同的上层操作系统对底层处理器的调用。

1.4 内存

内存的主要作用是用于存放CPU计算所需要的必要数据,所以处理速度也要足够快才行,同样的内存也有频率这么一个概念,用来表示内存的处理速度。 内存主要分为ROM(只读掉电不丢数据),RAM(可读写掉电丢数据),Cache(可读写掉电丢数据)。主要用的是RAM和Cache。 内存发展变革总是跟随者CPU脚步,当CPU推陈出新速度不断提高后,内存的速度满足不了CPU的需求就需要做一次改革。主要内存经历了一下几代的变革,现在市场上的内存以DDR3和DDR4为主,马上就会推出DDR5系列。

内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据 。 内存主频:内存主频和CPU主频一样,习惯上被用来表示内存的速度,它代表着该内存所能达到的最高工作频率。

1.5 硬盘

硬盘主要是作为数据的最终归属地。和内存相比速度没内存块,但数据存放后除了硬盘故障,不然都不会丢失的。硬盘的分类比较多。从形态上可以分为机械硬盘HDD固态硬盘SSD。从接口上可以分为SATA和SAS。从尺寸上可以分为3.5寸和2.5寸。 机械硬盘主要由盘和指针组成,工作的时候盘在旋转,指针所到之处就是所读写的数据。而SSD处理模式完全不同,是由芯片控制的,和内存比较像。因此机械盘处理的速度不及固态盘,但是固态盘容量普遍比机械盘小。现在这两种盘在市场上都很常见。 硬盘的主要厂商有希捷、西数、三星和东芝。后面存储的内容里面也有硬盘,其实你会发现不管服务器上面的硬盘还是存储上面的硬盘都是一样的,都是由这么几个厂商做的。

1.6 网卡、存储卡和RAID卡

服务器另外一个很重要的东西是卡,各种类型的卡。 这里面主要提三种常用的卡。 网卡:接网络设备;存储卡:,一般称为HBA卡,接存储设备;RAID卡:接硬盘。 网卡现在主要是以太网卡,分为电口和光口。 同样的存储卡也分为电口和存储,不过他们的协议不是以太网,电口的存储卡一般是iSCSI协议,光口的是FC协议。 RAID卡就比较简单了,连接磁盘后可做磁盘阵列。 这几个卡都是要接在主板上,所以除了对外的口以外还有他们本身的接口,常见的有PCI、PCI-X和PCI-E。其中PCI-E卡近几年发展迅猛,凭借着其超群的处理能力衍生出各类的产品,如PCI-E SSD。

  • 网卡:通过网络连接线与网络交换机连接。
  • 存储卡:通过网络连接线和存储设备对接。
  • RAID卡:通过总线和硬盘连接。

1.7 光模块

光模块的作用就是光电转换,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号。交换机和服务器上的光口通常都是空的,是不能直接插线,需要加配一个光模块,光模块才能接上对应的线。 光模块的分类很复杂。

  • 根据封装类型就可以分为:GBIC、SFP和SFP+以及QSFP。他们的带宽分别是千兆、千兆和万兆。现在常用的是SFP、SFP+。
  • 根据接口类型又可以分为:SC、LC、FC和ST。
  • 根据传输距离可以分为单模、多模,单模的传输距离远,多模的传输距离近。一般2KM以内都可以用多模连接。

这里展示的图就是LC接口的SFP+光模块,我们来看一下他的参数。这两个参数图我们主要看一下,SFP通常是千兆,SFP+是万兆,SFP的接口可以是LC也可以是RJ45,而SFP+模块多为LC。

光纤跳线:用来做从设备到光纤布线链路的跳接线。 

光纤跳线用于连接两个光模块。 通常根据接口分类,分为ST、SC、LC和FC。 其中,常用的LC接口光模块有:SFP、SFP+和XFP;SC接口的典型光模块是GBIC;FC和ST接口很少连接光模块,通常都用于光纤配线架用于连接尾纤。 光模块和对应的接口其实没有必然的关系,但是业界常见的SFP和SFP+都是LC接口的。这个也是我们销售系统里面常用的光模块和光纤跳线。 需要注意的两点是:1、配光纤跳线的时候,接口一定要和光模块接口一致;2、光纤跳线两边的光模块也要完全一致。

1.8 服务器的操作系统 

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统在整个服务器上应该是这么一个架构:最底层是硬件,上层是操作系统,再上层是应用程序。 可以说操作系统是一个承下启上的作用。对下调度服务器的资源,对上提供完整的运行环境来跑各种业务。 

Windows,最常用的操作系统,包含最早的98、Win7、Win10和运行在服务器端的WinSer系列。 另一大类是Linux,是Unix的开源版,苹果电脑的MacOS就是Linux中的一种,还有红帽的RHEL、Centos等等。 最后一个就是Unix,前面提到的小型机的操作系统。如IBM的AIX,HP的HPUX,以及SUN的Solaris。 前面两种是x86服务器和终端常用的,后面一个是小型机专用的。 

2.计算虚拟化基础

我们先来回顾一下,服务器的整个架构像这个简图中画的,最底下是硬件,中间是操作系统,上层是应用。 这时候为问题来了: 如果我要加应用系统,要不要加服务器?有的人说不加,不加也可以但是服务器大多都是单台跑一个业务系统的,因为你访问一个业务只能有一个IP,除非服务器多网卡那么可以跑多个。

再深入一下问题,如果另一个应用对操作系统有特殊需求呢,Web用Windows运行,但是数据库想要Linux系统,是不是得加服务器? 此外,如果我担心重要业务因为单台服务器故障,导致访问不了,怎么办,要不要加服务器。 以上的问题如果你的回答是是,那服务器越加越多,我怎么管理? 明明现在的服务器还有很多的CPU内存硬盘资源,我能不能想办法用用起来? 所以,能不能不加服务器解决上面的需求?

对于以上的问题,于是计算虚拟化应运而生。 他的主要概念就是把一台服务器虚拟成多台虚拟服务器。每个虚拟的服务器都能有各自的操作系统,且相互之间不影响。 计算虚拟化是否能够很好的解决上面说的各种问题。 1、他能支持一机多跑,一台服务器虚拟化后能够运行多个虚拟机,只要服务器的资源足够; 2、当服务器数量众多,通过虚拟化能够集中管理服务器的资源,简单明了; 3、充分利用了计算资源,提升效益; 4、虚拟化建设完成后形成资源池,池内的业务可以横向迁移,提高了业务系统的容错能力。

2.1 概念

计算虚拟化:指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。 在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

从架构角度切入,可分为:

  1. 寄居架构(Hosted Architecture)在操作系统之上安装和运行虚拟化程序,依赖于主机操作系统对设备的支持和物理资源的管理;
  2. 裸金属架构 (“Bare Metal” Architecture) 直接在硬件上面安装虚拟化软件,再在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理。

寄居架构指的的服务器先运行操作系统,操作系统之上运行虚拟化。常见的有Workstation和PD。这种架构其实性能层面不是特别好,受限于操作系统,在PC上采用还行,在服务器端显得力不从心,所以就有了裸金属架构。 顾名思义,裸金属架构底下是硬件,硬件上是虚拟化系统,虚拟化之上才是操作系统。其性能大大提升。常见的就是VMware的vSphere和Microsoft的Hyper-V。

2.2 分类

  • 全虚拟化(Full Virtulization):所有操作均通过虚拟化。
  • 半虚拟化(Parairtulization):部分虚拟机可不用通过虚拟化层。
  • 硬件辅助虚拟化(Hardware Assisted Virtualization):采用Intel VT-x/AMD-v等技术辅助虚拟机正常运转。

这三者主要区别是,全虚拟化所有操作系统和硬件的交付都经过虚拟化操作系统,效率在一定层面上受到影响。半虚拟化的操作系统是经过更改的,部分和硬件交付的指令可以不用通过虚拟化系统,效率上有提升,但是因为修改了操作系统移植性就差了点。另一种就是硬件辅助虚拟化,其原理是利用我们前面提到的CPU VT的特性,让操作系统和虚拟化系统交互的时候虽然都经过了虚拟化系统,但是也能有很好的处理效率。 现在业界用的较多的就是全虚拟化技术搭配硬件辅助虚拟化技术。 主要的技术有:KVM、ESXi、XEN和Hyper-V。其中KVM是基于全虚拟化的开源技术,近些年成为业界的主流,主要的厂商有深信服、华三和华为。剩下的是那种都是私有技术,EXSi是VMware的全虚拟化技术,XEN是思杰的半虚拟化技术,Hyper-V是微软的半虚拟化技术。 

 

本文地址:https://blog.csdn.net/weixin_43997530/article/details/107292858

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网