Multipass: Tạo máy ảo Ubuntu trong 30 giây – ‘Cứu cánh’ thay thế VirtualBox

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

2 giờ sáng và nỗi ám ảnh mang tên VirtualBox

Kịch bản quen thuộc: Server production báo lỗi oái oăm lúc nửa đêm. Bạn cần gấp một môi trường Ubuntu sạch để tái hiện bug, nhưng máy cá nhân lại chạy Windows. Mở VirtualBox lên? Bạn phải chờ nó load, chọn file ISO, cấu hình RAM, CPU rồi ngồi đợi cài đặt OS. Mất ít nhất 15 phút quý giá. Quá chậm chạp khi mọi giây phút đều tính bằng tiền.

Đó là lý do mình chuyển hẳn sang Multipass. Đây là công cụ do Canonical (đội ngũ phát triển Ubuntu) xây dựng. Chỉ cần một dòng lệnh, bạn có ngay máy ảo. Nó cực nhẹ vì tận dụng hypervisor có sẵn của hệ điều hành như Hyper-V (Windows), HyperKit (macOS) hoặc KVM (Linux). Thay vì giả lập phần cứng nặng nề, Multipass chạy gần như trực tiếp trên tài nguyên máy chủ.

Mình đang vận hành homelab với Proxmox quản lý 12 VM. Tuy nhiên, để test nhanh một đoạn script hay cấu hình Nginx, mình luôn chọn Multipass ngay trên laptop. Dưới đây là cách bạn làm chủ công cụ này.

Quick Start: Có ngay máy ảo trong chớp mắt

Hãy quên việc click chuột đi. Mọi thứ trong Multipass đều diễn ra trên terminal với tốc độ chóng mặt.

1. Cài đặt đơn giản

  • macOS: brew install --cask multipass
  • Windows: Dùng choco install multipass hoặc tải installer từ trang chủ.
  • Linux: sudo snap install multipass

2. Khởi tạo máy ảo đầu tiên

Mở Terminal/PowerShell và gõ đúng một lệnh duy nhất:

multipass launch --name dev-box

Multipass sẽ tự tải image Ubuntu LTS mới nhất và cấu hình tài nguyên. Trong điều kiện mạng ổn định, quá trình này mất chưa đầy 60 giây.

3. Truy cập vào shell

multipass shell dev-box

Giờ bạn đã ở trong môi trường Ubuntu. Bạn có thể thoải mái thử nghiệm cấu hình. Nếu lỡ tay làm hỏng? Xóa và tạo lại chỉ mất thêm 30 giây nữa.

Tại sao Multipass lại ‘được lòng’ dân DevOps hơn?

Nhiều bạn mới học IT thường chọn VirtualBox vì giao diện đồ họa (GUI). Nhưng thực tế, GUI của hệ điều hành chỉ làm tốn RAM và CPU vô ích. Multipass loại bỏ hoàn toàn những thứ rườm rà đó.

  • Tốc độ khởi động: Máy ảo Multipass sẵn sàng làm việc sau khoảng 15-20 giây. Con số này ở VirtualBox thường là 2-3 phút.
  • Tiết kiệm tài nguyên: Multipass chỉ tiêu tốn khoảng 20-30MB RAM cho tiến trình nền khi không chạy VM.
  • Tự động hóa: Hỗ trợ Cloud-init giúp bạn cài sẵn Docker, Git hoặc Node.js ngay khi vừa boot máy.

Tùy biến cho nhu cầu thực tế

Cấu hình mặc định thường khá khiêm tốn. Khi cần chạy các ứng dụng nặng như cụm Kubernetes mini, bạn nên chỉ định rõ tài nguyên.

Cấp phát RAM và CPU

Ví dụ, tạo một máy ảo mạnh mẽ với 2 CPU, 4GB RAM và 20GB ổ cứng:

multipass launch --name k8s-node --cpus 2 --memory 4G --disk 20G

Chia sẻ dữ liệu giữa máy thật và máy ảo

Đây là tính năng ‘ăn tiền’ nhất. Bạn code trên VS Code ở máy thật nhưng muốn thực thi trong môi trường Linux chuẩn:

# Mount thư mục dự án vào máy ảo
multipass mount ./my-project dev-box:/home/ubuntu/project

Sử dụng Cloud-init để setup tự động

Đừng tốn công gõ apt update thủ công. Hãy chuẩn bị file cloud-config.yaml:

#cloud-config
packages:
  - docker.io
  - curl
runcmd:
  - systemctl start docker

Sau đó khởi chạy kèm file cấu hình:

multipass launch --name auto-docker --cloud-init cloud-config.yaml

Quản lý và dọn dẹp hệ thống

Đừng để các máy ảo cũ chiếm dụng tài nguyên laptop của bạn. Hãy ghi nhớ các lệnh dọn dẹp sau:

  • multipass list: Kiểm tra danh sách máy ảo đang chạy.
  • multipass stop dev-box: Tạm dừng để tiết kiệm pin.
  • multipass delete dev-box: Đưa máy ảo vào thùng rác.
  • multipass purge: Xóa vĩnh viễn và giải phóng hoàn toàn dung lượng ổ cứng.

Kinh nghiệm thực chiến

Sau một thời gian dài sử dụng Multipass thay thế các giải pháp nặng nề, mình rút ra vài lưu ý nhỏ:

  1. Kiểm tra IP: IP của VM có thể thay đổi sau khi bạn restart máy thật. Hãy dùng multipass info dev-box để lấy IP mới nhất trước khi cấu hình SSH.
  2. Tận dụng Aliases: Bạn có thể chạy lệnh bên trong VM ngay từ terminal máy thật. Ví dụ: multipass alias dev-box:ls my-ls. Sau đó chỉ cần gõ multipass my-ls.
  3. Thử nghiệm phiên bản cũ: Nếu cần test app trên Ubuntu 20.04, hãy gõ multipass find để xem danh sách các image được hỗ trợ.

Multipass không sinh ra để thay thế hoàn toàn các hệ thống ảo hóa chuyên dụng như Proxmox. Tuy nhiên, trong vai trò một sandbox để dev và test nhanh, nó thực sự không có đối thủ. Nếu bạn đã mệt mỏi với sự chậm chạp của VirtualBox, hãy thử Multipass ngay. Tiết kiệm 15 phút mỗi lần tạo máy ảo sẽ giúp bạn tập trung tối đa vào việc fix bug.

Share: