云计算看这一篇就够了

引言

把Cloud Computing理解为一种全新的使用资源(服务器、网络、存储介质)的思路或方法。通过云计算,将海量的服务器、网络、存储等组织成一个大的资源池,用户可以通过前端随时随地申请可以量化的计算资源、网络资源、存储资源,这种按需划分资源的模式,可以大大提高资源的使用率,并且用户不用关心物理资源存放在哪,也不用自己运维。

openstack和KVM

openstack是云管理平台,其本身并不提供虚拟化功能,真正的虚拟化能力是由底层的hypervisor(如KVM、Qemu、Xen等)提供。所谓管理平台,就是为了方便使用而已。如果没有openstack,一样可以通过virsh、virt-manager来实现创建虚拟机的操作,只不过敲命令行的方式需要一定的学习成本,对于普通用户不是很友好。
OpenStack是用来构建私有云和公共IaaS云的开源架构。
云计算看这一篇就够了
如上图所示,KVM(Kernel-based Virtual Machine)是最底层的hypervisor,是用来模拟CPU的运行,然而一个用户能在KVM上完成虚拟机的操作还需要network及周边的I/O支持,所以便借鉴了qemu进行一定的修改,形成qemu-kvm。但是openstack不会直接控制qemu-kvm,会用一个libvirt的库去间接控制qemu-kvm,qemu-kvm的地位就像底层驱动。

openstack和hadoop

openstack和hadoop的概念从根本上是不一样的:

openstack haddop
云计算架构 大数据分析或处理架构
云操作系统,就好比是windows hadoop是云操作系统下的一个大型分布式计算和存储的软件。
openstack 是云计算平台,说白了就是能够在上面创建虚拟机,管理虚拟机(美其名曰:计算资源虚拟化),管理存储资源(美其名曰:存储资源虚拟化) hadoop可以理解为利用一堆廉价的小型机甚至PC组成一个集群,来实现超级计算机才能达到的计算和存储的目的

KVM和LXC

  • KVM虚拟机是基于硬件的完全虚拟化,注意是硬件级别

  • KVM的特点:

    • KVM 可以安装各种Linux发行版和各种windows版本,也可以是MacOS等等
    • KVM 由于多个虚拟机之间运行单独的内核所以拥有更好的隔离性和安全性
  • LXC 的英文全称是 Linux Containers

  • LXC 严格来说应该是容器,可以提供轻量级的的虚拟化,注意是操作系统级别

  • LXC的特点:

    • LXC 由于是和宿主机共用内核,所以只能安装各种Linux发行版,不能安装windows等其他系统
    • LXC 由于使用宿主机的内核,所以创建多个虚拟机时,开销更小,性能损耗小