What is MAAS?
MAAS 全名為 Metal As A Service,它提供一些介面及方式,讓使用者可以用類似管理雲端虛擬機器(VM)的彈性方式,來管理實體的伺服器(bare metal),此外如 KVM 等虛擬機器也能被視為Node被管理。在此平台上,所有的機器都能夠快速的被調配及摧毀,如同Amazon AWS、Google GCE、Microsoft Azure提供的服務一樣。
MAAS 可以視為一個獨立的 PXE 服務,或者與其他技術相結合。尤其是,它與 Juju (the service and model management service)之間的工作相容性特別好。
完美的組合:使用 MAAS 管理機器(machines),並使用 Juju 管理在這些機器上運行的服務(services)。
MAAS 相當於是 Juju 的 backend (resource pool) ,換句話說也就是 Juju 的 “cloud provider"。 因此在 Juju 所做的操作也會衍伸影響到 MAAS 的狀態。例如: Juju 端移除了一台機器, MAAS 端也會有一台機器被釋放回pool。
What MAAS offers?
MAAS 能夠創建一個額外的單一資源池(single resource pool),去管理大量的實體機器。參與的機器都可以被自動配置(Debian preseed)和正常使用。當不再需要這些機器時,他們也會被釋放回池中。MAAS提供了一些必要的功能,包括:
- web UI
- API/CLI support
- HA(high availability)
- IPv6 support
- open source IP address management (IPAM)
- Ubuntu, CentOS, or Windows installation support
- inventory of components
- DHCP and DNS for other devices on the network
- VLAN and fabric support
How MAAS works?
MAAS 管理節點(a pool of nodes)的流程,簡單分為幾個階段狀態:
- “Enlisting" state: 註冊新系統
- “Commissioning" state: 預備被用來開啟service
- “Ready" state: 已經準備完成
- “Allocated" state: 配置給user
- “Deployed" state: 佈署service
- “Releasing" state: 使用完畢後,可以釋放資源回到pool
MAAS 是透過如 IPMI、Cisco UCS 這樣的介面來管理實體機器。
- IPMI: 智慧平台管理介面(Intelligent Platform Management Interface),能夠橫跨不同的作業系統、韌體和硬體平台,可以智慧型的監視、控制和自動回報大量伺服器的運作狀況,以降低伺服器系統成本。
- Cisco UCS: Cisco整合運算系統(Cisco Unified Computing System),與IPMI概念十分接近。
Key components and colocation of all services
MAAS 中最重要的兩個組件是 region controller 與 rack controller ,透過這兩個控制器才能完整的控制所有的部屬工作。
若要達成HA的話,在系統架構下,就要同時存在許多的region controller 與 rack controller。此外,DHCP的配置也是使服務能成功運作的關鍵。