VPS là gì? Giải thích dễ hiểu cho người mới
VPS là server ảo có tài nguyên, IP và quyền root riêng trên một máy vật lý. Tìm hiểu hypervisor chia sẻ gì và giới hạn thực tế của VPS.
VPS là gì?
VPS (virtual private server) là một phần tài nguyên của một máy tính vật lý trong data centre, được cho bạn thuê như thể đó là một máy riêng hoàn chỉnh. Phần mềm trên máy tính đó chia nó thành nhiều server độc lập, và bạn nhận một server trong số đó: bộ nhớ riêng, disk riêng, IP riêng và tài khoản root cho phép bạn cài đặt mọi thứ mình muốn. VPS chạy liên tục và nhận kết nối tại một địa chỉ public trên Internet.
Tách ba từ này ra thì ý nghĩa của sản phẩm cũng rõ ràng. Server là máy tính luôn bật và nhận request qua network. Virtual nghĩa là server được tạo bằng software. Server của bạn là một phân vùng trên một máy vật lý lớn hơn. Private nghĩa là phân vùng đó chỉ thuộc về bạn. File và chương trình đang chạy của bạn không hiển thị với người thuê phần tài nguyên kế bên.
Nếu trước đây bạn chưa từng có quyền root trên bất kỳ hệ thống nào, phần cuối là điều quan trọng nhất. VPS là loại hosting đầu tiên cho phép bạn làm administrator của máy. Không có gì được setup sẵn cho bạn, và cũng không có gì ngăn bạn lại.
Hypervisor phân chia và chia sẻ những gì
Chương trình thực hiện việc phân chia này được gọi là hypervisor. Nó chạy trên máy vật lý, được gọi là host. Với mỗi khách hàng, hypervisor cung cấp một bộ phần cứng giả lập gồm processor, bộ nhớ, disk và network card. Operating system được cài lên phần cứng giả lập đó và khởi động như thể nó sở hữu một máy tính thật. Hệ thống guest đó chính là VPS của bạn. KVM (kernel-based virtual machine) là hypervisor phổ biến trên các host Linux; Xen, VMware ESXi và Microsoft Hyper-V cũng thực hiện cùng nhiệm vụ.
Memory và disk được phân chia theo không gian. Processor được phân chia theo thời gian. Khác biệt này giải thích hầu hết những điều khiến người dùng bất ngờ về sau. Phần memory được cấp cho bạn không thể bị guest khác lấy. Disk của bạn là một file hoặc logical volume trên storage của host, và vẫn thuộc về bạn cho đến khi bạn xóa nó. Các virtual core của bạn là những hàng đợi chờ được chạy trên các core thật của host. Hypervisor quyết định guest nào được chạy tiếp theo hàng nghìn lần mỗi giây.
Một command cho biết bạn đã mua loại virtualisation nào.
systemd-detect-virt
uname -rsystemd-detect-virt in kvm trên VPS thông thường. Điều này có nghĩa là một hypervisor đầy đủ đã khởi động kernel chỉ thuộc về bạn. Trên container virtualisation, command này in lxc, openvz hoặc container. Khi đó server của bạn là một khu vực được cách ly bên trong operating system của host, còn kernel được chia sẻ với mọi khách hàng khác trên cùng máy. Trên bare metal, command này in none. Khác biệt này có hậu quả thực tế, vì kernel dùng chung là kernel bạn không thể thay đổi. Bạn không thể load module. Vì vậy, một tính năng trong kernel như module WireGuard VPN sẽ fail với Operation not supported, còn uname -r báo cáo một version mà bạn không tự chọn và không thể upgrade.
Virtual ở đây nghĩa là gì?
Vì server được tạo bằng phần mềm, nó tồn tại khoảng một phút sau khi bạn thanh toán. Không ai phải lắp phần cứng riêng cho bạn. Server được tạo từ một template image, nên thao tác rebuild sẽ đưa Ubuntu sạch trở lại chỉ trong vài phút. Một lỗi có thể phá hỏng cả lần cài đặt trên máy vật lý thường chỉ khiến bạn mất nhiều nhất một buổi chiều. Hầu hết provider panel cũng cho phép snapshot disk trước khi bạn thử một thay đổi có rủi ro, resize plan bằng cách reboot, và chuyển guest của bạn sang phần cứng khác khi host bên dưới cần bảo trì.
Giá cũng xuất phát từ cùng một thực tế: một máy vật lý được nhiều khách hàng cùng chi trả, nên VPS có mức giá như vậy thay vì phải thuê cả một server.
Chi phí này đi kèm ngay với lợi ích đó. Phần cứng bên dưới được dùng chung, nên một hàng xóm đang bận cũng trở thành vấn đề của bạn. Phần nói về các giới hạn bên dưới có command để đo mức ảnh hưởng này.
“Private” ở đây có nghĩa là gì?
“Private” có nghĩa là cô lập. Cần hiểu cụ thể mức độ cô lập này. Bạn có kernel riêng, root filesystem riêng, user account riêng, danh sách process riêng, rule firewall riêng và địa chỉ IP riêng. Một khách hàng khác trên cùng host không thể liệt kê process hoặc đọc file của bạn, vì guest của họ không có đường đi vào memory hoặc virtual disk của bạn. Hai bên là hai hệ điều hành riêng biệt, chỉ tình cờ dùng chung nguồn điện.
Shared hosting hoạt động theo cách ngược lại. Bạn có một directory trên máy chủ phục vụ hàng trăm website khác, một control panel và các phần mềm do provider lựa chọn cài đặt. Ở đó không có apt install, vì cài một package sẽ thay đổi toàn bộ máy chủ, mà bạn không có quyền thay đổi toàn bộ máy chủ. Shared hosting và VPS phân tích chi tiết sự đánh đổi này. Tóm lại: shared hosting cho bạn thuê một account, còn VPS cho bạn thuê một máy tính.
Bảng thông số của một VPS, đọc từng dòng
Mỗi VPS được bán kèm một danh sách ngắn các con số. Dưới đây là một gói tầm trung theo kiểu các nhà cung cấp thường quảng cáo, được dùng làm ví dụ xuyên suốt. Đây là các con số thường được công bố vào tháng 8 năm 2026, không phải báo giá.
The data behind this chart
[
{
"plan": "Example mid-range VPS",
"vcpu_cores": 4,
"ram_gb": 16,
"nvme_gb": 160,
"bandwidth_tb": 8,
"ipv4_addresses": 1
}
]Một dòng đó mô tả toàn bộ sản phẩm. Hãy đọc từ trái sang phải.
4 vCPU. vCPU (bộ xử lý trung tâm ảo) là một thread của bộ xử lý trên host được hypervisor lập lịch cho bạn. Nếu gói không ghi dedicated, đây chỉ là phần chia sẻ của thread đó chứ không phải tài nguyên được đặt trước. Bên trong server, nproc in ra 4, còn lscpu hiển thị tên model có thể là CPU thật của host hoặc model QEMU chung, tùy cách host được cấu hình.
16 GB RAM. Bộ nhớ là giới hạn được dành riêng cố định, đồng thời cũng là mức trần cố định. free -h báo thấp hơn một chút so với dung lượng bạn mua, gần 15Gi trên gói 16 GB, vì kernel và một số vùng bộ nhớ dành riêng bị trừ trước khi Linux tính phần có thể sử dụng. Khi hết bộ nhớ, VPS không thể mượn thêm từ host.
160 GB NVMe. NVMe (non-volatile memory express) là giao thức kết nối ổ đĩa bên trong host, nhanh hơn nhiều so với các SSD SATA được dùng ở những gói cũ. Phần dung lượng của bạn xuất hiện dưới dạng một virtual disk, thường là /dev/vda trên KVM. df -h / hiển thị thấp hơn một chút so với 160 GB, còn dung lượng trống lại thấp hơn nữa vì ext4 mặc định giữ lại 5 phần trăm filesystem cho root. SSD trong VPS SSD thực sự có nghĩa là gì và cách xác minh ổ đĩa bạn đã mua giải thích sâu hơn.
8 TB lưu lượng truyền. Đây là lượng dữ liệu được truyền mỗi tháng, thường chỉ tính chiều outbound. Đây là giới hạn về dung lượng, còn tốc độ port là một thông số riêng, thường là 1 Gbit/s. Vượt quá mức cho phép có thể bị tính phí hoặc throttle, tùy nhà cung cấp. Vì vậy, hãy đọc kỹ dòng này trước khi host video. sudo apt install vnstat cung cấp số liệu riêng của bạn bằng vnstat -m, tính từ ngày bạn cài đặt VPS.
1 địa chỉ IPv4. Địa chỉ này thuộc về bạn trong suốt thời gian thuê server. Bạn có thể trỏ domain vào đó, nhận traffic trên bất kỳ port nào và thường thiết lập bản ghi reverse DNS trong provider panel; mail server sẽ kiểm tra bản ghi này. Một số gói rất rẻ đặt nhiều khách hàng phía sau cùng một địa chỉ dùng chung. Mô hình này được gọi là NAT VPS. Khi đó, ip -4 addr show báo một địa chỉ private như 10.0.0.5 và các port inbound bị giới hạn.
Bốn lệnh sau xác nhận các tài nguyên bạn được cấp.
nproc
free -h
df -h /
ip -4 addr showNếu bất kỳ thông số nào trong số đó lệch quá mức làm tròn đã mô tả ở trên so với bảng thông số, bạn nên mở support ticket trước khi triển khai bất cứ thứ gì trên máy.
Ý nghĩa thực tế của quyền root
Root là tài khoản quản trị trên Linux và có user ID là 0. Chạy id -u và bạn sẽ thấy 0 khi đang dùng root. Root có thể cài package cho toàn hệ thống, mở các cổng dưới 1024 (kernel dành các cổng này cho process có quyền đặc biệt, nên user thông thường không thể khởi động web server trên port 80), nạp kernel module, thay kernel, đọc và sửa mọi file trên disk, đồng thời phá hỏng hệ thống chỉ bằng một lệnh bất cẩn. Không ai có thể hoàn tác việc đó thay bạn.
Khác biệt thực tế rất ngắn gọn. Trên shared hosting, bạn mở support ticket để yêu cầu cài một phần mềm. Trên VPS, bạn chạy lệnh này.
sudo apt update
sudo apt install -y nginx
systemctl status nginxsystemctl status nginx phải in active (running) trong vòng một hoặc hai giây, và mở địa chỉ IP của server trong trình duyệt phải hiển thị trang nginx mặc định. Nếu trạng thái in failed, hãy chạy journalctl -u nginx -n 50 và đọc các dòng cuối, vì service ghi lại lý do nó từ chối khởi động. Các nguyên nhân thường gặp là viết sai trong file cấu hình hoặc đã có chương trình khác listening trên port 80.
Root cũng là toàn bộ ranh giới bảo mật của bạn, và ban đầu nó đi kèm password do nhà cung cấp tạo. Phiên đăng nhập đầu tiên trên server mới không phải lúc để cài ứng dụng. Hãy tạo một user thông thường, chuyển đăng nhập sang SSH key và đặt firewall trước các port. Mười phút đầu tiên trên VPS mới là checklist theo đúng thứ tự, Kiến thức cơ bản về SSH key giải thích phần đăng nhập, Kiến thức cơ bản về ufw firewall giải thích phần port, còn user với quyền tối thiểu giải thích các service sau đó nên chạy dưới user nào. Server cho phép đăng nhập bằng password và không có firewall sẽ nhận hàng nghìn lần thử đoán mỗi ngày; bạn có thể theo dõi chúng bằng journalctl -u ssh -f.
Giới hạn của VPS là gì?
Bộ xử lý được dùng chung, và bạn có thể đo mức dùng chung đó. Steal time là khoảng thời gian CPU ảo của bạn đã sẵn sàng chạy nhưng không được cấp CPU, vì hypervisor đã giao physical core cho guest khác.
vmstat 1 5Cột cuối cùng, st, là steal time. Mức tăng đột biến 1 hoặc 2 phần trăm là bình thường trên mọi shared host. Nếu con số này liên tục ở mức hai chữ số trong khi các process của bạn đang idle, host đang bị oversubscribe. Không có tuning nào bên trong server của bạn khắc phục được, vì thời gian chờ xảy ra bên ngoài server. Benchmark VPS đúng cách trình bày cách chứng minh điều này trước khi bạn làm việc với provider. Steal được báo cáo trên các guest KVM và Xen. Với container virtualisation, giá trị này luôn bằng 0 và không cho bạn biết gì.
Dung lượng memory là cố định, và giới hạn đến rất đột ngột. Khi một allocation thất bại, OOM (out of memory) killer của kernel sẽ chọn một process và kết thúc process đó bằng SIGKILL.
sudo dmesg -T | grep -i "out of memory"Một dòng log có thể giải thích một outage vốn trông như không rõ nguyên nhân:
Out of memory: Killed process 2412 (mysqld) total-vm:2183104kB, anon-rss:1897224kB, file-rss:0kBLog riêng của ứng dụng thường không ghi gì, vì SIGKILL không cho process cơ hội ghi log. Nguyên nhân chỉ nằm trong kernel log. Nhiều VPS image không có swap file, khiến giới hạn này càng khó xử lý. Vì vậy, thêm một swap file nhỏ thường là thay đổi đầu tiên.
Disk nhanh và được dùng chung. NVMe của host có tốc độ cao, nhưng phần tài nguyên của bạn phải cạnh tranh với mọi guest khác cho các thao tác input và output. Benchmark thực hiện vào giờ ít tải không phải là cam kết về hiệu năng của cùng máy đó vào lúc tải cao nhất.
Bạn không thể chạm vào hardware. Bạn không thể cắm thêm thiết bị. Không có USB device, capture card hoặc graphics card, trừ khi plan chủ ý passthrough thiết bị đó. Đây là một sản phẩm riêng và đắt hơn: VPS có GPU.
Mỗi tài nguyên chỉ có đúng một bản. VPS là một máy duy nhất. Nếu host gặp lỗi, server của bạn sẽ ngừng hoạt động cho đến khi host hoạt động trở lại. Sẽ không có failover, trừ khi bạn tự xây dựng cơ chế đó. Bạn phải tự chịu trách nhiệm về backup, vì vậy backup restic từ VPS cần có trong danh sách setup. Snapshot do provider cung cấp rất tiện, nhưng không phải backup, vì nó nằm trên cùng infrastructure với dữ liệu mà nó bảo vệ.
Support chỉ xử lý đến hypervisor. Với unmanaged plan, provider duy trì hardware, network và virtualization layer ở trạng thái hoạt động bình thường. Mọi thứ từ operating system trở lên đều thuộc trách nhiệm của bạn, bao gồm security update. Hosting managed và unmanaged phân định rõ ranh giới này, còn bật unattended upgrades trên Ubuntu là việc nhỏ nhất nhưng hữu ích để bật.
VPS khác gì so với những khái niệm thường bị nhầm lẫn
Virtual machine là khái niệm chung, còn VPS là một dạng thương mại của virtual machine: một máy ảo được thuê theo tháng, có sẵn operating system, địa chỉ public và network. VPC (virtual private cloud) là một network riêng bên trong một cloud lớn hơn, nơi các server hoạt động, nên nó trả lời một câu hỏi hoàn toàn khác. VPS so với VM và VPC giải thích rõ sự khác nhau giữa ba thuật ngữ này.
Dedicated server là toàn bộ máy vật lý, không có hypervisor và không dùng chung tài nguyên với máy khác. Chi phí mỗi tháng cao hơn vài lần. Đây là lựa chọn phù hợp khi steal time hoặc disk contention thực sự là bottleneck của bạn. VPS so với dedicated server liệt kê các điểm cần cân nhắc.
VPN (virtual private network) chỉ có chung hai chữ cái với VPS, còn lại không liên quan. VPN là một tunnel được mã hóa giữa các máy. VPS là một máy tính. Một mục đích sử dụng phổ biến của VPS là chạy VPN riêng, và đây là nguyên nhân gây nhầm lẫn. VPS so với VPN phân biệt rõ hai thuật ngữ này.
Hardware do bạn sở hữu, hoặc một hypervisor như Proxmox chạy trên máy tại nhà, cho bạn nhiều tài nguyên hơn với cùng số tiền. Tuy nhiên, residential connection thường bị nhiều dịch vụ xem là không đáng tin cậy. Proxmox so với VPS cân nhắc giữa hiệu năng, tiếng ồn và uptime với chi phí thuê hàng tháng.
Người ta chạy gì trên VPS?
Câu trả lời thực tế là mọi thứ chạy được trên Linux. Những lựa chọn phổ biến gồm website kèm database, VPN riêng, game server, công cụ giám sát trạng thái, mail server, thư viện media hoặc coding agent tiếp tục hoạt động khi laptop của bạn đã đóng. Mọi thứ bạn chạy đều lắng nghe trên một port, vì vậy port trên Linux là gì là khái niệm tiếp theo đáng học, còn bạn có thể làm gì với VPS có danh sách đầy đủ hơn kèm chi phí tài nguyên của từng lựa chọn.
FAQ
VPS có giống máy ảo không?
VPS là một máy ảo do công ty cho bạn thuê, đi kèm hệ điều hành, địa chỉ IP public và mức giá hằng tháng. Công nghệ nền tảng là như nhau. Hai thuật ngữ này có phạm vi khác nhau: "máy ảo" mô tả mọi guest chạy trên hypervisor, kể cả máy chạy trên laptop của bạn, còn "VPS" mô tả sản phẩm bạn mua. VPC lại là một khái niệm thứ ba: đó là mạng riêng bên trong cloud provider, không phải một server.
Tôi có cần biết Linux để dùng VPS không?
Bạn cần biết một ít, rồi có thể vừa dùng vừa học phần còn lại. Những kiến thức ban đầu gồm kết nối bằng ssh, di chuyển giữa các thư mục bằng cd và ls, chỉnh sửa file bằng nano, cài phần mềm bằng apt và đọc log bằng journalctl. VPS không được quản trị mặc định rằng bạn sẽ tự xử lý việc cập nhật và firewall. Nếu như vậy là quá nhiều, managed plan hoặc control panel sẽ đảm nhiệm một phần công việc để đổi lấy mức phí hằng tháng cao hơn.
Vì sao VPS của tôi hiển thị ít RAM hơn mức plan cam kết?
Linux báo lượng memory có thể sử dụng, còn plan quảng cáo lượng memory được cấp. Kernel image và một số vùng memory được reserve bị trừ trước khi tổng dung lượng trong free -h được tính, nên plan 16 GB thường hiển thị khoảng 15Gi. Chênh lệch vài trăm megabyte là bình thường. Chênh lệch vài gigabyte thì không, và bạn nên gửi support ticket trong trường hợp đó.
Steal time là gì, và tôi có cần lo về nó không?
Steal time là phần trăm thời gian virtual CPU của bạn đã sẵn sàng chạy nhưng phải chờ vì hypervisor cấp physical core cho guest khác. Cột st của vmstat 1 hiển thị giá trị này. Mức 1 hoặc 2 phần trăm xuất hiện từng đợt là bình thường trên shared hardware. Mức hai chữ số kéo dài khi load của chính server đang thấp cho thấy physical host bị oversubscribe. Cách xử lý là chuyển sang host khác hoặc plan khác, vì không có thiết lập nào bên trong server của bạn kiểm soát scheduler của host.
Tôi có thể chạy nhiều service trên một VPS không?
Có. Đó là mục đích của việc có root: máy là hệ thống đa dụng, các service có thể cùng tồn tại miễn là đủ memory và mỗi service listen trên một port riêng. Memory thường là giới hạn đầu tiên bạn gặp, còn tốc độ disk là giới hạn thứ hai. Mail là ngoại lệ khó xử, vì khả năng gửi mail phụ thuộc vào reputation của địa chỉ IP, mà địa chỉ mới tại hosting provider thường chưa được các hệ thống mail lớn tin cậy.