OpenStack云系统
1 云计算出现的原因
2 开源云管理平台选择
3 云管理平台分类
4 核心模块
① Nova:弹性计算模块,围绕虚拟机相关的所有操作(KVM,Xen,Linux Container)
② Neutron:网络模块(LinuxBridge+vlan,open vswitch+vlan/gre/vxlan)
③ Cinder:块存储模块(EBS共享存储)(Ceph、GlusterFS、SheepDog)
④ Swift:对象存储模块,类似于AWS的S3,是目前最好的网盘的底层实现技术
⑤ KeyStone:认证鉴权模块,目前支持多租户,但是不支持多级租户的组织结构以及租户的嵌套,发展趋势是KeyStone与第三方认证鉴权软件相配合。
⑥ Glabce:镜像管理模块,有两个版本的API。目前功能较简单。
5 openstack部署
① Ubuntu 14.04 64bit os(最好安装双系统)
② Devstack自动化部署,可以参照blog练习:https://blog.csdn.net/ustc_dylan/article/details/17732911
③ 代码开发调试环境:eclipse+pydev+egit(单步调试)
6 硬件虚拟化
在x86体系结构中,CPU包括4个运行级别(也可以叫特权级别),特权级别从高到低依次是Ring0、Ring1、Ring2、Ring3。
CPU这么设计的原因呢,是想让CPU上跑的操作系统和应用运行在不同的级别上,这样就从硬件层面上实现了操作系统和应用的隔离。
但是Linux在设计的时候,他只用了CPU的Ring0、Ring3:Ring0用来跑操作系统,Ring3用来跑操作系统上的应用。
另外,操作系统会将用户态和内核态对应的特权级上(即用户态对应的Ring3、内核态对应的Ring0),二者之间通过系统调用实现切换。 这里结合虚拟机来说,虚拟机本来就是应用程序,因此它跑在Ring3;而对虚拟机管理的VMP,它跑在Ring0,即内核态。
7 openstack软件层次结构
openstack整个软件的层次结构,分别是:虚拟机VM(位于最上层)、虚拟机管理软件Hypervisor、物理机。
最上层的就是用户虚拟机,再往下就是组装这些虚拟机的各个服务模块,如Nova、Cinder、Glance。再往下就是openstack的驱动层,即openstack驱动调用了Hypervisor的上的软件系统调用。对于KVM来说,就是调用了LibVirt,LibVirt是对软件虚拟化的一个封装。所以LibVirt再往下又调用了KVM虚拟化软件的命令,
QEMU、KVM有什么区别?答案: