Không phải VPS nào cũng được xây dựng giống nhau. Công nghệ ảo hóa bên dưới quyết định máy chủ của bạn được cô lập đến đâu, bạn chạy được phần mềm nào và hiệu năng ra sao. Hai cái tên bạn gặp nhiều nhất là KVM và OpenVZ, cùng với LXC.
Hai cách xây dựng máy chủ ảo
Ảo hóa toàn phần (KVM) cấp cho mỗi khách hàng một máy ảo hoàn chỉnh với kernel riêng. Hypervisor chia phần cứng, và máy chủ của bạn hoạt động như một máy tính thật.
Ảo hóa container (OpenVZ, LXC) dùng chung kernel của máy chủ vật lý cho tất cả khách hàng. Mỗi container thấy tệp và tiến trình riêng của mình nhưng chạy trên cùng kernel với các container bên cạnh.
So sánh song song
| KVM | OpenVZ / LXC | |
|---|---|---|
| Kernel | Của riêng bạn | Dùng chung với máy chủ vật lý |
| Cô lập | Mạnh | Yếu hơn |
| Chạy Docker, WireGuard, module kernel tùy chỉnh | Có | Thường bị hạn chế hoặc không thể |
| Chạy Windows | Có | Không |
| Đảm bảo RAM | Cố định và được dành riêng | Có thể bị bán quá mức ("burstable") |
| Chi phí phụ trội | Nhỏ | Nhỏ nhất |
Vì sao KVM là lựa chọn an toàn hơn
- Bạn chọn phần mềm. Docker, VPN, tường lửa như nftables và các công cụ nạp module kernel đều chạy được mà không cần xin phép.
- Bộ nhớ thật. RAM bạn mua được gán cho máy của bạn. Các host container đôi khi bán nhiều bộ nhớ hơn mức thực có và hy vọng khách hàng không dùng hết.
- Cô lập tốt hơn. Một lỗi hoặc cuộc tấn công trong máy ảo của "hàng xóm" ít có khả năng ảnh hưởng đến máy của bạn hơn nhiều.
- Hệ điều hành bất kỳ. Các bản phân phối Linux, BSD và Windows đều chạy không cần chỉnh sửa.
Khi nào container vẫn hợp lý
Container khởi động nhanh và ít lãng phí, đó là lý do các host dùng chúng cho các gói rất rẻ và lý do bạn dùng chúng bên trong VPS của mình qua Docker. Chúng ổn cho các khối lượng công việc đơn giản không cần gì đặc biệt từ kernel.
Cách kiểm tra bạn đang dùng loại nào
systemd-detect-virt
lscpu | grep -i hypervisor
cat /proc/user_beancounters # exists only on OpenVZ
kvm trong lệnh đầu tiên nghĩa là ảo hóa toàn phần. Nếu tệp cuối cùng tồn tại, bạn đang dùng OpenVZ.
Câu hỏi thường gặp
KVM có tốt hơn OpenVZ không?
Với hầu hết mục đích thì có. KVM cho mỗi VPS kernel riêng và cô lập mạnh hơn, nên bạn có thể chạy bất kỳ hệ điều hành nào và Docker. OpenVZ dùng chung kernel của máy chủ và hạn chế hơn.
Tôi có thể chạy Docker trên OpenVZ không?
Thường là không, hoặc chỉ với nhiều hạn chế, vì các container dùng chung kernel của máy chủ. KVM là lựa chọn an toàn hơn cho Docker.
KVM có đắt hơn không?
Hơi đắt hơn, vì tài nguyên được phân bổ chặt chẽ hơn, nhưng khả năng cô lập và tương thích thường xứng đáng.