白话为什么需要虚拟机和云计算有什么关系
近来我们一直在说云计算,有人就会问究竟什么叫云计算,或许从狭义讲企业级的云计算就是将业务服务放在云主机上运行,而云主机实际是互联网机房中的虚拟机(VM)。虚拟机又是什么? 虚拟机是通过硬件虚拟化技术将一台物理服务器分割成了多个逻辑隔离的单元,每个单元都是一个虚拟的计算机,和真实的计算机一样它也有CPU、主板、内存、硬盘等等设备组成,可以为这台虚拟的计算机安装操作系统。一台物理服务器通过虚拟化技术可以同时运行多台虚拟机即多个操作系统(及其业务系统)。不仅节省了硬件采购成本与电能消耗,也降低了维护工作量。因此虚拟机技术也是云计算平台的最基础元素。
早期做运维的一些朋友起初对虚拟机并不感兴趣。对于资金并不充余的用户会选择把多个服务(业务)都放在一台服务器上运行。比如:DHCP、DNS、WEB 共用一台服务器;SAP 和 OA 共用一台服务器… 等这样处理可以节省至少一半的服务器。对于资金不紧张的用户而言,可以为每一个业务事务系统都配置一台甚至多台服务器;比如:DHCP 、DNS、WEB、MIS、SAP、OA 等都有独立的服务器,有的中小企业都会因此而配有十多台服务器填满几个机柜。其实这两类情况在2008年以前都比较常见,看似简单没有问题,其实诸多的问题作为运维人员都只能习惯后而忍受了。上述两类原始方案的症结在哪里?
第一类节约型用户多业务运行一台服务器系统;这种情况在中小企业、学校实验室比较常见,这种处理方式最大的问题在于资源间的互斥冲突。以WebService 为例如果把IIS 和 Tomcat 、 Apache 同时塞到一个系统里面,但http 的默认访问端口是80 ,三个服务必须得有两个作出让步使用别的端口号。多个服务使用的端口号相同、读写的配置文件相同都会引起冲突。还有一种另类的冲突是依赖库的冲突,多个软件或服务都会依赖或相互依赖一些支持库,对库的版本有严格的约定,两个业务系统对同一个包有依赖,但是版本却不同的情况也非常让运维人员恼火的事情。 更严重的是有时候一些服务或业务程序自身有BUG 缺陷,在长时间运行后会严重的拖累系统,导致同在这台服务器上的其他业务系统的响应速度也变迟缓最后至宕机,当管理人员需要重新启动计算机时,这台服务器上所有运行的业务系统都会连坐中断。
第二类富足型用户一个业务一台服务器;这种情况在基层事业单位和一些传统制造型企业比较多。这种处理方式最大的问题在于资源和资金浪费。 因为像DHCP / DNS / WEB等一些服务的负载并不高。7 24 的运行中资源使用率仅在 10 ~ 30 % 左右,有近 70 % 是闲置的。并且每多一台服务器也会多出 500 W 7 *24 的电力消费;同时也增加管理维护的服务器工作量。
虚拟化技术的成熟让问题得到了很好的解决,特别是Intel 和AMD 在自己的CPU 中加入虚拟化指令,Windows /Linux 也相继提供了内核虚拟机;使虚拟机可以更多的发挥物理硬件的性能。通过Hypervisor 我们可以一台物理服务器上同时运行多台虚拟服务器,每台虚拟服务器都可以独立安装不同的操作系统。可以独立运行、重启关机都相互之间不会影响。虚拟机配给的硬件资源是由管理者调配的,对硬件资源占用在配额之内,即使某个系统导致负载过高而宕机,也不影响其他虚拟机的工作。
使用虚拟机(虚拟服务器)的优势:
创建、撤销都可以在软件管理层面上完成,以往升级服务器硬件都需要断电拆机,而虚拟机上扩展资源配给可以直接管理软件界面设定热生效。销毁服务器也同理。
迁移、备份方便;虚拟机对应是物理服务器上的一个镜像文件,迁移服务器到异地机房以往需要下架后再小心翼翼长途托运,生怕路途碰摔。而虚拟机的迁移隔千山万水也只需要拖动一个文件。
快照功能,在服务器系统上做一些不确定的操作时,可以使用快照。如果操作有误随时可以回滚快照。但以往在物理系统上这种情况可能就有重做系统了。
可以基于模板快速生成,以往一台祼机从安装系统到部署业务耗时平均12小时,但采用虚拟机的情况可以事先准备好各种模板,需要时只用使用模板克隆一次就可以快速的完成。
因此现在企业内部或互联网上公有云服务商提供的云主机、VPC 等大多都是虚拟机,易于动态的创建、回收;集群中所有虚拟机的运行情况都能及时掌握和按需调配。虚拟化可以说是云计算的基础技术支撑。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源云平台离普通用户还有多远?
朋友从高校离职后去了一家私营的职业中专做了信息中心主管,说是信息主管其实和网吧大网管没什么区别,带两个学生管理全校500 台多计算机。原先他所在高校早已经启用了云桌面管理起来非常方便基本没有什么工作,但是这所职高用的还是十年前的还原卡,有不少卡和硬盘都已经年久损坏了,因此感觉日常工作很烦恼。所以他建议老板将学生机房的计算机全部改造为云桌面。咨询了国内多家厂商的方案,每桌面500 到 5000 不等,甚至还有公司报出了每桌面10000+ 的天价。 老板听完方案后怂了,责令这位朋友找开源方案试试,商用方案被暂时搁置。 他找到了我,我们一起讨论下这个话题:在教育网场景下开源云平台是否可以替代云桌面产品?其实类似的话题此前已经有人讨论过,开源的云平台、云桌面项目如:oVirt / OpenStack 等完全可以用在生产环境中,甚至BAT 这样公司大部分的业务系统也在使用开源项目支撑。但我们今天有预设的前提:1.普通用户 2. 教育场景 。那么问题可能就没有理论上的那样简单… 分析这个问题我们首先列出教育网下云桌面和互联网公司的生产环境下需求的不同和配置的不同。 互联网公司至少有一支具备研发能力...
- 下一篇
Docker容器生产实践1——永远设置容器内存限制
背景 在默认情况下,docker容器并不会对容器内部进程使用的内存大小进行任何限制。对于PaaS系统而言,或者对于直接使用docker的用户而言,这非常危险。如果哪个业务容器,出现了内存泄漏;那么它可能会危害到整个主机系统,导致业务app容器所在的主机出现oom。本文将介绍着眼于docker对内存资源的使用,解释背后的原理。同时也给出k8s上如何配置内存限制的方法。 docker run、create时刻对容器使用内存大小进行限制 -m硬限制容器使用的内存 通过下面参数可以为容器设置一个内存使用量硬大小,当超出这个大小时刻,linux系统会根据配置设置决定是否进入oom-killer状态。docker run --name zxy-docker -m 1g -it busybox bash 单位为:b,k,m和g 如果设置了-m参数,通常情况下如果容器使用内存量超过了设置的硬水线,那么linux的oom-killer触发,它将根据oom-score对容器内部进程进行oom kill。但是不影响宿主机上其他进程。 --oom-kill-disable 这个参数设置一定需要在容器run或者...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池