Mì ăn liền: Dựng MAAS Lab trong 5 phút
Nếu bạn đang muốn vọc vạch nhanh MAAS trên một con server Ubuntu trắng, hãy quăng cụm lệnh này vào terminal. Đây là cách mình thường dùng để demo cho khách hàng hoặc dựng môi trường test nhanh trước khi triển khai hệ thống thật.
# Cập nhật hệ thống
sudo apt update && sudo apt upgrade -y
# Cài đặt MAAS qua Snap - Nhanh, gọn và đúng chuẩn Canonical
sudo snap install maas
# Khởi tạo MAAS với DB tích hợp (chỉ dành cho Lab/Test)
sudo maas init region+rack --database-uri maas-test-db:///
# Tạo tài khoản admin
sudo maas createadmin --username admin --email [email protected] --password mypassword123
Xong xuôi, bạn truy cập http://<IP-Của-Server>:5240/MAAS. Đăng nhập bằng tài khoản vừa tạo và tận hưởng thành quả ban đầu nhé.
Tại sao phải khổ sở với USB Boot khi đã có MAAS?
Ngày trước, mỗi lần công ty nhập về 30 con Dell R740, mình và anh em trong team lại vã mồ hôi. Cả lũ phải hì hục cắm USB, gõ phím cấu hình IP, add SSH key cho từng con một. Cả quy trình tốn ít nhất 2 ngày ròng rã mà lại rất dễ sai sót.
MAAS (Metal as a Service) sinh ra để giải quyết cái sự “khổ” đó. Nó biến hạ tầng Bare Metal của bạn linh hoạt như AWS. Bạn chỉ cần cắm dây mạng, bật nguồn. MAAS sẽ lo từ khâu nhận diện (Discovery), kiểm tra phần cứng (Commissioning) đến cài OS (Deploy) chỉ qua một dòng lệnh API.
Hệ thống MAAS vận hành dựa trên hai thành phần cốt lõi:
- Region Controller: Bộ não điều khiển, quản lý database và giao diện Web/API.
- Rack Controller: Cánh tay nối dài, chịu trách nhiệm boot PXE và cấp DHCP cho các máy chủ trong tủ rack.
Setup bài bản cho môi trường Production
Đừng dùng maas-test-db nếu bạn định chạy thật. Để chịu tải được hàng trăm node, bạn bắt buộc phải dùng PostgreSQL riêng để đảm bảo hiệu năng và backup định kỳ.
1. Cài đặt PostgreSQL chuyên dụng
sudo apt install -y postgresql
# Tạo User và DB riêng cho MAAS
sudo -u postgres psql -c "CREATE USER "maas" WITH ADMIN OPTION PASSWORD 'your_secure_password';"
sudo -u postgres createdb -O "maas" "maasdb"
# Mở port nếu DB nằm trên server khác
echo "host maasdb maas 0/0 md5" | sudo tee -a /etc/postgresql/14/main/pg_hba.conf
2. Kết nối MAAS với Database thực tế
Thay vì dùng database mặc định, hãy trỏ MAAS về con PostgreSQL vừa cấu hình:
sudo maas init region+rack --database-uri "postgres://maas:your_secure_password@localhost/maasdb"
3. Cấu hình Network: Đừng để DHCP xung đột
Lỗi phổ biến nhất của anh em mới dùng là máy con không nhận được IP. Kinh nghiệm của mình: Hãy để MAAS cầm trịch DHCP. Đừng cố dùng DHCP của router tổng nếu bạn không muốn ngồi gỡ rối DHCP Relay cả ngày.
- Vào Subnets trên giao diện Web.
- Chọn VLAN và kích hoạt DHCP.
- Set một dải IP động (Dynamic Range) đủ rộng cho số lượng server dự kiến.
Khi server mới bật lên và ưu tiên PXE Boot, nó sẽ nhận IP từ MAAS. Sau đó, máy sẽ tải một bản image nhỏ vào RAM để quét thông tin CPU, RAM, Disk rồi báo cáo về Dashboard ở trạng thái New.
Những ‘hố vôi’ mình đã nhảy qua sau 6 tháng vận hành
Làm việc với phần cứng luôn đầy rẫy bất ngờ. Dưới đây là 3 điểm mấu chốt giúp bạn vận hành trơn tru hơn.
Quản lý nguồn (Power Management)
Muốn MAAS tự bật/tắt server từ xa, bạn phải cấu hình IPMI (iDRAC trên Dell, iLO trên HP). Không có cái này, mỗi lần deploy bạn lại phải chạy bộ ra tủ rack bấm nút nguồn. Rất mất công và thiếu chuyên nghiệp.
Hãy vào phần cấu hình node, chọn Power type là IPMI. Tiếp theo, điền IP quản lý cùng tài khoản card quản lý của máy đó vào.
Sử dụng Commissioning Scripts
Bạn muốn check ổ cứng có bad sector trước khi cài OS? MAAS cho phép chạy script tùy chỉnh ở giai đoạn kiểm tra. Mình thường lồng thêm script tự động cập nhật Firmware BIOS tại đây để đảm bảo mọi node đều đồng nhất phiên bản.
# Script check nhiệt độ CPU đơn giản
#!/bin/bash
sensors | grep "Core 0"
Tăng tốc với Local Image Mirror
Mặc định MAAS sẽ kéo image từ server Canonical ở nước ngoài. Nếu cáp quang biển đứt, việc deploy một con Ubuntu 22.04 có thể ngốn của bạn cả tiếng đồng hồ. Hãy setup một local mirror. Nó sẽ giúp rút ngắn thời gian deploy xuống chỉ còn 5-7 phút mỗi máy.
Nâng cao: Tối ưu với Custom Images qua Packer
Thực tế, hiếm khi chúng ta cài một bản Ubuntu trắng. Mình thường dùng packer để build sẵn các image đã cài Docker và cấu hình SSH hardening. Khi upload lên MAAS, bạn sẽ có ngay một con server ‘sẵn sàng chiến đấu’ ngay khi vừa cài xong OS.
# Lệnh upload image đã đóng gói
maas admin boot-resources create name='custom/ubuntu-hardened' \
architecture='amd64/generic' filetype='tgz' \
content@=/path/to/your/image.tar.gz
Lời kết cho anh em SysAdmin
MAAS không đơn thuần là công cụ cài OS dạo. Nó là nền tảng để xây dựng Private Cloud thực thụ. Khi kết hợp với Terraform, bạn có thể dựng cả cụm Kubernetes trên máy vật lý chỉ bằng một lệnh duy nhất.
Nếu hạ tầng của bạn bắt đầu vượt quá 10 máy chủ, đừng chần chừ nữa. Hãy cài MAAS ngay. Cứ bám sát cấu hình Network và IPMI như mình chia sẻ, hệ thống của bạn sẽ chạy mượt mà và cực kỳ dễ quản lý.

