云服务器大致原理!
-------------------------------------------------
必须要先严重声明(不可打破的限制):
   1、“CPU/RAM”是有限物理机配置资源
   2、虚拟机实例必须运行在单个物理机上
   3、虚拟机实例不可以跨“物理机”运行,[无法联机执行]
--------------------------------------------------------------------
    大陆局域网上对于云服务器原理说的天花乱坠,我个人认为,这个是不对的一种现象!我就在此处,说一些自己对于云服务器的大致理解吧!如有错误欢迎指出,感谢老铁们!

    首先云服务器是一台虚拟服务器,这个大家都认同这个基本事实吧!OK,那么回到一个问题很多人都在说VPS/VDS/云服务器之间是不一样的,这个从实际角度来说没有本质上的不同,你非要说不同那就是虚拟硬盘可能存在一定不同。
 
    VPS(虚拟专用服务器)
    VDS(虚拟独立服务器)
    云服务器

    目前云服务器主要为两类虚拟化,VPS/VDS实例虚拟化,VDS/VPS只可以在一台物理机上进行虚拟化,如果这台物理机(母鸡)崩溃上面运行的各种VPS/VDS实例都会崩溃,而云服务器是基于它们构建的,自然宕机崩溃是不可能不存在的(别信,虚拟机实例运行在集群之中,这就是绝对扯淡的说法,骗人也不能这么骗不是!!)

    VDS虚拟化技术主要为“hyper-V/vmware-esxi/kvm”,VPS虚拟化技术主要为“XenSystem/OpenVZ/KVM”两者的区别就是:
        1、VDS全虚拟(不超卖,性能最佳)
        2、VPS半虚拟(可超卖,性能一般)

    KVM(QEMU)有点特殊,这东西也可以虚拟化VDS(前提是不超买独占的话)另外KVM只提供全虚拟环境,但还是存在半虚拟化的组成部分(如:mount-virtio),从严格意义上来说不能完全算成全虚拟化技术。

    买 Microsoft Azure 云服务器是你的最佳选择,虽然贵点!基于 Hyper-V 全虚拟化技术,虚拟出来的云实例就是VDS服务器了,另外物理机自带显卡,Hyper-V虚拟机可以共享GPU性能,这可以玩云电脑,服务器上8核可以流畅云上放“4K/60FPS”视频,你那虚拟VPS的云服务器试一下,给你24核计算CPU,你都不一定能放的动“1080P/60FPS”的视频,不只是CPU性能还有图形性能,买一台“云服务器”不是应该让自己玩起来更快乐?!(笑~!)

    有人可能会问,云服务器可以随意的调配虚拟硬件的“CPU/RAM”配置,它是通过何种办法解决的?这是一个很有意思的话题,其实这是很多人的认知障碍导致的,这就是一个语言魔法,没什么好神奇的,不要那么大惊小怪!!!
    
    你自己想想你开虚拟机,虚拟化实例的时候,那些CPU/RAM难道不可以随便的调整吗?只要你的物理机硬件资源足够随便你怎么搞,云服务器是相同的道理,只是在这个上面做了一些加工!!!

    你见过那个不关机就可以随便调整“RAM/CPU”且生效的云服务器吗?没有对吧,这是永远不可能存在的,都是须弥假象!!我最讨厌某些人弄虚作假了,不能不关机的情况下调整“CPU/RAM”立即生效,闹什么调整立即生效!!!(我都关机了在重新开机,这叫什么立即生效!!!说我杠了,我都抗了,怎么滴了!)

    这里涉及到两个东西,虚拟硬盘,承载物理硬件!!!

很多朋友知道把虚拟机的硬盘映像文件复制到另一台物理机上面,重新配置一台虚拟机实例使用这个虚拟硬盘映像(也可以重新调配“CPU/RAM”的配置),重新开机里面的数据不会丢失(例如:系统/APP/驱动),是的云服务器并没有把这个玩出花来,它就是这么干的,只是技术上显得会更加高明、更高级一些!!!

    但是目前虚拟硬盘(云上叫云硬盘)主要有两种类型,一种假云硬盘,一种真云硬盘,这玩意理解上就跟“Microsoft 网络硬盘”是差不多的一个东西!!!真/假云硬盘,都是一群大佬玩出来的新花样,我在此处大概说一下两种有什么不同。

    1、假·云盘技术
       原理:
             基于虚拟机磁盘映像的快照备份
       优点:
             实现容易
       缺点:
             1、存在一定丢档风险(周期段)
             2、对于母鸡硬盘I/O占用大(阶段性)
             3、内核I/O缓冲区数据,会丢失!
             4、物理机硬盘故障导致数据丢失

    2、真·云盘技术 
       原理:
             重写虚拟机底层磁盘I/O设备,捆绑云盘ID,读写通过万兆网络交付到存储集群之中处理  
       优点:
             1、数据丢失风险低(内核I/O缓冲区数据,会丢失!)
             2、云硬盘容量可扩容(非增加一个新云硬盘,而是扩容,理论上也可以减容)
       缺点:
             1、实现复杂(相对)
             2、云硬盘I/O性能及其垃圾(SSD云盘性能也是差的不行)
             3、云硬盘性能受限于“万兆网卡/母鸡CPU”(10Gbps/8 一般: 100MB)
             4、多虚拟机实例共享物理网卡(I/O效率上,是你必须要懂滴!)
             5、集群故障可能导致彻底崩溃,云盘数据存在Version,最新版本数据,由于某些原因可能被擦除!

    A:基于假云盘技术的云服务器,在重新调配硬件资源的时候,重新开机可能所需准备就绪时间会很长(涉及到传送到目的物理机上虚拟硬盘快照)也可能时间很短(目的物理机上已有虚拟硬盘快照备份)
    
    B:基于真云硬盘技术的云服务器,在重新调配硬件资源的时候,重新开机所需要就绪准时间会很短。

    重新调配虚拟机实例资源配置,RAM/CPU配容,基本都是通过在释放中的待续“物理机服务器池子”之中分配物理承载实例,举个例子:池子之中有1~10台物理机,每个物理机CPU/RAM设定为128C/256G,运行了一部分虚拟机,只要通过一定的算法在池子之中分配一个物理机实例,然后再把云硬盘挂在到目的物理机上面,之后把虚拟机的网卡MAC、IP路由表重新绑定更新就可以了,这样子就实现了云服务器硬件的动态调配扩容。

     但这里存在超卖现象,只要不是“vmware-esxi/hyper-v”之类的全虚拟方案都存在一定的服务器超卖现象,池子可能无法分配出足够的物理机资源用来虚拟化,但是又要让云服务器实例可以分配出来就会存在超卖现象,这东西仁者见仁智者见智了,某些良心的可能会搞“CPU/RAM积分制”云服务器,不良心的超卖,卖到整个母鸡上跑的云服务器实例一起爽歪歪!!!(毕竟赚钱是第一要素,可以理解!但是超卖服务器还卖那么贵,这个就有点伤人了!!)

    云服务器调配硬件配额的流程简述为:分配额定配置虚拟机资源 -> 绑定虚拟机云硬盘 -> 绑定MAC/IP路由表 ->重新开机云服务器实例!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐