虚拟化技术基础入门虚拟化是当今企业的一个热门话题。它被称为可以解决从服务器快速增长到CPU利用不足的各种问题。虽然虚拟化技术的确带来很多益处,但也不是没有缺点。本指南简要介绍虚拟化技术、怎么选择虚拟化方式、了解新兴虚拟化技术VDI(桌面虚拟基础架构)、如何管理虚拟机蔓延(VMsprawl)以及部署虚拟化时需要注意的问题。虚拟化概述虚拟化的许多技术细节都相似,但存在不同的方法解决与不同部署相关的问题。
介绍KVM,它的本质以及如何配置和安装。虚拟化最近几年取得了长足的进步,首先由于有大量的开源虚拟机管理程序在不断发展,这个改进几乎排除了操 作系统与大功率服务器快速增长的利用之间的障碍,公司立即受益。知道最近,软件仿真虚拟化一直是关注的焦点,两个常见的软件仿真虚拟化途径是完全虚拟化和 半虚拟化。对于完全虚拟化,通常调用管理程序或虚拟机监视器,存在于虚拟操作系统和硬件层之间,这个层在操作系统实例之间多路复用竞争系统资源。半虚拟化 不同,管理程序在一个协作的环境中运作,因为每个客户操作系统都知道它正运行在一个虚拟化环境中,因此每个使用管理程序的协作都在硬件下完成虚拟。
减少ESXi中虚拟机磁盘占用空间(磁盘ThicktoThin转换)在创建虚拟机时,会有下面三种选项后置备延迟置零:以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。厚置备置零:创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。与平面格式相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。精简置备:使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。如果一开始选择后置备延迟置零或者后置备置零,那么ESXi将完全在硬盘上划分出所需要的空间,这样可能会造成硬盘空间的浪费(比方说CUC安装需要80G的空间。
Kubernetes可用来管理Linux容器集群,加速开发和简化运维(即DevOps)。但目前网络上关于Kubernetes的文章介绍性远多于实际使用。本系列文章着眼于实际部署,带您快速掌握Kubernetes。本文为上篇,主要介绍部署之前需要了解的原理和概念,包括Kubernetes的组件结构,以及各个组件角色的功能。
Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。
Docker是 提供商dotCloud开源的一个基于 的高级容器引擎,2013年正式开源发布,源代码托管在 上,基于并遵从Apache2.0协议开源。
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。
通过共享文件夹,你可以方便的在虚拟机和宿主机之间共享文件。如果你想用共享文件夹,你必须在客户机中安装与VMworkstation版本相同的vm-tools并且在你的虚拟机设置中指定共享目录。
用这种方式,虚拟系统的IP可设置成和本机系统在同一网段,虚拟系统相当于网络内的一台独立的机器,和本机一起插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然和本机系统的双向访问也不成问题。
CitrixDOCPROPERTYProject虚拟化DOCPROPERTYPurpose解决方案2015年11月什么是服务器虚拟化?服务器虚拟化是一种经过实践验证的技术,它允许多台虚拟机在单一物理服务器上运行。每台虚拟机与其它虚拟机完全隔离开来,并通过系统管理程序(xencenter)的软件层与基础主机分离开。这样,每台虚拟机就能够运行不同的操作系统和应用。由于这些虚拟机与基础主机相分离,所以虚拟机也可以从一台物理服务器移动到另一台而不中断运行,即实时迁移。这些属性正在改变企业实施虚拟计算的方式。‘服务器虚拟化的最佳选择XenServer是在云计算环境中经验证的企业级虚拟化平台,为企业提供创建和管理虚拟基础架构所需的所有功能。深得很多要求严格的企业信赖,广泛使用于运行最关键的应用,已被最大规模的云计算环境所采用。利用思杰的免费服务器虚拟化软件构建虚拟基础架构,或通过高级版整合任何规模的企业。削减成本。通过减少物理服务器数量,可以大大节省购买服务器的投入;其次由于存储的共享性提高,对存储设备的投资也大大节省;硬件的减少降低了硬件的维护和服务费用,并且带来了运营费用的降低,包括:机柜空间、电力消耗、制冷费用、网络设备简化等等,可以看到服务器虚拟化直接给硬件投资带来了比较大的节省。提高IT灵活性和效率。通过动态地调整容量,优化虚拟机布局并自动完成重复性管理任务.提高性能和用户生产率。采用服务器虚拟化技术可以大大提高服务器的业务连续性和灾难备份能力,企业不用再因为服务器维护而终止业务运行,所有的服务器之间都具备了在线备份能力;数据集中管理更加安全,异地灾备也变得更加实时和方便。2.1为什么要选择XENServer?1:动态迁移传统架构下需要到机房进行的服务器维护工作,现在能够在办公时间轻松维护完成,服务器应用实现不停机的实时迁移是虚拟化技术最为吸引用户的一点。XenMotion是XenServer的一项功能,能够将正在运行的虚拟机从一台XenServer主机上迁移到另外一台,而不带有任何停机的危险。这就意味着在整个迁移过程中,被移动的虚拟机在任意时刻都处于正常的工作状态。XenMotion的主要目的是在某台服务器需要进行计划维修的情况下,终端用户无法觉察到应用程序出现过极短暂的中断,令整个服务过程正常顺畅。2:和vmmotion比较XenMotion和VMotion都是致力于在服务器无法正常工作时,将其上正在运行的虚拟机迁移到其他候补服务器上,实现零停机。尽管如此,两者在操作,配置上还是有些许的不同的:1.XenMotion只需要支持软件iSCSI或者NFS;VMotion则可以选择光纤(Fibre),软件或者硬件的iSCSI以及NFS。2.当虚拟机与内部网络相连接时,XenMotion是不可用的;对于VMotion来说,只要相互迁移的两台主机连接的是相同的网络即可,无论该网络是内部的还是外部的。3.XenMotion需要手动操作;VMotion可以手动,也可以通过分布式资源调度程序(DRS)自动进行。3:广泛的虚拟机支持2.2Xenserver存储设计存储部分设计分为服务器的本地存储和远程共享存储两个部分,基本的设计思路是本地存储用于安装XenServer和保存资源池的元数据,远程共享存储保存所有虚拟机的虚拟镜像文件(Virtual Disk Image)以支持XenMotion和HA1:本地存储本地存储可以使用sas磁盘(至少4块),设置raid1+0,或者raid5,只用于安装XenServer本身和保存资源池的元数据(MetaData)。设置raid,防止本地硬盘出现单点故障,提高XenServer本身的可用性。2:远程共享存储为了给所有虚拟服务器提供一个可以在线迁移和保证高可用性的工作环境,建议这些虚拟服务器的镜像文件(VDI)全部保存在远程共享存储上,有两种方式可以选择,其一是使用HBA光纤卡直连后台存储;其二是通过iSCSI的方式连接。存储设备的高可用性非常重要,建议连接到共享存储的每台Xenserver主机配备两块HBA卡,并提供两台物理光纤或IP交换机,在Xenserver上配置存储多路径,避免单点故障3.1与openstack,虚拟化比较1:虚拟机性能比较虚拟机资源都是3核,8G内存。压测方式:压测工具:webbench各虚拟机部署nginx3)压测对象1:192.168.220.140(openstack虚拟机)2:192.168.220.171(citrix虚拟机)3:压测客户端,各虚拟机自身压测结果:从压测nginx并发请求的结果来看,openstack虚拟机性能相对好些。但citrix已虚拟7台云主机,相对来说,citrix性能还是不错的。Cpu,内存,IO压测CPU工具:
工具:VMware Workstation 10.0.1 下载地址:http://www.xp510.com/xiazai/ossoft/desktools/22610.html 运行环境:winAll (适用所有Windows系统)
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 采用Go语言实现 高级容器引擎,独立于Hypervisor实现。 从0.8版本开始脱离LXC实现,基于Golang重新实现容器的操作 基于Linux Kernel,64位,内核版本3.8以上
主要内容一、Docker介绍及原理二、Docker基本操作三、Docker实践案例什么是Docker?Docker的生态圈认识Docker Docker VS VM Docker的原理Docker文件系统Docker三大核心Docker操作-仓库Docker操作-镜像Docker操作-容器Docker操作-DockerfileDocker操作-API待解决的问题案例架构说明容器配置存储-etcd配置管理代理-confd与容器联动第一部分Docker介绍及原理什么是Docker?Docker是一个构建在LXC之上,基于进程容器的轻量级VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于PaaS提供商dotCloud基于go语言开发
1.处理api请求2.用户验证和授权3.资源验证4.创建各种资源5.数据持久化,写etcd目录apiserver01目录controller02职责1.管理endpoint2.管理rc3.管理node,维护健康状态4.管理namespace5.为pod调度volume6.生成serviceAccounttoken目录scheduler03职责调度每一个新创建的pod算法针对每一个等待调度的pod,分为两个步骤来决定调度到那个node方法:轮询每个node1.可不可以调度2.合不合适调度目录Node/kubelet04职责1.管理pod生命周期2.管理pod所需volume3.汇报node健康状态4.收集pod运行数据5.资源回收(containers、images)
二、ContainerOps解决方案架构设想一、ContainerOps解决方案背景介绍三、ContainerOps解决方案技术实践目录CONTENTS四、技术实践下阶段计划PATR1ContainerOps解决方案背景介绍目录01ContainerOps解决方案背景介绍ContainerOps初衷分布式的未来,容器是软件分发标准DevOps全面容器化目录02ContainerOps解决方案背景介绍目录03ContainerOps特点符合OCI容器规范面向分布式,支持集群部署基于容器的生态工具链基于微服务架构设计ContainerOps解决方案背景介绍PATR2Containerops解决方案架构设想
1.1虚拟化的基本类型无虚拟化CPU一般设为四个RingKernelMode一般跑在Ring0上UserMode一般跑在Ring3上对于一个普通的传统的Linux系统没有问题虚拟化在Guest机器和Host机器中间加一层HypervisorHost机器看它像跑在自己上面的程序Guest机器看它像自己所运行的硬件如果Host机器和Guest机器都跑相同的Linux,它们的Kernel都想运行在Ring0,可怎么办?
内容概要一PXC介绍二PXC兼容性三PXC限制四PXC运维技巧(防止踩坑)。*网络异常*MySQL复制所有的数据库实例都是可以访问的但是此时数据是不一致的*PXC集群实例system2是不能访问的,因为做集群重构system2为非主分量,1/3投票小于50%形成非主分量,system1,system32/3投票大于50%,形成主分量,可以访问。因此,PXC数据是完全一致的*脑裂哪个系统可用?PXC中这种状况2个节点都不可以访问,PXC完全可以防止脑裂*PXC和MySQL对比MySQL复制:可以访问所有的系统但是数据不一致数据完全一致PXC:PXC兼容性完全兼容已有的系统(innodb引擎,优化器执行计划,完全相同的优化思路)最小化的迁移(非常方便的从现有系统迁移到PXC)快速的回退版本(无锁化,非常容易的恢复到非PXC系统)PXC限制只支持INNODB表不允许大事务的产生(否则的话后果很严重)写性能取决于最差的节点不能解决热点更新问题乐观锁控制对于写密集型应用需要控制单个节点的大小
内容为何支持Docker技术Docker支持实践的方方面面实践经验&踩过的坑后续计划SCE新浪研发中心主推私有云产品基于openstack定制整合公司通道机、CMDB为公司内部全产品线提供IaaS服务公有云近期内测为何做Docker支持这件事Openstack与Docker天生互补Openstack面向IaaS,以资源为中心,打包OS;能够提供成熟的资源限制与隔离能力;多OS系列支持;Docker面向PaaS,以服务为中心,打包service;轻快好省;产品线需求旺盛快速部署;快速起停、创建与销毁;一致的开发测试环境;演示、试用环境;解决设备成本,充分利用资源;技术方案快速验证