最近几天,XX云服务器的真相!
大家好,我是轩辕。
这两天,我相信大家在很多技术类公众号上都看到“白嫖阿里云服务器”的相关推广活动。
唉,先别着急划走,你以为这又是一篇广告?实际上这是一篇正经的技术文章,即将GET新知识!
好了,言归正传,今天咱们从技术的角度聊一下云服务器这个东西!
所谓云服务器,就是一台存放在云端的计算机,你可以通过远程登录的方式去访问它。
一台存放在云端的服务器可以拿来做什么呢?
可以自己搭个网站
可以自己写个博客
还可以开发一个APP,把它作为APP的后台
···
服务器的真相
那你有没有想过一个问题:这么多人都去买云服务器,阿里云哪里来的这么多服务器啊?
你不会真的以为阿里云给了你真实的物理服务器吧,还各种配置任你挑选。
事实上,这些云服务器基本上(不敢说绝对)都是虚拟机。
虚拟机大家都玩儿过吧,比如最常见的VMware:
借助于虚拟机,我们可以在真实的电脑上再虚拟出一台电脑来,可以安装Windows、Linux甚至是苹果系统。
甚至,在一台电脑上,还可以同时启动多个虚拟机系统。
一般情况下,我们个人用的普通电脑,硬件配置有限,能够同时运行的虚拟机系统不多,2到3台基本上就能把性能榨干了。
而像阿里云这样的大厂,背后使用的硬件服务器性能都非常强悍,企业级云服务器实例的CPU以Intel至强系列为主,具有非常多的核心,再配合多CPU+超线程技术,一台物理服务器,提供的逻辑CPU核心数相当可观。
我们看来一个例子。
这是阿里云官网上一台入门级的云服务器产品:
实例的类型是:共享标准型s6。
可能很多人没有注意,在选择服务器配置的时候,在最终的付款页面,服务器的CPU,前面有一个字母v:
v就是virtual虚拟的意思,阿里云官网也对此进行了说明:
在阿里云的云服务器实例规格页面,可以看到这个实例采用的CPU型号:
Intel ® Xeon ® Platinum 8269CY
然而,在Intel的官网,并没有找到这款处理器的信息。
后来了解到这是Intel为阿里云定制的,通过搜索引擎查到了这款CPU的配置信息:
关键词:26核52线程。
也就是这款CPU有26个核,在开启超线程的情况下,每个核可以同时执行两个线程,那总共就是虚拟出了52个虚拟核。
关于超线程技术,我之前写过一篇有趣的故事,方便大家了解超线程的原理,详情参见:
而阿里云的硬件服务器,通常不止有一个CPU,而是多个CPU。
我们以4个CPU为例,4*52就是208核!
这样一算,一台这种服务器,可以虚拟出非常多少个云服务器实例出来!
虚拟化技术
那一台硬件物理计算机,到底是如何虚拟出很多个虚拟机出来的呢?
众所周知,计算机中负责执行指令代码的是CPU,我们普通进程中的指令是物理CPU在执行,那虚拟机中的那些进程呢?它们的程序代码怎么执行呢?
总不能不加区分的和外面的进程一样执行吧,那怎么体现虚拟机的隔离和安全性呢?
这也就是虚拟化技术的核心问题,在历史上,大概经历了三个时期的发展:
1. 早期的二进制指令翻译技术(以早期VMware为代表)
2. 半虚拟化(以XEN为代表)
3. CPU支持的硬件虚拟化(VT-x技术为代表)
尤其是硬件虚拟化技术的出现让虚拟化技术出现了井喷之势,VirtualBox、VMWare(新)、KVM、Hyper-V等等虚拟化技术纷纷涌现,云计算时代正式到来。
我们知道,服务器一般都选择运行Linux操作系统,而Linux上主流的虚拟化技术就是KVM。
关于虚拟化技术的详细技术发展,轩辕同样写过一篇硬核的技术文章,感兴趣的同学可以看看:
所以,别以为阿里云真的会给你一台物理服务器,那玩意儿可老贵了。
最后,最近很多人都在搞活动,为什么我不搞这个活动呢?
那是因为:
但是现在双11,新用户(以前没有购买过阿里云产品的)白嫖一个云服务器还是挺爽的一件事,用来学习Linux、搭个网站、博客之类的真的挺香的。
这活动我没有搞,但是我的好盆友帅地在搞这个活动,大家如果有需要的话,可以添加帅地的企业微信,添加好友后回复:阿里云,他会给你安排的明明白白!