云计算环境下高性能私有主机服务构建的研究与实现
发布时间:2020-08-15 21:02
【摘要】:伴随着云计算的不断发展,依托虚拟化技术的云主机受到了各行各业的追捧,用户不再像往常一样提前一次性购买硬件服务设备,而是直接按需租用,不仅极大满足了业务构建,同时降低整个IT成本,其中的便利不言而喻。大多数云产商提供的云主机服务处于公有云模式之下,更多的是为了考虑每个用户群体的基本需求,所以涉及的功能繁多,整体结构复杂,涵盖各种技术生态,这对于一些特定环境下的群体并没有普适性,反而会因为云主机服务的接入分散工作重心,导致整体工作效率下降。本论文旨在构建一套私有环境下基于KVM虚拟化技术并且面向项目开发团队的高性能私有主机服务,本文从功能以及性能的角度入手对私有主机服务构建进行需求分析,基于此设计了高性能私有主机服务架构,完成主机控制、主机分配、主机迁移、镜像管理四个模块的划分。主机控制模块完成私有主机服务基本功能架构,实现对用户访问的认证以及请求服务的鉴权,设置主从管理节点保证可靠性,同时协同宿主工作节点完成私有主机具体执行操作,采用心跳检测机制对主机控制各个节点进行监控,保证节点的健康运行;主机分配模块借鉴于OpenStack的主机调度策略,并针对本文私有主机服务进行优化与引入,实现多因子动态权重调度策略,综合考量宿主节点多资源因子负载变化以及用户对私有主机服务的偏向性要求,为用户提供综合性能更优的宿主运行环境;主机迁移模块采用双阈值触发次数联合判断机制,确定私有主机最佳的迁移时机,选择与当前宿主节点资源消耗最为匹配的私有主机迁移,并结合主机分配模块,选择合适的宿主运行环境迁入,大大提高整体服务性能的稳定;镜像管理模块主要结合分布式文件系统MooseFS对私有主机镜像模板进行统一管理,为用户提供便利的同时避免各个宿主节点镜像的无端蔓延。另外对高性能私有主机服务各模块涉及到的功能进行测试,确认模块功能满足预期需求,同时通过性能测试,确保私有主机系统可以满足用户更高性能的服务需求。
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP302
【图文】:
虚拟化解决方案随着云计算的发展,业界因此也不断涌现出较多的虚拟化解决方案,源的如 KVM 和 Xen,后备有庞大的开发社区支撑,给了很多虚拟化技个深入研究与学习的机会。此外,将虚拟机作为商品出售给终端用户,商业化的虚拟机解决方案,我们常见的 VMware 和 Hyper-V 正是迎合。) KVMVM 全称为 KernelVirtualMachine。最初是由一家名为 Qumranet 的以司开发的,后期被红帽公司收购[13]。KVM 开发人员没有直接从底rvisor 进行构建,而是基于现有的 Linux 内核完成开发,通过命令 mo载 KVM 模块,这使 Linux 内核自己承担虚拟机管理器工作。KVM 在被内核社区所接纳,成为随 Linux 内核发布的轻量型模块,通过与 Linu结合,让 KVM 可以直接获益于最新的 Linux 内核开发成果,因此 KVM就得到迅速的发展。
KVM 可以使用 Linux 支持的任何存储来对虚拟机镜像进行存储 虚拟化在计算能力以及网络带宽上已经可以达到非虚拟化原生环境的性能[15],扩展性也极为出色。) Xenen 是一个直接在宿主机物理硬件上运行的虚拟机管理程序[16]。Xen 通拟机之间插入一个虚拟化层,从而将这些宿主物理机的硬件资源转的计算资源池[17],Xen 将资源池的资源动态分配给任何操作系统或虚拟主机运行的操作系统能够与虚拟资源交互,底层虚拟实现对其透接使用物理资源一样。en 按照微内核的形式来被设计,但其自身仅仅对 CPU 以及内存的资控制。如下图 2-2 所示,在 Xen 上跑的所有虚拟机中,存在有一个特机,这个虚拟机中运行的就是修改后并支持准虚拟化的 Linux 操作系拟机管理着大部分的输入输出设备,所以 Xen 并不直接控制。Xen 大部分 Linux 内核成熟代码,在完成并控制系统之间隔离的同时对加有效的管理调度[20]。.
图 3-11 管理节点工作处理模式图1) 管理节点主线程通过调用 epoll_wait()来对 socket 进行监听。2) 管理节点获得私有主机操作请求,主线程接收执行指令以及参数内容并返回的连接 socket 派发到宿主节点连接处理的某个工作线程。主线程和作线程之间通过最方便且简洁的通信方式管道来进行写数据。3) 然后新 socket 上的操作由被选中的工作线程来处理,工作线程检测管道机控制操作信息,将该新的 socket 上的读写事件注册到自己的 epoll 内事件表中,并与宿主工作节点进行通信,传输控制执行指令给宿主工作点具体判断执行。4) 这样每个主机控制传输工作线程都维护着自己的事件循环,每个线程都在异步的工作模式之下。3.3.2 心跳检测设计心跳检测主要是判断控制执行涉及到的管理节点以及宿主工作节点是否处
本文编号:2794643
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP302
【图文】:
虚拟化解决方案随着云计算的发展,业界因此也不断涌现出较多的虚拟化解决方案,源的如 KVM 和 Xen,后备有庞大的开发社区支撑,给了很多虚拟化技个深入研究与学习的机会。此外,将虚拟机作为商品出售给终端用户,商业化的虚拟机解决方案,我们常见的 VMware 和 Hyper-V 正是迎合。) KVMVM 全称为 KernelVirtualMachine。最初是由一家名为 Qumranet 的以司开发的,后期被红帽公司收购[13]。KVM 开发人员没有直接从底rvisor 进行构建,而是基于现有的 Linux 内核完成开发,通过命令 mo载 KVM 模块,这使 Linux 内核自己承担虚拟机管理器工作。KVM 在被内核社区所接纳,成为随 Linux 内核发布的轻量型模块,通过与 Linu结合,让 KVM 可以直接获益于最新的 Linux 内核开发成果,因此 KVM就得到迅速的发展。
KVM 可以使用 Linux 支持的任何存储来对虚拟机镜像进行存储 虚拟化在计算能力以及网络带宽上已经可以达到非虚拟化原生环境的性能[15],扩展性也极为出色。) Xenen 是一个直接在宿主机物理硬件上运行的虚拟机管理程序[16]。Xen 通拟机之间插入一个虚拟化层,从而将这些宿主物理机的硬件资源转的计算资源池[17],Xen 将资源池的资源动态分配给任何操作系统或虚拟主机运行的操作系统能够与虚拟资源交互,底层虚拟实现对其透接使用物理资源一样。en 按照微内核的形式来被设计,但其自身仅仅对 CPU 以及内存的资控制。如下图 2-2 所示,在 Xen 上跑的所有虚拟机中,存在有一个特机,这个虚拟机中运行的就是修改后并支持准虚拟化的 Linux 操作系拟机管理着大部分的输入输出设备,所以 Xen 并不直接控制。Xen 大部分 Linux 内核成熟代码,在完成并控制系统之间隔离的同时对加有效的管理调度[20]。.
图 3-11 管理节点工作处理模式图1) 管理节点主线程通过调用 epoll_wait()来对 socket 进行监听。2) 管理节点获得私有主机操作请求,主线程接收执行指令以及参数内容并返回的连接 socket 派发到宿主节点连接处理的某个工作线程。主线程和作线程之间通过最方便且简洁的通信方式管道来进行写数据。3) 然后新 socket 上的操作由被选中的工作线程来处理,工作线程检测管道机控制操作信息,将该新的 socket 上的读写事件注册到自己的 epoll 内事件表中,并与宿主工作节点进行通信,传输控制执行指令给宿主工作点具体判断执行。4) 这样每个主机控制传输工作线程都维护着自己的事件循环,每个线程都在异步的工作模式之下。3.3.2 心跳检测设计心跳检测主要是判断控制执行涉及到的管理节点以及宿主工作节点是否处
【参考文献】
相关博士学位论文 前1条
1 宋翔;多核虚拟环境的性能及可伸缩性研究[D];复旦大学;2014年
相关硕士学位论文 前7条
1 张宁宁;基于Xen的虚拟机动态迁移技术研究[D];华中科技大学;2015年
2 罗斌;基于OpenStack的混合云负载均衡方法研究与实现[D];华中科技大学;2015年
3 王星;云计算环境下跨虚拟机的边信道攻击技术研究[D];西安电子科技大学;2013年
4 张涛;基于WDDM驱动的DirectX视频加速重定向框架设计与实现[D];浙江大学;2013年
5 戴宝龙;基于moosefs分布式文件系统的研究和应用[D];北京邮电大学;2011年
6 陈建;基于Xen的domain0内核的研究[D];浙江大学;2008年
7 郭晓琼;虚拟机Xen及其内存管理研究[D];上海交通大学;2008年
本文编号:2794643
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2794643.html