Kim loại dưới dạng dịch vụ | MAAS


Cách thức hoạt động

MAAS có kiến trúc phân tầng với cơ sở dữ liệu Postgres trung tâm hỗ trợ “Region Controller (regiond)” xử lý các yêu cầu từ người vận hành. Các Rack Controller (rackd) phân phối dịch vụ băng thông cao cho nhiều giá đỡ (rack). Bộ điều khiển chính là stateless và có khả năng mở rộng theo chiều ngang, cung cấp duy nhất một REST API.

Rack Controller (rackd) cung cấp DHCP, IPMI, PXE, TFTP và các dịch vụ cục bộ khác. Chúng lưu trữ các mục lớn như hình ảnh cài đặt hệ điều hành ở cấp độ giá đỡ để tăng hiệu suất nhưng không duy trì trạng thái riêng biệt ngoài thông tin xác thực để giao tiếp với bộ điều khiển.

Sơ đồ cấu trúc MAAS

Độ sẵn sàng cao trong MAAS

MAAS là dịch vụ quan trọng, cung cấp điều phối hạ tầng mà HPC và nền tảng đám mây dựa vào. Độ sẵn sàng cao ở bộ điều khiển vùng được đảm bảo ở cấp độ cơ sở dữ liệu. Bộ điều khiển vùng sẽ tự động chuyển đổi cổng để đảm bảo độ sẵn sàng của dịch vụ tới các phân đoạn mạng trong trường hợp một rackd gặp sự cố.

Sơ đồ mạng độ sẵn sàng cao

Các rackd không nằm trên đường truyền dữ liệu chính, chúng không phải bộ định tuyến hay tham gia vào luồng dữ liệu; sơ đồ này minh họa vai trò của Rack Controller trong việc cung cấp các dịch vụ cục bộ cho giá đỡ và cách chúng hỗ trợ lẫn nhau khi xảy ra lỗi.

MAAS có thể mở rộng từ một tập hợp nhỏ máy chủ tới nhiều giá đỡ phần cứng trong trung tâm dữ liệu. Các hoạt động băng thông cao như cài đặt hệ điều hành ban đầu được đảm nhiệm bởi các cổng phân tán, cho phép triển khai song song quy mô lớn.

Giao thức

MAAS sử dụng các dịch vụ chuẩn của BMC và NIC như IPMI và PXE để điều khiển máy móc trong trung tâm dữ liệu của bạn. Với hạ tầng hợp nhất, MAAS giao tiếp với bộ điều khiển khung của giá đỡ hoặc khung hyperscale như Intel RSD, Cisco UCS hay HP Moonshot. Các plugin tùy chỉnh thêm hỗ trợ các giao thức BMC khác.

Việc thu thập thông tin ban đầu về máy và nhận diện được thực hiện từ hình ảnh Ubuntu tạm thời tương thích với tất cả các máy chủ lớn từ các nhà cung cấp phổ biến. Người dùng cũng có thể thêm các script tùy chỉnh để cập nhật firmware và báo cáo.

Giao thức MAAS

Khu vực sẵn sàng vật lý

Theo khái niệm “đám mây vật lý”, MAAS cho phép bạn gán máy móc thuộc về một khu vực sẵn sàng nhất định. Thông thường các máy được nhóm theo giá đỡ, phòng hoặc tòa nhà dựa trên điểm lỗi chung. Ranh giới tự nhiên của khu vực phụ thuộc nhiều vào quy mô triển khai và thiết kế kết nối vật lý trong trung tâm dữ liệu.

Tuy nhiên, điều này giúp triển khai dịch vụ mở rộng dễ dàng qua nhiều miền lỗi, giống như trên đám mây công cộng. Các nền tảng hạ tầng cao cấp như OpenStack hay Mesos cũng có thể cung cấp thông tin này cho các API client, giúp triển khai các giải pháp phức tạp từ phần cứng đến container trở nên đơn giản.

Sơ đồ khu vực sẵn sàng

API MAAS cho phép khám phá các khu vực trong vùng. Các công cụ quản lý cấu hình như Chef, Puppet, Ansible và Juju có thể phân phối dịch vụ qua các khu vực sẵn có một cách minh bạch.

Người dùng cũng có thể yêu cầu cụ thể máy trong các khu vực sẵn sàng nhất định.

Không có sự ràng buộc bắt buộc giữa vị trí máy trong giá đỡ với khu vực mà MAAS trình bày, cũng không có ràng buộc giữa phân đoạn mạng và giá đỡ. Trong triển khai lớn, lưu lượng có thể được định tuyến giữa các khu vực; trong triển khai nhỏ, các switch thường được trunk cho phép các subnet bao phủ nhiều khu vực.

Theo quy ước, người dùng có thể yên tâm rằng tất cả các khu vực trong vùng liên kết với nhau qua băng thông rất cao, không bị tính phí, cho phép sử dụng đồng đều và mở rộng triển khai qua nhiều khu vực nhằm mục đích tăng độ sẵn sàng.

Vòng đời của nút

Mỗi máy (“nút”) do MAAS quản lý trải qua vòng đời - từ đăng ký với MAAS, kiểm tra hệ thống (commissioning) để lấy thông tin phần cứng và thiết lập firmware, rồi được phân bổ cho người dùng và triển khai, cuối cùng được trả lại vùng tài nguyên hoặc nghỉ hưu vĩnh viễn.

Vòng đời nút MAAS

Mới

Máy mới khởi động PXE trên mạng MAAS sẽ tự động được đăng ký nếu MAAS phát hiện được thông số BMC của nó. Cách đơn giản nhất để đăng ký các máy IPMI tiêu chuẩn là cho khởi động PXE trên mạng MAAS.

Kiểm tra hệ thống (Commissioning)

Thu thập chi tiết thông tin RAM, CPU, ổ đĩa, NIC và các bộ tăng tốc như GPU để sử dụng làm ràng buộc chọn máy. Có thể chạy các script tùy chỉnh cho tác vụ riêng như cập nhật firmware.

Sẵn sàng (Ready)

Máy được kiểm tra thành công sẽ được đánh dấu “Sẵn sàng”. Nó sẽ có thông tin xác thực BMC cấu hình (trên BMC IPMI) để điều khiển nguồn điện, đảm bảo MAAS có thể bật/tắt máy và phân bổ hoặc triển khai lại với hệ điều hành mới.

Đã phân bổ (Allocated)

Máy sẵn sàng có thể được cấp cho người dùng, người dùng có thể cấu hình bonding giao diện mạng, địa chỉ IP, và ổ đĩa như LVM, RAID, bcache hay phân vùng.

Đang triển khai (Deploying)

Người dùng yêu cầu MAAS bật máy và cài đặt hệ điều hành hoàn chỉnh từ đầu mà không cần can thiệp thủ công, cấu hình giao diện mạng, phân vùng ổ đĩa và hơn thế nữa.

Trả lại (Releasing)

Khi đã sử dụng xong, người dùng trả máy về hồ bơi chia sẻ. Bạn có thể yêu cầu MAAS xóa sạch ổ đĩa khi trả máy.

MAAS là công cụ cung cấp máy chủ Bare Metal. Nó mã nguồn mở và miễn phí.

Cài đặt MAAS

Tìm hiểu thêm về công ty đứng sau sản phẩm

Ubuntu - Chuẩn Linux doanh nghiệp bảo mật mới cho máy chủ, desktop, đám mây và phát triển.

Snapcraft - Cửa hàng ứng dụng với các gói bảo mật và cập nhật cực kỳ ổn định cho nhiều bản phân phối Linux.

LXD - Hypervisor container nguyên chất, thay thế VM ứng dụng legacy để tăng tốc độ và mật độ.

MAAS - Tạo đám mây bare-metal với Metal as a Service cho IPAM và provisioning.

OpenStack - Nâng cấp, bảo trì, hỗ trợ và các lựa chọn quản lý đầy đủ cho hạ tầng lâu dài giá thấp.