什么是裸金属
什么是裸金属
裸金属,是英文 Bare Metal 的直译,其实也是可以叫 Bare Machine 的,可能大家觉得 Metal 听起来更酷一点,所以都爱这么叫。
如果说裸金属听起来有点懵逼,那么说裸机大家都很好理解了,就是指没有操作系统的计算机硬件。
大家伙平时在说起服务器(Server)的时候,大多数默认有一个操作系统,比如 “我有一台高性能 Linux 服务器”;还有少部分情况我们指的是品牌或者硬件配置,例如 “公司刚买了一批 Dell 服务器”。为了有所区分,对于后者,我们日常中更常见的说法是机器(Machine)。
Machine 就可以了,为啥要多出一个 Bare ?
根据 wiki 的解释,裸金属是指可以不经过操作系统干预的情况下,直接在逻辑硬件上执行指令。
In computer science, bare machine (or bare metal) refers to a computer executing instructions directly on logic hardware without an intervening operating system.
Bare,正是强调了直面硬件,中间并无遮拦,裸裎相见。
为什么裸金属在云上流行
大约从 2017 年开始,裸金属逐渐成为了云平台的标配,大大小小的云计算厂商基本都提供了裸金属服务。
云厂商的裸金属服务常见的疑问有两个:
在虚拟化,容器化的大趋势下,为什么我们还需要裸金属?它和主流云服务器(虚拟机)有何优势呢?
相较于传统的 IDC 方式托管物理服务器,云上的裸金属又有哪些不同和优势呢?
事实上就是要理清楚裸金属、虚拟机和物理机它们之间的区别和特点。
裸金属和虚机物理机的关系裸金属的特点和优势
这里直接借用阿里云裸金属产品页的特性介绍,主要包括 4 个方面:
裸金属的优势安全方面
裸金属服务器具有安全物理隔离的特性,裸金属服务器与其他租户物理隔离。
对安全性要求比较高的用户,例如金融类用户,他们对服务器的安全合规是有硬性要求的,裸金属服务器具有物理机级别的隔离。
性能方面
裸金属资源完全独占,完全没有性能损耗,能够胜任高 IO 应用、高性能计算等业务,例如海量数据采集和挖掘,高性能数据库,大型在线游戏等。
特别的,裸金属服务器还可以支持虚拟化,用户可以在裸金属上搭建自己的虚拟化平台,打造独占的私有云或容器云,实现「在公有云上搭建专有云」这样灵活的架构。
弹性和自动化
除了裸金属的固有特性,裸金属云完全继承了虚拟化云服务器的 云 特性,例如,快速交付,弹性伸缩等,并且整个过程都是自动化管理。
唯一的差距在于相对于虚机和容器的秒级响应,裸金属是分钟级别的响应。
兼容其它云产品
裸金属作为云中居民,可以和其它云产品如云主机、云网络、云存储、云数据库直接打通,方便业务使用,构建更加灵活的整体架构和方案。
总结
从上面的内容可以看出:
裸金属的前两个优势是相对虚拟机的,相对于虚机,裸金属体现出了物理机的特性;
后两个优势是相对传统物理机的,相对于物理机,裸金属又能体现虚拟机弹性的特点。
因此综合来说,裸金属汲取了两家之长,受到重视也就不足为怪了。
裸金属和容器
裸金属虽然性能优越又兼具弹性,但是要独占硬件,而且主流的厂商的销售方案基本都是包月,没有像虚机那样可以按使用量收费,达到按秒计费。所以价格昂贵,不是一般用户能消费的起。
不过,裸金属可以以另一种方式为更广大的用户提供计算服务,那就是容器。
容器发展之初,正是虚拟机主打的云计算热门之时,彼时的常见做法是在虚机上启动容器。随着技术的发展,特别是以 Kubernetes 为主的容器编排系统面世之后,人们发现在裸金属上运行容器更加自然。不仅性能更好,而且不用额外管理复杂的虚机化层。
Gartner 曾在 2015 年 9 月发布过一个咨询报告,标题是《Market Trends: The Rise of Bare-Metal Cloud and Containers》,认为未来的云计算基础设施,可能是裸金属+容器的趋势。
这篇报告里预测,未来的市场会向两级分化:
- 互联网开发者的市场,追求速度、敏捷和可移植性 —— 选择容器。
- 企业应用市场,仍然希望使用可靠、安全的环境 —— 选择裸金属。
于是得出这样的结论,裸金属 + 容器才是最好的组合。
今天看来这个预测还是靠谱的,阿里云和华为云在今年都发布了裸金属容器产品,非常值得关注。
裸金属的技术实现
裸金属的技术实现通常需要硬件上的配合,目前只有一些头部大厂有实力做到,例如阿里云的神龙架构。
没有足够研发实力的企业如果想要部署裸金属云,或者更加深入的了解一些技术细节,开源 IaaS 项目 OpenStack 当然是最佳选择。
Ironic 是 OpenStack 中实现裸金属服务的项目,它从 Icehouse 版本开始孵化,并在 Juno 版与 Nova 进行集成。在 Kilo 版开始正式的集成到 OpenStack 项目中来,通过 Nova 调用 Ironic 的 API 来实现对物理机资源的管理和控制。
随后的版本演进中,Ironic 逐渐成熟,并越来越凸显它重要的地位,频频出现在版本发布亮点中。
Newton版本的OpenStack在 Newton 版本的发布标题中,裸金属第一次站在虚拟化和容器中间出镜,旨在宣言 OpenStack 是一个一体化的平台。
Rocky版本的OpenStack到 Rocky 版本,裸金属已经作为标题主打,并且用到的说法是 focuses on,其在基础设施层的重要性和热度已经不言而喻。
特别有趣的是这个项目名字,让我不禁猜想,是不是在创立项目之初,大佬们已经预见了今日局面呢?干了这么多年的虚拟化,没想到最终反过来要去革虚拟化的命。
ironic这个名字真的很赞本文首发「云计算实验室」公众号,持续分享云计算相关技术实践和知识资讯。