精华内容
下载资源
问答
  • 作者:刘科,携程系统研发平台桌面虚拟架构师,多年从事分布式计算、通信系统平台设计、开发。本文为刘科在第六期[携程技术微分享]中的分享内容。 责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件...

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。
    作者:刘科,携程系统研发云平台桌面虚拟架构师,多年从事分布式计算、通信系统平台设计、开发。本文为刘科在第六期[携程技术微分享]中的分享内容。
    责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN 高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。

    OpenStack是当前最主流、最热门的云平台,携程OpenStack环境除了应用在携程网站,还广泛应用于携程呼叫中心的桌面云系统。作为业界最领先的呼叫中心之一,携程服务联络中心几万员工365x24小时提供全球化服务,让说走就走的亲们毫无后顾之忧。

    桌面云极大地提升了IT运维效率,显著降低了用户故障率,是未来IT的一大发展趋势。那么携程是如何把这两者高效结合部署于携程呼叫中心的?

    本文将主要分享携程呼叫中心广泛使用的桌面云系统,介绍这套基于OpenStack的云桌面系统架构以及在开发过程中碰到的一些OpenStack相关问题,并分享云桌面系统运维、监控、自动化测试等。

    一、为什么要使用虚拟云桌面

    1、背景

    携程呼叫中心,即服务联络中心,是携程的核心部门之一,现有几万员工。他们全年7x24小时为全球携程用户提供服务。以前呼叫中心桌面使用台式PC,随着业务规模扩大,PC维护量倍增,需要投入大量人力、物力、财力来报障系统稳定运行。为此,携程正式引入虚拟云桌面。

    图片描述

    虚拟云桌面是什么?如图所示,用户桌面PC机换成了一个云桌面瘦客户端(ThinClient,TC)。所有的CPU、内存、硬盘都在云端。云端跑满虚拟机,用户桌面通过瘦客户端连入虚拟机使用Windows。其中,虚拟机采用QEMU加KVM实现,云环境用OpenStack进行管理,远程桌面协议是第三方高度定制、修改过的spice协议。

    2、云桌面的优势

    第一,运维成本。PC部署以及系统软件安装耗时较长,云桌面后台5分钟一台自动交付可供用户使用的虚拟机;PC扩大部署投入巨大,云桌面只需要购买少量服务器接入云系统,快速扩大部署。

    第二,故障处理效率。PC有问题,有可能需技术人员到用户现场开箱检查,故障排查耗时较长,严重点的硬件问题如需更换配件,等待周期更长。云桌面故障标准是5分钟处理完毕。对于5分钟无法解决的问题,只需后台更换虚拟机解决。

    第三,运维管理。PC分散在用户桌面,运维需要用户配合(比如保持开机)。云桌面提供了运维系统,只需设定好时间、安装任务参数,系统会全自动进行安装维护。同时,瘦客户端轻量,无任何用户数据,对用户也带来极大便利。典型的如用户位置迁移,云桌面无需搬移,只需用户到新位置登录即可。

    最后,云桌面整体低碳、环保。瘦客户端功率跟普通节能灯相近,比PC低一个数量级。

    3、携程云桌面现状

    携程云桌面现已部署上海、南通、如皋、合肥、信阳、穆棱六个呼叫中心。几百台计算节点、近万坐席,而且规模还在不断扩大中,新的呼叫中心也在计划中。

    同时,云桌面平台故障率、瘦客户端故障率也远低于PC故障率。下图是携程运维部门的故障率统计图。

    图片描述

    二、如何实现虚拟云桌面

    1、云桌面原架构

    图片描述

    携程云桌面后台云平台在实践中进行了多次迭代,原有架构如上图所示。该架构特点是,直接在OpenStack Nova进行定制开发,添加了分配虚拟的接口,实现瘦客户端直接访问OpenStack获取虚拟机信息。

    这个架构下,云桌面平台可以直接访问全部的虚拟机信息,直接进行全部的虚拟机操作,数据也集中存在OpenStack数据库,部署方便。用户权限通过OpenStack Keystone直接管控,管理界面使用OpenStack Horizon并添加云桌面管理页面。

    图片描述

    典型的分配虚拟机用例中,瘦客户端通过OpenStack Keystone进行认证、获取Token,然后访问Nova请求虚拟机。如上图所示,瘦客户端会通过Keystone进行认证,Keystone确认用户存在后向域LDAP进行密码校验,确认用户合法后返回Token;瘦客户端再通过Token向Nova申请虚拟机。

    Nova根据瘦客户端设置的坐席信息,首先查找这个坐席是否已分配虚拟机。如有直接返回对应虚拟机。如无,从后台空闲虚拟机中进行分配并更新数据库分配,返回远程桌面协议连接信息。

    2、原架构局限性

    随着业务增长,原架构出现一些局限性,首先,业务与OpenStack呈强绑定关系,导致OpenStack升级涉及业务重写;修改业务逻辑需要对整个云平台做回归测试。

    其次,用户必须要是Keystone用户,用户管理必须使用Keystone模型。导致Keystone与LDAP之间要定期同步进行,有时还需手工同步特殊用户。

    管理层面,因为Horizon的面向云资源管理的,但业务主要面向运维的。这部分差异,导致我们开发新的Portal来弥补,管理人员需要通过两套系统来进行运维。

    整体方案上,云桌面远程桌面协议由第三方提供,如果第三方方案不支持OpenStack,就无法在携程云桌面系统使用。

    最后,用户部门有各种需求,直接在OpenStack内进行开发难度大,上线时间长,开发人员很难实现技术引领业务发展。

    3、新架构

    经过架构调整,新架构实现了OpenStack与我们的业务解耦,同时适应用户部门的业务发展方向,方便功能快速迭代上线。

    图片描述

    从图中可以看出,云桌面业务逻辑从OpenStack中独立出来,成为了VMPool,Allocator;管理层独立开发一套面向IT运维的Portal系统,取代Horizon;云平台可直接原生的OpenStack。

    其中VMPool负责维护某种规格虚拟机的可用数量,避免需要的时候没有虚拟机可用,让用户等待。Allocator满足符合条件的用户请求,返回用户对应的虚拟机或者从VMPool分配虚拟机分配用户。

    图片描述

    对于用户分配虚拟机的典型用例,与原有架构改动较大。首先,业务层瘦客户端将直接访问业务层的API。API层会直接通过LDAP进行用户认证,并获取用户OU、组别等信息。

    接着,业务层将进行用户规则匹配。每个Allocator通过用户组、OU、tag等进行规则匹配,以确定该用户是否由自己进行服务。如不满足Allocator所定义的规则,将按Allocator的优先等级,继续选取下一个Allocator进行匹配,直到匹配或者默认规则为止。

    匹配后,如果是有绑定关系的分配规则,比如用户绑定或者坐席绑定、TC绑定,那Allocator将直接从数据库返回已有的绑定;如果无绑定关系,Allocator就会从对应的VMPool分配一台虚拟给,返回给用户。

    最后,对用户部门来说,看到的是用户属于一个组,这个组对应特定的虚拟机。只需调整用户属性,即可实现用户分配特定的虚拟机,充分满足他们的各种需求。

    三、大规模部署中遇到各种坎

    1、软件版本选取

    在搭建OpenStack前,必须进行需求分析,确定所需的需求。然后根据需求选取满足条件的OpenStack及相关组件的版本,以避免后期出现各种系统及虚拟机问题。

    我们根据携程呼叫中心的业务需要,选好了几个版本的KVM、QEMU,以及OpenVSwitch,在选取能适配它们的几个可用kernel、Libvirt版本,并剔除了不稳定版本或者有已知问题的版本,将这些组件组成合理的组合,进行7x24小时用户模拟自动测试,找到最稳定、合适的并满足需求的,作生产上线使用。

    2、资源超分

    超分与应用场景强关联。一定要首先确定需求,是CPU密集、内存密集、IO密集还是存储密集。在做了充足的用户调查后,我们准备了大量用户模拟自动化脚本,进行自动化测试,以选取最合理超分值。

    从我们的测试结果看,瓶颈主要是内存。内存超分过度会导致主机直接OOM(Out Of Memory)宕机。Windows及Windows应用吃内存比较严重,特别是像Chrome这些程序,优先占用内存先。虽然我们使用KSM(Kernel Samepage Merging,相同内存页合并功能),省了一些内存,但最终上线也只能达到1:1.2的超分。

    对于IO,在Windows启动阶段比较明显。大量Windows同时启动时会造成启动风暴情,在我们的极端条件测试中出现过启动Windows需要40分钟,硬盘IO 100%使用,每个读写请求平均0.2秒响应。所以,在大规模部署时,对虚拟机并发开机数一定要有一定限制。同时,硬盘一定要多块做RAID,以提供更高的IO吞吐量。

    最后是CPU。 CPU过度超分会严重影响用户体验。但是一般不会造成宿主机宕机。在我们的测试条件下,超分到1:2用户体验开始下降,所以实际上线超分不多。

    最终我们现在生产环境,是以内存为标准进行超分,硬盘、CPU控制在可接受范围。

    3、网络细节

    多DNSMasq实例问题

    我们虚拟机的IP地址通过DHCP获取。DHCP服务端我们使用的DNSMasq比较老,只是简单的实现了多实例运行,但并未真正实现绑定到虚拟接口。

    在生产环境,我们观察到VM都能获取IP,但是在续租IP的时候大量失败。经抓包分析,虚拟机在第一次请求IP时,由于自身无IP地址,使用的是广播方式进行DHCP请求;在续租时,由于本身有IP地址,也已明确DHCP服务端地址,所以采用IP点对点单播请求。

    服务端,多个DNSMasq实例运行的情况下,如果是广播包,所有DNSMasq都收到消息,所有广播请求能正确回复。在单播情况下,只有最后启动的DNSMasq能收到请求,最终导致虚拟机得不到正确的DHCP续租响应。最终我们通过升级DNSMasq解决。

    宿主机重启导致虚拟机网络不通

    在物理机重启后,有时会出现VM网络不通。经过调查,我们分析出根本原因是libvirt, ovs的启动、关闭顺序。

    在正常情况下,libvrit退出时会删除它管理的OpenVSwitch Port以及它创建的对应的Tap虚拟网卡。libvirt启动时会创建需要的Tap网卡,并请求OpenVSwitch 创建对应的Port建立虚拟连接。

    逻辑上,OpenVSwitch Port相当于交换机网口。Tap网卡,相当于PC的网卡。他们之间需要连线网络才能正常通信。

    如果关机时,OpenVSwitch比Libvirt先停止,Libvirt将不能成功删除它管理的OpenVSwitch Port ;开机时,如果OpenVSwitch先启动,它将建试图重建之前存在的port。但因为Libvirt还未启动, OpenVSwitch Port对应的Tap网卡还未创建(即虚拟网口对应的虚拟网卡不存在),OpenVSwitch重建Port最终失败并且Port将被销毁。

    由于Port信息对OpenVSwitch来说是用户配置信息,OpenVSwitch并不会从数据库中清理掉对应的Port记录。所以等到Libvirt启动调用OpenVSwitch创建Port时,OpenVSwitch发现数据库里面已经存在这些Port,所以并未真正触发Port重建,最后造成VM网络不通。

    最终我们通过开、关机顺序调整实现问题修复。

    RabbitMQ长连接

    RabbitMQ是OpenStack使用的一种消息交交互组件。OpenStack在某些时候,会出现无法创建虚拟机的情况。通过日志分析我们发现计算节点没有收到对应的创建请求消息。然后抓包分析进一步发现,TCP数据包被防火墙拦截、丢弃。原来防火墙对TCP会话有数量限制,会定期丢弃长久无数据交互的TCP会话。

    在了解根本原因后,一方面通过定期自动冒烟测试保证网络不空闲,一方面想解决方案。从应用层面上,我们调研到RabbitMQ已经有心跳机制,但要升级。由于升级影响范围太广,最终没有进行。

    接着我们对网络层面进行了调查,发现TCP本身有Keepalive保活机制,同时RabbitMQ代码本身也有TCP保活,但默认不开启。最后我们通过启用RabbitMQ TCP保活机制,设置一个合理的保活间隔解决问题。

    四、系统稳定背后的黑科技

    1、运维工具

    运维是云桌面的一大难题,为此我们专门设计了运维系统,通过两套SaltStack系统实现了对瘦客户端与虚拟机的管理;通过Portal系统实现对整个系统的管理。

    具体功能上,运维上,实现了对虚拟机、宿主机的可视化监控、管理,并能对虚拟机实现远程管理;对IT管理人员,实现了自动化的软件安装、文件下发、密码修改、数据找回,、发送通知等功能;对资产管理员,实现了TC状态监控,TC异常情况及时发现。还有其它大量工作仍在开发进行中。

    2、监控告警

    监控方面,除了常规的服务器、操作系统层面的监控,我们实现了大量业务层监控。比如通过监控已经连接云桌面的瘦客户端用户输入事件,实现实时活跃用户监控,使得我们能实时监控系统负载、用户数量。通过对比部门排班,第一时间发现用户数异常。

    同时,对OpenStack 的各种告警、ERROR的也添加了监控,确保云平台的稳定。 对虚拟机网络、CPU等也进行了相应监控,确保虚拟机对于用户的高可用性。

    3、自动化测试

    通过在瘦客户端实现用户输入输出模拟,我们实现了全自动的测试环境。我们搭建了专门的云桌面测试实验室,数十台盒子进行7x24小时自动测试,全力验证系统各项变更,支持业务各种研究探索,保障系统稳定性。

    同时,通过传统的CI框架,我们搭建了代码的单元测试、集成测试环境,已经大量的线上测试用例,不仅有力的保障了软件质量,还能定期对线上系统进行体检,第一时间发现系统异常。


    2016年9月22日-23日,SDCC 2016大数据技术&架构实战峰会将在杭州举行,两场峰会大牛讲师来自阿里、京东、苏宁、唯品会、美团点评、游族、饿了么、有赞、Echo等知名互联网公司,共同探讨海量数据下的应用监控系统建设、异常检测的算法和实现、大数据基础架构实践、敏捷型数据平台的构建及应用、音频分析的机器学习算法应用,以及高可用/高并发/高性能系统架构设计、电商架构、分布式架构等话题与技术。
    9月4日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需499元,5人以上团购或者购买两场峰会通票更有特惠,限时折扣,预购从速。(票务详情链接)。

    展开全文
  • openstack云桌面杂记

    千次阅读 2018-12-07 18:43:54
    实验室买了个服务器,托管在学校机房,...主机上面搭载了一个centos7 server,然后用openstack做了虚拟化以提供多用户使用,我们希望能够像云桌面一样简单易用。于是趁机了解了一下openstack虚拟化技术,原文出自h...

    实验室买了个服务器,托管在学校机房,配置还不错。

    CPU: 2 * XEON E5-2680V4

    GPU: 8 * NVIDIA V100

    内存: 128G

    硬盘:240G SSD + 4T企业盘

    主机上面搭载了一个centos7 server,然后用openstack做了虚拟化以提供多用户使用,我们希望能够像云桌面一样简单易用。于是趁机了解了一下openstack虚拟化技术,原文出自https://www.jianshu.com/p/3604632613c3

    桌面虚拟化技术可以定义为将一个计算机资源从另一个计算机资源中剥离的一种技术。在没有虚拟化技术的单一情况下,一台计算机只能同时运行一个操作系统,虽然我们可以在一台计算机上安装两个甚至多个操作系统,但是同时运行的操作系统只有一个;而通过虚拟化我们可以在同一台计算机上同时启动多个操作系统,每个操作系统上可以有许多不同的应用,多个应用之间互不干扰。

    通过虚拟化桌面我们可以有效提高资源的利用率。在数据机房我们经常可以看到服务器的利用率很低,有时候一台服务器只运行着一个很小的应用,平均利用率不足10%。通过虚拟化我们可以在这台利用率很低的服务器上安装多个实例,从而充分利用现有的服务器资源,可以实现服务器的整合,减少数据中心的规模,解决令人头疼的数据中心能耗以及散热问题,并且节省费用投入。

    目前市场上已经有VMware Horizon Viewer 、Citrix XenDesktop和微软VDI方案等成熟的商业解决方案,但是价格不菲,不是所有企业都能接受。近几年,随着KVM虚拟化技术逐渐成熟,很多桌面虚拟化解决方案开始以KVM为虚拟化引擎。

    桌面虚拟化用户的桌面操作系统集中运行在服务器端,服务器端应用VMware、Xen、KVM和Typer-V等虚拟化技术,在一台物理服务器上运行多个桌面操作系统;而用户使用PC、瘦客户端等终端设备,通过RDP、PCoIP和Spice等远程访问协议连接到桌面操作系统。由此可见,虚拟化技术和远程访问协议是VDI的两大核心技术。

    桌面虚拟化相对于传统的PC优势

    (1)降低硬件成本。VDI环境通常物理机的虚拟化比例非常高,例如在笔者的环境中,一台物理机要运行50台Windows 7虚拟机,给用户配置50台PC的成本显然远高于一台服务器的成本。

    (2)降低运维成本,提高可管理性。在传统的公司中,每个员工都有自己的办公PC,这种分布式架构给IT工程师的维护工作带来很多不便。使用桌面虚拟化,所有桌面操作系统集中在服务器,方便管理,为员工分配一个新的 PC工作变成了仅仅需要部署一台新的虚拟机,并升级系统的操作可能变成了仅需要替换虚拟机模板;而且,服务器的故障率远低于普通PC,增加了桌面操作系统的稳定性。

    (3)使移动办公变为现实。例如用户在公司编辑了一半的文档、打开的应用程序,在其他任何地方,只要通过远程连接到同一台虚拟机,就可以继续之前的操作。

    都有那些虚拟化桌面技术

    kvm桌面虚拟化

    kvm是linux自带的一款优秀虚拟化软件,和xen都是开源的,所以很多中小企业选择kvm搭建自己的云平台。

    KVM是Kernel  Virtual  Machine的简写,目前Red  Hat只支持在64位的RHEL5.4及以上的系统运行KVM,同时硬件需要支持VT技术。KVM的前身是QEMU,2008年被Red  Hat公司收购并获得一项hypervisor技术,不过Red  Hat的KVM被认为是将成为未来Linux  hypervisor的主流,准确来说,KVM仅仅是Linux内核的一个模块。管理和创建完整的KVM虚拟机,需要更多的辅助工具。

    KVM代表基于内核的虚拟机,它与KVM(键盘、显示器和鼠标)切换器没有一点关系。与大多数主要的竞争对手(包括VMware的虚拟机管理程序、VirtualBox和Xen)相比,KVM这个项目显得资历有点浅。它还有别于其他的许多虚拟化工具,原因在于它致力于与内核本身进行深度集成,因而从理论上来说,比主要存在于用户空间(user space)中的虚拟机管理程序在性能上更有优势。

    KVM肯定不是市面上唯一的免费或开源的虚拟化平台,但它却是开源生态系统中唯一与特定商业利益集团没有关联的主要的虚拟机管理程序。Xen也是免费的、开源的,但是它归思杰所有。虽然VirtualBox代码大部分是开放的,但是一些代码是专有的,属于甲骨文。而VMware实际上就是闭源。

    长期以来,KVM一直在扮演后来者的角色,拼命追赶历史更久、更成熟的虚拟化产品。但是近几年它渐渐流行开来,现在支持一系列广泛的高级功能,包括但不仅限于:

    •处理器虚拟化扩展

    • “实时迁移”运行中的虚拟机

    •USB设备直通

    •处理器和PCI热插拨

    桌面端KVM

    KVM开发人员通常一门心思致力于针对服务器和大规模部署环境来优化这款产品,这在云计算时代很有意义。不过,考虑到这款产品已经很成熟,也许现在是时候把它作为一种切实可行的桌面虚拟化平台方案来考虑了。

    就本身而言,KVM不是特别容易使用。在大多数Linux发行版上,KVM自带的工具在默认情况下只能在命令行上使用,手动配置KVM访客系统很复杂,界面也不大直观。

    不过在virt-manager等工具的帮助之下,建立一个KVM虚拟机,运行作为访客系统的Windows、Linux或其他各种操作系统却快捷又简单。

    如果你的电脑配置是那种低端入门或者老旧平台的,用KVM就可以了,这个是轻量级的虚拟机,资源消耗比vm低,性能有限。

    vmware强大,强大,强大,就这样。

    不过要论最好的虚拟机,当属MAC平台的Parallels Desktop,只不过没有windows客户端,可惜了

    搭建案例:

    http://www.linuxidc.com/Linux/2016-10/136164.htm
    http://blog.csdn.net/qq_21398167/article/details/46413107
    http://jingyan.baidu.com/article/6fb756ec90451f241858fb9c.html

    citrix桌面虚拟化

    Citrix XenServer 是领先的虚拟化管理平台,针对应用程序、桌面和服务器虚拟化基础架构进行了优化。在 XenServer 整合和控制工作量使得任何垂直或任何规模的企业均能够改造其业务 IT 计算基础架构。

    Citrix XenDesktop是一套桌面虚拟化解决方案,可将Windows桌面和应用转变为一种按需服务,向任何地点、使用任何设备的任何用户交付。使用XenDesktop,不仅可以安全地向PC、Mac、平板设备、智能电话、笔记本电脑和瘦客户端交付单个Windows、Web和SaaS应用或整个虚拟桌面,而且可以为用户提供高清体验。

    Citrix® XenApp™是一款按需应用交付解决方案,允许在数据中心对任何Windows应用进行虚拟化、集中保存和管理,然后随时随地通过任何设备按需交付给用户。

    AppDNA 应用测试、纠错和打包、实现应用的轻松迁移部署。

    XenClient 支持在移动和离线的状态下轻松使用虚拟桌面。

    Citrix Receiver 可支持几乎所有类型的客户端,包括Windows、Mac和Linux台式机和笔记本;瘦客户端及最新的iOS、Android、RIM和webOS平板电脑及智能电话。通过支持集中化和虚拟化基础架构,Citrix Receiver可帮助IT部门有效控制用户体验,同时提供足够的安全性和可扩展性,来确保全面的数据、应用和桌面支持。

    VDI-in-a-Box是专为帮助桌面IT部门更简单、自动而且经济高效地完成虚拟桌面管理,同时为用户交付出色的体验而设计的。

    GoToMyPC 远程安全的访问您的Mac或PC。

    hyperv桌面虚拟化

    Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。这也意味着微软会更加直接地与市场先行者VMware展开竞争,但竞争的方式会有所不同。

    Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化[1]  。Hyper-V最初预定在2008年第一季度,与Windows Server 2008同时发布。Hyper-V Server 2012完成RTM版发布。

    Hyper-V 的定位更多偏向于服务器虚拟化,我们除了系统部署配置外,在正常运行的情况下,一般无需长期直接在这个控制台连接到虚拟机上进行操作,为系统保留更多的资源。只要服务器配置强劲,我们可以在Hyper-V创建更多的虚拟桌面会话主机或服务器,用于发布和后台服务,Hyper-V的管理器就如同一台隐形的机柜,机柜中放置中一组各式的服务器,平常没什么大问题时都可以利用3389远程桌面连接来调试服务器。

    百科:https://baike.baidu.com/item/Hyper-V/10508230?fr=aladdin

    vmware虚拟化桌面

    Vmware VDI的优势源自于 VMware 服务器虚拟化的成功及其对 IT 的业经验证的优势。在 VDI 中,ESX Server 包含的不是一系列虚拟服务器,而是虚拟桌面,每个 VM 都是使用用户的操作系统和应用程序载入或动态供应的。它拥有熟悉的用户体验。这是一个VMware的解决方案,而不是一种产品,因为它涉及使用虚拟化去提供虚拟桌面给使用者。

    VMware桌面虚拟化产品主要的功能有:

    ⒈不需要分区或重开机就能在同一台PC上使用两种以上的操作系统。

    ⒉完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料。

    ⒊不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制粘贴功能。

    ⒋有复原(Undo)功能。

    ⒌能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等。

    ⒍热迁移,高可用性。

    vmware工作原理:

    VMware VDI易于管理,它集成了VMware Infrastructure 3和VMware Virtual Desktop Manager 2,通过管理在数据中心上运行的多个PC系统,并进行安全灵活的分发给客户端使用。首先,用户使用Vmware VDI需要以下几个步骤:

    1、 在ESX服务器上创建一个虚拟机

    2、 安装VDI 代理连接

    3、 在虚拟机上安装一个桌面操作系统,如Windows XP或Windows Vista

    4、 接着在虚拟机上安装桌面应用系统

    5、 允许通过网络使用任何一些可能的远程控制选项去远程访问的虚拟桌面系统

    典型的Vmware VDI环境都包括以下几个组件:VMware Infrastructure 3、VMware Virtual Desktop Manager、客户端。此外,要运行 VMware Virtual Desktop Manager 软件,还需要有 Microsoft Active Directory。

    运行Vmware VDI的同时,可以使用VMware Virtual Desktop Manager (VDM),它是一种企业级桌面管理服务器,可安全地将用户连接到数据中心的虚拟桌面,并提供易于使用的基于Web 的界面来管理集中的环境。企业可以在位于中央数据中心的虚拟机内部运行桌面。使用 VMware Virtual Desktop Manager 连接代理,用户可通过远程显示协议(如 RDP)从 PC 或瘦客户端远程访问这些桌面。如图显示Vmware VDI

    使用Vmware VDI 既可以对企业资产进行严格的控制又可以简化桌面管理。这一综合性的桌面虚拟化解决方案可以使用户通过数据中心对虚拟机进行管理,从而取代传统的PC机。

    VDI 是一种基于服务器的计算技术,但是与终端服务或共享应用程序解决方案相比,它能提供一些令人信服的优势:

    1、 与应用程序共享技术不同的是,在集中式服务器上运行的 VMware VDI 桌面是完全独立的,这有助于阻止对桌面映像进行未经授权的访问,并同时提高可靠性。

    2、 使用虚拟机模板和自动部署功能可以轻松地部署 VMware 桌面。而且无需更改应用程序,因为用户只需通过远程连接即可访问同一桌面。

    3、 公司可以利用 VMware Infrastructure 3 组件(如 VMware Consolidated Backup)和共享存储来提供终端服务解决方案目前无法提供的桌面灾难恢复功能。

    4、 VMware VDI 仍享有基于服务器的计算技术所能带来的一些引人注目的好处,包括简化桌面管理以及能够从中央位置升级和修补系统。

    VMware VDI 还避免了大多数刀片 PC 技术(另一种基于服务器的计算技术)的一些缺点。未利用 VMware 虚拟化技术的刀片 PC 需要每一个桌面有一个专用的刀片 PC,而这需要大量的成本。使用 VMware VDI,公司可以实现桌面虚拟化技术在整合和效率方面所能带来的相同好处,同时仍可以为最终用户提供可自定义的个人桌面。

    vmware桌面虚拟化不足

    在拥有以上诸多有点的情况下,VMware VDI当然也存在这一些不足。通过测试人员的报告可以显示,VMware VDI主要的问题是需要强大的数据中心支持。例如,在其运行过程中,每个XP镜像只能提供给一个客户端使用,有N个客户端使用网络镜像,则要在数据中心建立N个这样的XP镜像,ESX上要运行N个XP系统。这对数据存储设备的要求很高。VMware VDI更适宜拥有广大的数据中心或者磁盘阵列的大企业。

    坦白讲,中小企业部署VDI有些得不偿失。首先,网络架构上要求比较高,需要比较完善的数据存储中心,设备冷却,监控等系统配合数据中心连续高效的工作。其次,管理技术的复杂性大大提升,虽然对于原来的啄米那支持降低的成本,但服务器管理的成本提高,所以,很多的中小企业对于部署虚拟化上也持有观望的态度。

    OpenStack与桌面虚拟化系统

    虚拟桌面软件openstack,openstack桌面虚拟化管理平台,已经超越了虚拟桌面软件的范畴而成为一个庞大的虚拟化管理系统平台

    OpenStack是一个NASA和Rackspace2010年6月合作成立的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。OpenStack是一个云平台管理的项目,它不是一个软件,主要参考亚马逊AWS,由很多其他开源软件整合而成的。

    - 以Python编程语言编写

    - 整合Tornado网页服务器、Nebula运算平台

    - 使用Twisted软件框架

    - 遵循Open Virtualization Format、AMQP、SQLAlchemy等标准

    - 虚拟机器软件支援包括:KVM、Xen、VirtualBox、VMware、Hyper-V

    openstack核心组成主要有

    对象存储(Swift):通过key/value的方式实现对文件的存储,现在的云盘就是这样的

    计算管理(Nova):提供虚拟主机,通过虚拟技术(kvm、Xen、VMware等)

    网络管理(Quantum):实现虚拟机的网络资源管理如网络连接、ip管理、公网映射

    块存储(Cinder):为虚拟机提供存储,目前支持ip-san、fc-san等

    镜像管理(Glance):    包含系统的存储空间

    身份认证(Keystone):统一的授权、认证管理

    界面(Horiaon):安装好后,用到的web网页的控制台DashBoard

    Openstack是由很多组件构成的,对外提供统一API而底层实现可以选择各种方式。其中计算组件nova可以使用vSphere作为hypervisor,存储组件cinder可以使用vmdk作为后端存储。

    OpenStack作为云平台,其IAAS层的技术架构范围就包括计算虚拟化,网络虚拟化,存储虚拟化等。它管理的就不仅仅是服务器,还包括数据中心的存储设备,网络设备等等,可以自动的对这些设备进行控制调度,配置等管理,整体管理效率提升更高的层次, 对外按照租户提供各类基础的云服务。

    Openstack和KVM的区别

    KVM是最底层的hypervisor,是用来模拟CPU的运行,然鹅一个用户能在KVM上完成虚拟机的操作还需要network及周边的I/O支持,所以便借鉴了qemu进行一定的修改,形成qemu-kvm。但是openstack不会直接控制qemu-kvm,会用一个libvirt的库去间接控制qemu-kvm。qemu-kvm的地位就像底层驱动来着。

    只有OpenStack没有虚拟化不能创建虚拟机,应该这么说如果不配置虚拟化driver或者driver没有启动,nova是启动不起来的

    这个图解OpenStack讲的不错可以参考:http://bbs.chinaunix.net/thread-4150203-1-1.html

     

    展开全文
  • mitaka-openstack虚拟化云桌面的实现 1. VDI阐述 2.VDI实现方式 3.部署SPIVCE
  • OpenStack部署(图文详解)

    千次阅读 多人点赞 2021-03-04 22:19:05
    OpenStack环境需求环境配置①配置静态地址、主机名②关闭(设置开机不启动)防火墙、核心防护、NetworkManager③配置yum源④安装时间同步服务⑤重启、查看服务状态⑥下载OpenStack 管理工具包、在线部署OpenStack⑦...

    环境需求

    系统CentOS 7.6
    CPU双核双线程/开启虚拟化功能
    内存8G
    硬盘40G+300G
    网卡NAT模式
    选做net.ifnames=0 biosdevname=0 (创建时可修改为eth0网卡)

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    环境配置

    ①配置静态地址、主机名

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    
    BOOTPROTO=static
    IPADDR=192.168.153.70
    NETMASK=255.255.255.0
    GATEWAY=192.168.153.2
    DNS1=192.168.153.2
    DNS2=8.8.8.8
    ONBOOT=yes
    

    在这里插入图片描述

    在/etc/resolv.conf中添加

    nameserver 114.114.114.114
    

    在这里插入图片描述
    重启网卡

    systemctl restart network
    

    ②关闭(设置开机不启动)防火墙、核心防护、NetworkManager

    systemctl stop firewalld
    systemctl disable firewalld
    systemctl stop NetworkManager
    setenforce 0
    

    在这里插入图片描述

    ③配置yum源

    cd /etc/yum.repos.d/
    mkdir repo.bak
    mv *.repo repo.bak/
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    yum -y install centos-release-openstack-train
    yum clean all
    yum makecache
    

    ④安装时间同步服务

    • 同步阿里云时钟服务器(ntp1、ntp2…)、设置周期性任务及设置开机自启
    yum install -y ntpdate
    ntpdate ntp.aliyun.com >>/var/log/ntpdate.log
    crontab -e
    
    */30 * * * * /usr/sbin/ntpdate ntp.aliyun.com
    

    ⑤重启、查看服务状态

    reboot
    

    ⑥下载OpenStack 管理工具包、在线部署OpenStack

    yum -y install openstack-packstack
    packstack --allinone
    

    在这里插入图片描述
    在这里插入图片描述

    ⑦创建br-ex网卡配置文件

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-eth0 ifcfg-br-ex
    sed -i "100d" ifcfg-br-ex
    cat <<EOF >> ifcfg-br-ex
    TYPE=Ethernet
    BOOTPROTO=none
    NAME=br-ex
    DEVICE=br-ex
    ONBOOT=yes
    IPADDR=172.24.4.1
    PREFIX=24
    EOF
    
    systemctl restart network
    
    ifconfig
    

    在这里插入图片描述

    ⑧查看用户信息并登录

    cd /root && cat keystonerc_admin
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    ⑨上传镜像

    在原本的openstack中只有一个镜像
    在这里插入图片描述
    使用xshell的文件传输将镜像文件传进去
    在这里插入图片描述
    在这里插入图片描述
    传入完成后在命令行输入:

    source keystonerc_admin
    openstack image create "test" --file CentOS-7-x86_64-DVD-1810-7.6.iso --disk-format qcow2 --container-format bare --public
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 案例5:部署Openstack: 案例6:网络管理 案例7:管理项目 1 案例1:配置yum仓库 1.1 问题 本案例要求把三个镜像配置yum源: CentOS7-1708光盘内容作为仓库源 配置 RHEL7-extars内容加入仓库源 RHEL7OSP-10光盘中...
    案例1:配置yum仓库
    案例2:配置DNS服务器:
    案例3:配置NTP服务器
    案例4:环境准备
    案例5:部署Openstack:
    案例6:网络管理
    案例7:管理项目
    

    1 案例1:配置yum仓库
    1.1 问题

    本案例要求把三个镜像配置yum源:

    CentOS7-1708光盘内容作为仓库源
    配置 RHEL7-extars内容加入仓库源
    RHEL7OSP-10光盘中包含多个目录,每个目录都是仓库源(可以使用脚本生成)
    

    1.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:配置 yum仓库

    警告:仅yum配置的第一个源(系统源)为gpgcheck=1需要导入公钥,其他的都是gpgcheck=0,否则安装会报错。

    [root@room9pc01 ~]# mkdir /var/ftp/system  
    [root@room9pc01 ~]# mkdir /var/ftp/extras 
    [root@room9pc01 ~]# mkdir /var/ftp/HEL7OSP
    [root@room9pc01 ~]# vim /etc/fstab
    /iso/RHEL7OSP-10.iso  /var/ftp/HEL7OSP iso9660 defaults 0 0
    /iso/CentOS7-1708.iso  /var/ftp/system iso9660 defaults 0 0
    /iso/RHEL7-extras.iso  /var/ftp/extras iso9660 defaults 0 0
    [root@room9pc01 ~]# mount –a
    mount: /dev/loop0 is write-protected, mounting read-only
    mount: /dev/loop1 is write-protected, mounting read-only
    mount: /dev/loop2 is write-protected, mounting read-only
    [root@room9pc01 ~]# vim /etc/yum.repos.d/local.repo
    [local_repo]
    name=CentOS-$releasever - Base
    baseurl="ftp://192.168.1.254/system"
    enabled=1
    gpgcheck=1
    [local_extras]
    name=extras
    baseurl="ftp://192.168.1.254/extras"
    enabled=1
    gpgcheck=0
    [1local_devtools-rpms]
    name=devtools-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-devtools-rpms"
    enabled=1
    gpgcheck=0
    [2local_optools-rpms]
    name=optools-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-optools-rpms"
    enabled=1
    gpgcheck=0
    [3local_rpms]
    name=rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-rpms"
    enabled=1
    gpgcheck=0
    [4local_tools-rpms]
    name=tools-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-tools-rpms"
    enabled=1
    gpgcheck=0
    [5local_mon-rpms]
    name=mon-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-mon-rpms"
    enabled=1
    gpgcheck=0
    [6local_osd-rpms]
    name=osd-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-osd-rpms"
    enabled=1
    gpgcheck=0
    [7local_rhceph-2-tools-rpms]
    name=rhceph-2-tools-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-tools-rpms"
    enabled=1
    gpgcheck=0
    [8local_agent-rpms]
    name=agent-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-agent-rpms"
    enabled=1
    gpgcheck=0
    [9local_installer-rpms]
    name=installer-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-installer-rpms"
    enabled=1
    gpgcheck=0
    [10local_rhscon-2-main-rpms]
    name=rhscon-2-main-rpms
    baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-main-rpms"
    enabled=1
    gpgcheck=0
    

    2 案例2:配置DNS服务器:
    2.1 问题

    本案例要求掌握DNS服务器的配置:

    允许DNS服务器为所有的客户端提供服务
    解析域名openstack.tedu.cn
    解析域名nova.tedu.cn
    

    2.2 方案

    此实验的整体方案需要三台机器,openstack作为主节点,nova作为额外节点,真机做为DNS和NTP的服务器(这里不再在表-1中体现,在真机上面直接配置即可),提供域名解析和时间同步服务,具体情况如表-1所示:
    在这里插入图片描述
    表-1

    2.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:配置DNS(真机操作)

    [root@room9pc01 ~]# yum -y install bind bind-chroot
    [root@room9pc01 ~]# vim /etc/named.conf
    options {
            listen-on port 53 { 192.168.1.3; };        //修改ip
               allow-query     { any; };                //允许所有
            recursion yes;
            forwarders { 172.40.1.10; };    //转发dns,真机的服务器地址
            dnssec-enable no;
            dnssec-validation no;
    };
    [root@room9pc01 ~]# systemctl restart named
    

    步骤二:两台虚拟机配置静态ip

    注意:两台主机同样操作,改一下ip即可(以openstack.tedu.cn为例)

    [root@localhost ~]# echo openstack.tedu.cn > /etc/hostname 
    [root@localhost ~]# hostname openstack.tedu.cn    //另外一台主机改名为nova.tedu.cn
     [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    # Generated by dracut initrd
    DEVICE="eth0"
    ONBOOT="yes"
    IPV6INIT="no"
    IPV4_FAILURE_FATAL="no"
    NM_CONTROLLED="no"
    TYPE="Ethernet"
    BOOTPROTO="static"
    IPADDR="192.168.1.1"
    PREFIX=24
    GATEWAY=192.168.1.254
    [root@openstack ~]# systemctl restart network
    

    步骤三:域名解析

     [root@openstack ~]# vim /etc/hosts     
    //在openstack.tedu.cn和nova.tedu.cn主机上面操作
    192.168.1.1 openstack.tedu.cn
    192.168.1.2 nova.tedu.cn
    

    测试能否ping通,如图-1所示:
    在这里插入图片描述
    图-1
    3 案例3:配置NTP服务器
    3.1 问题

    本案例要求配置NTP时间同步服务器:

    将NTP服务与DNS服务部署在同一台主机上
    确认NTP服务器的时区是东八区
    确认NTP服务器的时间准确
    计划安装openstack的服务器与NTP服务器进行时间校正
    

    3.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:配置NTP时间同步(真机操作)

    [root@room9pc01 ~]# yum -y install chrony
    [root@room9pc01 ~]# vim /etc/chrony.conf
    server ntp1.aliyun.com iburst
    bindacqaddress 0.0.0.0
    allow 0/0            //允许所有人使用我的时间服务器 
    cmdallow 127.0.0.1      //控制指令
    [root@room9pc01 ~]# systemctl restart chronyd
    [root@room9pc01 ~]# netstat -antup | grep chronyd
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           23036/chronyd       
    udp        0      0 127.0.0.1:323           0.0.0.0:*                           23036/chronyd
    [root@room9pc01 ~]# chronyc sources -v    //出现*号代表NTP时间可用
    ^* 120.25.115.20                 2   6    17    62   -753us[-7003us] +/-   24ms
    

    4 案例4:环境准备
    4.1 问题

    本案例要求准备基础环境,为安装openstack做准备:

    准备openstack的基础环境
    

    4.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:准备基础环境

    1)配置yum源

    备注:只有系统源的gpgcheck=1,其他的都是gpgcheck=0)

    [root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo \
     192.168.1.1:/etc/yum.repos.d/        //拷贝给openstack.tedu.cn这台主机
    [root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo \
     192.168.1.2:/etc/yum.repos.d/   //拷贝给nova.tedu.cn这台主机
    

    步骤二:配置ip

    备注: 配置eth0为公共网络,网络地址192.168.1.0/24(已经配置过)

    配置eth1为隧道接口,网络地址192.168.2.0/24

    1)给openstack.tedu.cn主机添加eth1网卡

    [root@room9pc01 networks]# virsh -c qemu:///system attach-interface openstack bridge private2 --model virtio
    Interface attached successfully    //添加成功
     [root@openstack ~]# cd /etc/sysconfig/network-scripts
    [root@openstack network-scripts]# cp ifcfg-eth0 ifcfg-eth1
    [root@openstack network-scripts]# vim ifcfg-eth1
    # Generated by dracut initrd
    DEVICE="eth1"
    ONBOOT="yes"
    IPV6INIT="no"
    IPV4_FAILURE_FATAL="no"
    NM_CONTROLLED="no"
    TYPE="Ethernet"
    BOOTPROTO="static"
    IPADDR="192.168.2.1"
    PREFIX=24
    GATEWAY=192.168.1.254
    [root@openstack network-scripts]# systemctl restart network
    

    2)给nova.tedu.cn主机添加eth1网卡

    [root@room9pc01 networks]# virsh -c qemu:///system attach-interface nova bridge private2 --model virtio
    Interface attached successfully    //添加成功
    [root@nova ~]# cd /etc/sysconfig/network-scripts
    [root@nova network-scripts]# cp ifcfg-eth0 ifcfg-eth1
    [root@nova network-scripts]# vim ifcfg-eth1
    # Generated by dracut initrd
    DEVICE="eth1"
    ONBOOT="yes"
    IPV6INIT="no"
    IPV4_FAILURE_FATAL="no"
    NM_CONTROLLED="no"
    TYPE="Ethernet"
    BOOTPROTO="static"
    IPADDR="192.168.2.2"
    PREFIX=24
    GATEWAY=192.168.1.254
    [root@openstack network-scripts]# systemctl restart network
    

    3)配置卷组(openstack主机上面操作)

    [root@room9pc01 images]# qemu-img  create -f qcow2 disk.img 50G
    Formatting 'disk.img', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 lazy_refcounts=off 
    [root@room9pc01 networks]# virsh -c qemu:///system attach-disk openstack \
     /var/lib/libvirt/images/disk.img vdb --subdriver qcow2 --sourcetype file
    Disk attached successfully        //添加成功
    [root@openstack ~]# yum install lvm2 
    [root@openstack ~]# pvcreate /dev/vdb 
    [root@openstack ~]# vgcreate cinder-volumes /dev/vdb
    

    4)安装openstack的依赖包(openstack.tedu.cn和nova.tedu.cn主机上面

    [root@openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools 
    [root@nova ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
    

    5 案例5:部署Openstack:
    5.1 问题

    本案例要求通过packstack完成以下配置:

    通过packstack部署Openstack
    根据相关日志文件进行排错
    

    5.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:安装packstack

    [root@openstack ~]# yum install -y openstack-packstack
    [root@openstack ~]# packstack --gen-answer-file answer.ini  
    //answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
    Packstack changed given value  to required value /root/.ssh/id_rsa.pub
    [root@openstack ~]# vim answer.ini
      11 CONFIG_DEFAULT_PASSWORD=redhat  //密码
      42 CONFIG_SWIFT_INSTALL=n
      75 CONFIG_NTP_SERVERS=192.168.1.3   //时间服务器的地址
     554 CONFIG_CINDER_VOLUMES_CREATE=n    //创建卷,已经手动创建过了
     840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan   //驱动类型
     876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5  
    //设置组播地址,最后一个随意不能为0和255,其他固定
     910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  //物理网桥的名称
     921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
    //br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
     936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
    1179 CONFIG_PROVISION_DEMO=n   //DEMO是否测试
     [root@openstack ~]# packstack    --answer-file=answer.ini
     **** Installation completed successfully ******        //出现这个为成功
    

    步骤二:安装openstack可能会出现的错误以及排错方法

    1)ntp时间不同步,如图-2所示:
    在这里插入图片描述
    图-2

    解决办法:查看ntp时间服务器,是否出现*号,若没有,查看配置文件,配置ntp服务器步骤在案例3,可以参考

    [root@room9pc01 ~]# chronyc sources -v    //出现*号代表NTP时间可用
    ^* 120.25.115.20 2   6    17    62   -753us[-7003us] +/-   24ms
    [root@openstack ~]# chronyc sources -v
    ^* 192.168.1.3   3   9   377   504    +50us[  -20us] +/-   24ms
    [root@nova ~]# chronyc sources -v
    ^* 192.168.1.3    3   9   377   159   -202us[ -226us] +/-   24ms
    

    2)网桥名称写错,如图-3所示:
    在这里插入图片描述
    图-3

    解决办法:检查配置文件

    [root@openstack ~]# vim answer.ini
    ...
    921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
    //br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
    ...
    

    3)若/root/.ssh/id_rsa.pub,提示password,同样是配置文件没有写对,如图-4所示:
    在这里插入图片描述
    图-4

    4)yum源没有配置正确,如图-5所示:
    在这里插入图片描述
    图-5

    解决办法:检查yum是否为10731个软件包,查看是否是yum源没有配置正确,之后安装oprnstack-dashboard

    备注:除了系统源gpgcheck=1之外,其他都是gpgcheck=0

    5)出现Cannot allocate memory,如图-6所示:
    在这里插入图片描述
    图-6

    解决办法:

    内存不足,重新启动主机
    6 案例6:网络管理
    6.1 问题

    本案例要求运用OVS完成以下配置:

    查看外部OVS网桥及其端口
    验证OVS配置
    

    6.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:查看外部OVS网桥

    1)查看br-ex网桥配置(br-ex为OVS网桥设备)

    [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex 
    ONBOOT="yes"
    NM_CONTROLLED="no" 
    IPADDR="192.168.1.1"
    PREFIX=24
    GATEWAY=192.168.1.254
    DEVICE=br-ex
    NAME=br-ex
    DEVICETYPE=ovs
    OVSBOOTPROTO="static"
    TYPE=OVSBridge
    

    2)查看eth0网卡配置(该网卡为OVS网桥的接口)

    [root@nova ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
    DEVICE=eth0
    NAME=eth0
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ex
    ONBOOT=yes
    BOOTPROTO=none
    

    3)验证OVS配置

    [root@nova ~]# ovs-vsctl show
        Bridge br-ex
            Controller "tcp:127.0.0.1:6633"
                is_connected: true
            fail_mode: secure
            Port br-ex
                Interface br-ex
                    type: internal
            Port phy-br-ex
                Interface phy-br-ex
                    type: patch
                    options: {peer=int-br-ex}
            Port "eth0"
                Interface "eth0"
        ovs_version: "2.5.0"
    

    7 案例7:管理项目
    7.1 问题

    本案例要求通过Horizon完成以下操作:

    创建名为myproject的项目
    查看项目信息
    更新vcpu配额为30
    删除myproject
    

    7.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:浏览器访问openstack

    1)浏览器访问

    [root@openstack conf.d]# firefox 192.168.1.1  //访问失败
    

    2)需要改配置文件并重新加载

    [root@openstack ~]# cd /etc/httpd/conf.d/
    [root@openstack conf.d]# vi 15-horizon_vhost.conf
         35   WSGIProcessGroup apache
         36   WSGIApplicationGroup %{GLOBAL}     //添加这一行
    [root@openstack conf.d]# apachectl  graceful  //重新载入配置文件
    

    3)浏览器访问,出现页面,如图-6所示:
    在这里插入图片描述
    图-6

    3)查看默认用户名和密码

    [root@openstack conf.d]# cd
    [root@openstack ~]# ls
    answer.ini   keystonerc_admin   //keystonerc_admin生成的文件,里面有用户名和密码
    [root@openstack ~]# cat keystonerc_admin 
    unset OS_SERVICE_TOKEN
        export OS_USERNAME=admin  //用户名
        export OS_PASSWORD=1bb4c987345c45ba  //密码
        export OS_AUTH_URL=http://192.168.1.1:5000/v2.0
        export PS1='[\u@\h \W(keystone_admin)]\$ '
    export OS_TENANT_NAME=admin
    export OS_REGION_NAME=RegionOne
    

    4)在火狐浏览器中输入用户名和密码,登录后页面如图-7所示:
    在这里插入图片描述
    图-7

    4)创建名为myproject的项目

    [root@openstack ~]# source ~/keystonerc_admin  //初始化环境变量
    [root@openstack ~(keystone_admin)]# openstack project create myproject
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | None                             |
    | enabled     | True                             |
    | id          |f73949e2701346328faf5c1272414cd0|
    | name        | myproject                        |
    +-------------+----------------------------------+
    

    5)查看项目信息

    [root@openstack ~(keystone_admin)]# openstack project list
    +----------------------------------+-----------+
    | ID                                  | Name      |
    +----------------------------------+-----------+
    | 3fd5bffd734543d39cf742492273a47f | services  |
    | 7f0b43274a9f4e149357fc8393ff2c68 | admin     |
    | f73949e2701346328faf5c1272414cd0 | myproject |
    +----------------------------------+-----------+
    

    6)更新vcpu配额为30

    [root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject
    

    7)删除myproject

    [root@openstack ~(keystone_admin)]# openstack project delete myproject
    
    展开全文
  • 安装部署OpenStack+KVM 平台虚拟化环境详解,写得很详细
  • OpenStack云桌面系列【1】—开始

    千次阅读 2014-11-11 21:58:53
    关于"云桌面"和"桌面云"  首先,wiki里面是没有关于“桌面云”和“云桌面”的定义和其它信息。  百度百科  桌面云,可以通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。 ...
  • OpenStack部署

    2021-10-28 19:16:02
    注意,这里后面出错回到这里--------需要默认最小化安装,也就是不安装桌面,自行安装桌面 3、NetworkManager服务 centos7网络默认由NetworkManager(网络管理器)管理,但是NetworkManager与OpenStack网络组件...
  • OpenStack部署实践.pdf

    2018-03-21 13:50:42
    OpenStack部署实践(第2版)》基于OpenStack Kilo版讲述了部署相关的内容,是作者多年实践经验的总结。书中不仅对上一版进行了全面修订,还增加了桌面虚拟化、Neutron与SDN、分布式存储、Swift对象存储、Hadoop...
  • 为此,携程呼叫中心率先引入了云计算,战略性地部署虚拟云桌面,员工电脑问题5分钟内解决,解决不了的分分钟直接换新的,大大的提升了用户体验。运维效率也是噌噌噌地往上爬,平均故障率降至不到0.5%。 截至2016年8...
  •  首先,wiki里面是没有关于“桌面云”和“云桌面”的定义和其他信息。  百度百科  桌面云,能够通过瘦client或者其它不论什么与网络相连的设备来訪问跨平台的应用程序。以及整个客户桌面。桌面云与云桌面,是对...
  • Ubuntu+KVM+Openstack搭建私有平台

    万次阅读 2018-01-19 16:23:06
    搭建私有(1)_理论知识总结 ...0x02 部署Openstack 0x03 创建上传系统环境模板 0x04 Openstack虚拟机管理策略 0x00 平台架构 图1-1 平台架构 平台通常由一个控制器节点
  • 配置网络 # 创建网络要注意主机外网的网段和虚拟机的ip在同一网段,主机内网随意。 # 创建外网 neutron net-create ext-net --provider:network_type=gre --provider:segmentation_id=1 --router:external # ...
  • 部署单节点OpenStack

    千次阅读 2020-02-20 23:49:16
    一.OpenStack详述 OpenStack简介 OpenStack是一个是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。通过命令或者基于Web的可视化控制面板来管理IaaS云端资源池(服务器、存储和网络)。它2010年由...
  • OpenStack部署实践》

    2019-07-07 02:38:38
    OpenStack部署实践》 基本信息 作者: 张子凡 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115346797 上架时间:2014-2-27 出版日期:2014 年3月 开本:16开 页码:1 版次:1-1 所属分类:...
  • Fuel-OpenStack安装部署

    千次阅读 2019-05-04 15:00:03
    打开web端新建OpenStack环境;关闭虚拟机Fuel Master,复制虚拟机,即导出、导入虚拟机电脑;增加Controller和Computer虚拟机节点,分别安装完成;进入web端,添加节点并对其配置端口,进行Openstack网络设...
  • OpenStack的私有解决方案

    千次阅读 2015-05-17 20:16:17
    为什么需要私有?  说到这样一个问题,必须要了解一下企业的背景。简单来说,瞬联就是一家外包公司。相信很多人看到这里可能会发出这样的感叹:哦,就是个卖人的公司嘛!相信大多数的外包公司都会留给人这样的...
  • 什么是云计算? 什么是""? 就是互联网连接的另一端,你可以从云端访问各种...国内常见的云计算服务厂商有腾讯、华为云、新浪、阿里、UCloud和青云等。 云计算是分层的, 分为三种云服务模型: I...
  • PDF下载官网 http://www.diduker.com ...目录 第1章 OpenStack1 1.1 云计算2 1.2 云服务模式3 1.2.1 IaaS:基础设施即服务3 1.2.2 PaaS:平台即服务4 1.2.3 SaaS:软件即服务4 1.3 应用形式4 1.3.1 私有4 ...
  • Openstack中使用windows 2003镜像创建实例的时候,会出现SID相同的情况,SID相同会导致网络以及安全的问题,为了防止该情况的发生,创建镜像的时候需要对Windows 2003进行封装,本文对该过程做一个详细的描述 ...
  • 直播Openstack部署

    2018-11-12 16:00:10
    大家好!为了对自己知识进行简单梳理,同时惠及广大爱好者。...内容:通过kolla部署openstack生产环境说明:该直播是本人实施的一个项目的还原,并不一定适用于所有公司的环境开播之前我每天会做一些前...
  • KVM虚拟机部署openstack的网络配置

    千次阅读 2017-12-02 13:12:50
    这篇文章记录的是按照官方文档在KVM环境下部署双节点openstack过程中,前期准备KVM环境和网络配置相关的内容,在完成这篇博客涉及到的工作之后就可以按照官方文档手动安装openstack了。本文涉及的主要工作,首先是在...
  • 文章目录一、背景二、面临的挑战三、功能简介1、核心优势2、核心设施平台(IaaS)3、基础服务平台(PaaS)四、技术落地1、整体架构2、技术选型2.1、IaaS技术2.2、PaaS技术3、实践的过程3.1、OpenStack &...
  • 更多网络原理机制可以参考《OpenStack云平台的网络模式及其工作机制》。 1.1、控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点,控制节点和计算节点。控制节点包括网络控制、调度管理、api服务...
  • 学习openstack部署和运维之前,应当熟悉其架构和运行机制,openstack作为开源、可扩展、富有弹性的操作系统,其设计基本原则 按照不同的功能和通用性划分不同的项目,拆分子系统 按照逻辑计划、规范子系统之间...
  • 下面将一些还记得的tips记录下来,供大家参考,希望少把时间浪费在安装和部署上。还有很多问题没有一一记录,就不再去探究了,读者如有问题请指出或者下面跟帖补充,希望对入门者有帮助。由于只是涵盖了部分问题,...
  • openstack视频教程

    2015-08-04 23:07:40
    整个实验包括,云主机企业部署案例,云存储企业案例,桌面云企业案例,以 及综合运维架构解决方案讲解 基础环境准备: 1.笔记本电脑一台,CPU支持VT,内存>=4G,可用磁盘空间大于50G; 2.安装VirtualBox 或VMWARE ...
  • C:\Windows\System32\syspre\sysprep.exe 勾选 “通用”,选择 “关机”: 4.1.8:拷贝磁盘文件至 Openstack 控制端 [root@node252 ~]# scp /var/lib/libvirt/images/WinServer-2008-R2.qcow2 node101:/root/ 4.2:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,057
精华内容 822
关键字:

openstack部署云桌面