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 multipasshoặ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ỏ:
- 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. - 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. - 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.

