首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Fault-Tolerant Virtual Machines-VMware vSphere容错虚拟机设计 (1)

    我们实现了一个商业企业级的系统,以提供容错的虚拟机,其基础是通过另一台服务器上的备份虚拟机来复制主虚拟机的执行。我们在VMware vSphere 4.0中设计了一个完整的系统,该系统易于使用,在商品服务器上运行,并且通常使实际应用的性能降低不到10%。此外,在几个实际应用中,保持主虚拟机和副虚拟机同步执行所需的数据带宽低于20 Mbit/s,这使得在更远的距离上实现容错成为可能。一个易于使用的、能在故障后自动恢复冗余的商业系统,除了复制的虚拟机执行外,还需要许多额外的组件。我们已经设计并实现了这些额外的组件,并解决了在支持运行企业应用程序的虚拟机中遇到的许多实际问题。在本文中,我们描述了我们的基本设计,讨论了备选的设计选择和一些实施细节,并提供了微型测试和实际应用的性能结果。

    01

    VMware虚拟机三种联网方法及原理

    一、Brigde——桥接:默认使用VMnet0  1、原理:  Bridge  桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在"桥"上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare网卡和物理网卡应该处于同一IP网段  当然要保证两个局域网没有冲突的IP.  VMWare 的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare软件虚拟了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出。  所以,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。         2、联网方式:  这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了!  提示:主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。

    02

    这一次,终于系统的学习了 JVM 内存结构

    最近在看《 JAVA并发编程实践 》这本书,里面涉及到了 Java 内存模型,通过 Java 内存模型顺理成章的来到的 JVM 内存结构,关于 JVM 内存结构的认知还停留在上大学那会的课堂上,一直没有系统的学习这一块的知识,所以这一次我把《 深入理解Java虚拟机JVM高级特性与最佳实践 》、《 Java虚拟机规范 Java SE 8版 》这两本书中关于 JVM 内存结构的部分都看了一遍,算是对 JVM 内存结构有了新的认识。JVM 内存结构是指:Java 虚拟机定义了若干种程序运行期间会使用的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁,另一些则与线程一一对应,随着线程的开始而创建,随着线程的结束而销毁。具体的运行时数据区如下图所示:

    01

    云计算---openstack创建虚拟机过程

    虚拟机创建过程: (1)界面或命令行通过RESTful API向keystone获取认证信息。 (2)keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。 (3)界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。 (4)nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。 (5)keystone验证token是否有效,如有效则返回有效的认证和对应的角色(注:有些操作需要有角色权限才能操作)。 (6)通过认证后nova-api和数据库通讯。 (7)初始化新建虚拟机的数据库记录。 (8)nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(Host ID)。 (9)nova-scheduler进程侦听消息队列,获取nova-api的请求。 (10)nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。 (11)对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。 (12)nova-scheduler通过rpc.cast向nova-compute发送对应的创建虚拟机请求的消息。 (13)nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。 (14)nova-compute通过rpc.call向nova-conductor请求获取虚拟机消息。(Flavor) (15)nova-conductor从消息队队列中拿到nova-compute请求消息。 (16)nova-conductor根据消息查询虚拟机对应的信息。 (17)nova-conductor从数据库中获得虚拟机对应信息。 (18)nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。 (19)nova-compute从对应的消息队列中获取虚拟机信息消息。 (20)nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要镜像。 (21)glance-api向keystone认证token是否有效,并返回验证结果。 (22)token验证通过,nova-compute获得虚拟机镜像信息(URL)。 (23)nova-compute通过keystone的RESTfull API拿到认证k的token,并通过HTTP请求neutron-server获取创建虚拟机所需要的网络信息。 (24)neutron-server向keystone认证token是否有效,并返回验证结果。 (25)token验证通过,nova-compute获得虚拟机网络信息。 (26)nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求cinder-api获取创建虚拟机所需要的持久化存储信息。 (27)cinder-api向keystone认证token是否有效,并返回验证结果。 (28)token验证通过,nova-compute获得虚拟机持久化存储信息。 (29)nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。

    01

    这一次,终于系统的学习了 JVM 内存结构

    最近在看《 JAVA并发编程实践 》这本书,里面涉及到了 Java 内存模型,通过 Java 内存模型顺理成章的了解到 JVM 内存结构,关于 JVM 内存结构也许大学的课堂上老师给我们讲过,也许没有,反正我对这一块有一点点的了解,但是从来没有系统的学习过,所以这一次我把《 深入理解Java虚拟机JVM高级特性与最佳实践 》、《 Java虚拟机规范 Java SE 8版 》这两本书中关于 JVM 内存结构的部分都看了一遍,算是对 JVM 内存结构有了新的认识。JVM 内存结构是指:Java 虚拟机定义了若干种程序运行期间会使用的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁,另一些则与线程一一对应,随着线程的开始而创建,随着线程的结束而销毁。具体的运行时数据区如下图所示:

    00
    领券