什麼是裸金屬
裸金屬,是英文 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 是一個一體化的平臺。
到 Rocky 版本,裸金屬已經作為標題主打,並且用到的說法是 focuses on,其在基礎設施層的重要性和熱度已經不言而喻。
特別有趣的是這個專案名字,讓我不禁猜想,是不是在創立專案之初,大佬們已經預見了今日局面呢?幹了這麼多年的虛擬化,沒想到最終反過來要去革虛擬化的命。
本文首發「雲端計算實驗室」公眾號,持續分享雲端計算相關技術實踐和知識資訊。
本文使用 mdnice 排版