SSD Nodes Learn 🎉 VPS từ $4.99/tháng
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-08-07

Storage VPS hay VPS thường: khác nhau ở đâu?

Storage VPS cho vài terabyte giá rẻ nhưng đổi lại tốc độ đĩa và CPU thấp hơn. So sánh từng thông số để chọn đúng cho backup, archive hay database.

Storage VPS so với VPS thông thường: câu trả lời ngắn gọn

Storage VPS là virtual private server được bán theo terabyte, còn VPS thông thường được bán theo số core. Gói storage cho bạn vài terabyte dung lượng đĩa chậm phía sau một phần CPU nhỏ. Gói tiêu chuẩn cho bạn ổ NVMe (non-volatile memory express) nhanh, thường nhỏ hơn 20 lần, cùng nhiều processor và memory hơn với cùng mức chi phí. Mọi yếu tố khác của hai sản phẩm đều giống nhau: cùng hypervisor, cùng root shell, cùng Ubuntu image và cùng network stack.

Chỉ khác biệt đó đã quyết định loại VPS nào phù hợp. Storage VPS phù hợp cho backup target, media library, cold archive và mọi dữ liệu chỉ ghi một lần rồi hiếm khi đọc lại. Nó không phù hợp cho database hoặc bất kỳ trang nào mà người dùng phải chờ, vì các workload đó cần các thao tác đọc ngẫu nhiên nhỏ hoàn tất trong khoảng 1 millisecond. Dung lượng giá rẻ có giá rẻ chính vì không thể đáp ứng yêu cầu này.

Tên các gói bạn thường gặp trên trang bảng giá

Bốn nhãn này bao quát gần như mọi nhà cung cấp, nhưng chỉ hai nhãn có ý nghĩa cụ thể.

  • Standard VPS. 2 đến 8 vCPU, 2 GB đến 32 GB RAM và 20 GB đến 400 GB NVMe hoặc SATA SSD đặt ngay trên host node.
  • Storage VPS. 1 TB đến 20 TB hoặc hơn, thường dùng ổ SATA quay hoặc SATA SSD dung lượng cao, với 1 đến 4 vCPU dùng chung và lượng RAM vừa phải. Giá thường mỗi tháng bằng một gói standard nhỏ.
  • VDS. Viết tắt của virtual dedicated server. Không có định nghĩa thống nhất cho thuật ngữ này, và phần bên dưới sẽ giải thích bạn nên đọc thông tin nào thay thế.
  • Block storage volume. Đây không phải một gói riêng mà là disk gắn qua network, được thêm vào VPS hiện có và tính phí theo GB mỗi tháng. Đây là loại duy nhất trong bốn loại có thể mở rộng mà không cần chuyển server.

Các khoảng thông số trên là dạng phổ biến trên thị trường, không phải ưu đãi của một công ty cụ thể nào. Nhãn của gói chỉ là một category, nên chỉ cho biết sơ bộ server của bạn nằm trên loại chassis nào. Nhãn đó không cho biết loại disk, chính sách phân bổ CPU hay hạn mức bandwidth. Đây mới là những thông tin quyết định workload của bạn có chạy ổn định hay không.

Điều gì thực sự khác nhau giữa hai gói

Loại và dung lượng disk. Đây là khác biệt cốt lõi giữa hai sản phẩm. Gói tiêu chuẩn sử dụng flash NVMe kết nối qua bus PCI Express. Gói storage sử dụng một mảng lớn gồm disk quay hoặc SATA SSD dung lượng cao. Nếu bạn chưa rõ điểm nào trong các thuật ngữ này quan trọng với mình, hãy bắt đầu với VPS SSD là gì và khác các gói dùng disk đời cũ như thế nào, sau đó xem khác biệt thực tế giữa NVMe và SATA SSD.

Tỷ lệ CPU. Gói storage có ít vCPU hơn trên mỗi terabyte, và các vCPU này gần như luôn được chia sẻ với tenant khác. Đây không phải lỗi thiết kế. Backup target chủ yếu chờ network nên không cần nhiều core.

RAM. Gói storage có ít RAM so với chi phí. Điều này ảnh hưởng rõ nhất ở một điểm: metadata của filesystem. Hàng triệu file nhỏ cần RAM để lưu directory cache và inode cache. Nếu không có đủ RAM, mỗi lần liệt kê lại phải truy cập disk.

Dung lượng network. Hãy đọc kỹ dòng này khi dùng gói storage. Dung lượng mà bạn không thể restore thì không phải backup. Kiểm tra dung lượng transfer hàng tháng theo TB và tốc độ cổng theo Gbit/s. Restore đầy đủ 4 TB qua cổng 1 Gbit/s mất khoảng chín giờ ở tốc độ đường truyền tối đa, và sẽ lâu hơn nhiều nếu cổng được chia sẻ.

ChartTypical advertised disk cost per TB per month, August 2026
The data behind this chart
[
  {
    "plan": "Storage VPS, HDD",
    "usd_per_tb_month": 3
  },
  {
    "plan": "Storage VPS, SATA SSD",
    "usd_per_tb_month": 9
  },
  {
    "plan": "Standard VPS, NVMe",
    "usd_per_tb_month": 40
  },
  {
    "plan": "Block storage add-on",
    "usd_per_tb_month": 90
  }
]

Đây là các số liệu đã làm tròn, lấy từ các trang giá công khai của một số provider vào tháng 8 năm 2026, không phải báo giá của một công ty cụ thể, và các mức giá này có thể thay đổi. Điều có tính ổn định là xu hướng chung. Một terabyte trên gói storage dùng disk quay có giá khoảng 3 đô la Mỹ mỗi tháng. Cùng dung lượng một terabyte NVMe trên gói tiêu chuẩn có giá khoảng 40, còn network attached block volume là lựa chọn đắt nhất trong 4 lựa chọn, ở mức 90. Để xem tổng quan đầy đủ hơn về các khoản tạo nên hóa đơn hàng tháng, hãy xem VPS thực sự tốn bao nhiêu mỗi tháng.

Vì sao giá mỗi TB và giá mỗi core thường đi ngược nhau

Một node lưu trữ là chassis chứa 12 đến 16 ổ đĩa dung lượng lớn, với một processor vừa phải ở phía trước. Một node compute thì ngược lại: nhiều core, nhiều RAM và 2 hoặc 4 ổ NVMe. Provider bán phần tài nguyên còn dư của chassis đó. Vì vậy, plan có giá mỗi terabyte thấp thường có giá mỗi core cao; còn plan có giá mỗi core thấp thường có giá mỗi terabyte cao. Không có plan nào rẻ ở cả hai mặt, vì không có chassis nào được xây dựng theo cách đó.

Đây là lý do câu trả lời trung thực cho câu hỏi "tôi nên mua loại nào" thường là "cả hai". Một VPS NVMe nhỏ chạy application, cộng với một storage VPS lưu backup, có chi phí thấp hơn một máy đủ lớn để làm tốt cả hai nhiệm vụ. Khi một máy thực sự phải làm cả hai nhiệm vụ, bạn đã vượt ra ngoài phạm vi VPS: xem khi dedicated server phù hợp hơn VPS.

Đọc ngẫu nhiên là việc mà ổ đĩa giá rẻ không làm tốt

ChartRandom 4k read figures by disk class, vendor datasheet order of magnitude
The data behind this chart
[
  {
    "disk": "7200 rpm SATA HDD",
    "random_read_iops": "180",
    "typical_latency_ms": 8.5
  },
  {
    "disk": "SATA SSD",
    "random_read_iops": "75,000",
    "typical_latency_ms": 0.2
  },
  {
    "disk": "NVMe SSD",
    "random_read_iops": "600,000",
    "typical_latency_ms": 0.08
  }
]

Đây là các con số theo phân khúc trong datasheet, không phải kết quả benchmark của bất kỳ nhà cung cấp nào. Ổ đĩa 7200 rpm xử lý khoảng 180 lần đọc ngẫu nhiên 4k mỗi giây vì đầu đọc phải di chuyển vật lý đến đúng track, sau đó chờ platter đưa sector đến bên dưới đầu đọc. Mỗi lần như vậy mất khoảng 8.5 ms. Flash không có bộ phận cần di chuyển, nên SATA SSD đạt khoảng 75,000, còn thiết bị NVMe đạt khoảng 600,000 IOPS với độ trễ 0.08 ms. Chênh lệch là hơn ba nghìn lần. Không thể dùng thêm RAM hoặc CPU để bù lại.

Tác vụ tuần tự lại hoàn toàn khác. Đây là lý do các gói lưu trữ vẫn hữu ích. Một ổ đĩa cơ vẫn stream dữ liệu ở tốc độ 150 MB/s đến 250 MB/s, còn một array gồm nhiều ổ sẽ đạt cao hơn. Mức này đủ bão hòa cổng 1 Gbit/s, nên việc upload bản backup chạy ở tốc độ mạng tối đa và ổ đĩa không bao giờ là giới hạn. Các con số của bạn cũng phụ thuộc vào cách xây dựng array, vì striping chia một request cho nhiều ổ đĩa: RAID 10 thay đổi hiệu năng của gói lưu trữ như thế nào trình bày vấn đề này.

VDS nghĩa là gì?

Thông thường, đây chỉ là nhãn marketing. Có 3 cách hiểu phổ biến, nhưng nhà cung cấp hiếm khi nói rõ họ đang dùng cách nào. Một số nhà cung cấp dùng VDS để chỉ các CPU core được ghim hoặc dành riêng, nên tenant khác không cạnh tranh thời gian CPU với bạn. Một số dùng thuật ngữ này cho mô hình ảo hóa toàn phần như KVM, trái ngược với ảo hóa bằng container như LXC hoặc OpenVZ, trong đó bạn dùng chung kernel của máy chủ vật lý. Một số khác không gán cho nó ý nghĩa kỹ thuật nào ngoài việc dùng một tên nghe mạnh hơn VPS.

Bạn có thể xác định một phần thông tin ngay từ bên trong server. systemd-detect-virt in kvm trên máy ảo toàn phần và in lxc trên container. Container nghĩa là bạn không thể nạp kernel module hoặc chạy kernel của riêng mình. Với tuyên bố về CPU dành riêng, bạn phải đo bằng cách kiểm tra steal time được nêu ở phần dưới. Hãy xem các chữ cái trong gói dịch vụ là dấu hiệu tham khảo, còn các dòng thông số mới là cam kết kỹ thuật.

Các dòng thông số cần kiểm tra thay vì tên gọi

  • Từ được ghi cạnh dung lượng: NVMe, SSD, SATA hoặc HDD. Nếu không thấy từ nào liên quan đến disk trên trang, hãy giả định đó là phần cứng rẻ nhất phù hợp với mức giá.
  • Disk là local trên node hay được gắn qua network. Network attached storage thêm độ trễ vào mọi request và vẫn tồn tại khi node gặp sự cố. Local disk nhanh hơn nhưng sẽ ngừng hoạt động cùng node.
  • Cách mô tả CPU: "dedicated" hoặc "pinned" so với "shared", "fair share" hoặc không ghi gì.
  • Giới hạn IOPS hoặc MB/s được ghi trong plan. Giới hạn 500 IOPS khiến loại disk gần như không còn quan trọng.
  • Dung lượng transfer hằng tháng và tốc độ port. Hai thông số này quyết định thời gian cần để restore đầy đủ.
  • Snapshots, backups và địa chỉ IP bổ sung được bao gồm hay tính phí riêng.

Cách kiểm tra disk thực tế bạn nhận được

Bắt đầu với thông tin kernel báo cáo, sau đó đừng tin tuyệt đối vào thông tin đó.

lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /
nproc
free -h

ROTA có giá trị 1 với thiết bị quay và 0 với flash. Không nên dựa vào giá trị này trong VPS: disk virtio thường báo ROTA=0 bất kể thiết bị phía sau là gì, vì hypervisor trình bày một block device generic và guest không nhìn thấy drive vật lý. MODEL cũng trống vì cùng lý do. Flag này mô tả những gì hypervisor khai báo, không phải thiết bị đang quay trong rack, nên hãy đo thực tế.

sudo apt update && sudo apt install -y fio
fio --name=randread --filename=/var/tmp/fio.test --size=1G --bs=4k --rw=randread \
  --ioengine=libaio --direct=1 --iodepth=32 --runtime=30 --time_based --group_reporting
rm -f /var/tmp/fio.test

--direct=1 bỏ qua page cache, nên phép đo phản ánh disk thay vì RAM. Dòng cần đọc là read: IOPS=, với phân phối kết quả nằm dưới clat percentiles (usec). Một gói NVMe tiêu chuẩn thường đạt hàng chục nghìn IOPS, với percentile 99 dưới một millisecond. Một gói storage dùng disk quay thường đạt vài trăm IOPS, với percentile 99 ở mức hàng chục millisecond. Nếu fio báo engine libaio không thể load, hãy dùng --ioengine=psync --iodepth=1 và kỳ vọng kết quả thấp hơn, vì engine đó gửi từng request một.

vmstat 1 5
sudo apt install -y sysstat
iostat -x 1 5

Trong vmstat, cột st là steal time: tỷ lệ thời gian vCPU của bạn đã sẵn sàng chạy nhưng host cấp các CPU cycle đó cho guest khác. Giá trị ổn định trên 5 nghĩa là node đang bị oversubscribe. Đây mới là phép kiểm tra thực tế đối với tuyên bố "dedicated CPU". Trong iostat -x, hãy theo dõi %util, r_awaitw_await. %util gần 100 cùng với w_await ở mức hàng chục millisecond nghĩa là disk đang là bottleneck và không thể khắc phục bằng tuning ứng dụng. Với các kiểm tra riêng cho flash, xác minh disk NVMe thực sự là NVMe sẽ đi sâu hơn.

Chọn theo workload

  • Đích backup cho restic, Borg hoặc rsync. Chọn Storage VPS. Đây là workload mà loại máy này được xây dựng cho. Dữ liệu ghi thường lớn và tuần tự, quá trình deduplication diễn ra trên máy nguồn, và không có tiến trình nào phải chờ kết quả. Lưu ý: restic prunerestic check --read-data đọc toàn bộ repository theo từng phần nhỏ, nên hãy dành vài giờ cho chúng và chạy theo lịch. Xem chạy backup restic lên VPS.
  • Thư viện media cho Immich hoặc Jellyfin. Dùng Storage VPS để lưu file, nhưng cần lưu ý về CPU. Immich tạo thumbnail và chạy các job machine learning khi import, còn Jellyfin transcode khi phát. Hai vCPU dùng chung sẽ xử lý rất chậm lần import đầu tiên với 200 GB ảnh. Giữ database và thumbnail cache trên ổ đĩa nhanh nhất trong máy. tự host Immich thay cho Google Photos trình bày cách sizing.
  • PostgreSQL hoặc MySQL. Chọn gói NVMe tiêu chuẩn. Mỗi lần commit kết thúc bằng một fsync phải được ghi vào storage bền vững trước khi transaction trả về. Vì vậy, độ trễ commit chính là độ trễ của disk, còn một lần index lookup là một lần đọc ngẫu nhiên 8 kB, đúng kiểu workload mà spinning disk xử lý kém nhất.
  • Web application, API hoặc control plane. Chọn gói tiêu chuẩn. Các workload này cần core CPU và độ trễ ổn định, nhưng hiếm khi cần hơn 100 GB.
  • CI cache hoặc artifact store. Còn tùy kích thước file. Các tarball lớn có thể stream từ gói storage với đầy đủ network speed. Cache gồm hàng trăm nghìn file nhỏ, được nhiều runner pull song song, thực chất là random IO và sẽ khiến bạn thất vọng.

Khi cấu hình sai, biểu hiện sẽ như thế nào

Lỗi không xuất hiện ngay lập tức. Một database trên gói lưu trữ dùng ổ đĩa quay vẫn có vẻ ổn với một người dùng, nhưng sẽ sụp đổ khi có 10 người dùng. Nguyên nhân là các truy vấn trước đây được xử lý từ RAM bắt đầu phải đọc từ disk, khiến thời gian xử lý mỗi truy vấn tăng từ microseconds lên milliseconds. Load average tăng, trong khi top cho thấy CPU hầu như không bận và chỉ số %wa cao. Điều này có nghĩa là các process đang bị chặn để chờ disk thay vì thực hiện phép tính. iostat -x 1 cho thấy %util gần như bị ghim ở 100.

PostgreSQL ghi rõ nguyên nhân trong log của chính nó, vì log_checkpoints được bật mặc định từ version 15:

LOG:  checkpoint complete: wrote 8241 buffers (2.5%); ... write=112.402 s, sync=9.318 s, total=121.914 s

Chỉ số sync= mới là giá trị cần quan tâm. Đây là thời gian checkpoint phải chờ fsync hoàn tất. Vì vậy, giá trị tính bằng seconds cho thấy disk không thể ghi nhanh bằng tốc độ database tạo ra dữ liệu. Các kết nối client bị treo trong khoảng thời gian đó, dù bản thân query không tốn nhiều tài nguyên. Cách xử lý không phải là thay đổi cấu hình. Hãy chuyển data directory sang NVMe, còn gói lưu trữ hiện tại chỉ dùng cho mục đích phù hợp với nó: lưu các bản backup của database đó.

FAQ

VPS lưu trữ có chậm hơn VPS thông thường không?

Với thao tác đọc và ghi ngẫu nhiên thì có, chậm hơn rất nhiều. Gói lưu trữ dùng ổ đĩa quay chỉ xử lý được vài trăm yêu cầu ngẫu nhiên nhỏ mỗi giây, mỗi yêu cầu mất khoảng 8 ms. Trong khi đó, gói NVMe xử lý được hàng chục nghìn yêu cầu với độ trễ dưới 1 ms. Với truyền tuần tự, chênh lệch nhỏ hơn nhiều vì một storage array vẫn truyền được từ 150 MB/s trở lên, đủ để lấp đầy cổng 1 Gbit/s. Hãy tự đo bằng fio --rw=randread --bs=4k --direct=1 trước khi quyết định.

Tôi có thể chạy PostgreSQL trên VPS lưu trữ không?

Bạn có thể khởi động PostgreSQL và nó sẽ hoạt động cho đến khi working set không còn vừa trong RAM. Sau đó, mỗi lần commit phải chờ một fsync trên ổ đĩa chậm. Postgres ghi nhận thời gian này dưới dạng sync= tính bằng giây trong checkpoint complete, còn iostat -x 1 hiển thị %util ở mức gần 100 cùng với w_await cao. Cách triển khai phổ biến là dùng một VPS NVMe nhỏ cho database và một VPS lưu trữ làm đích chứa các bản dump.

VDS có nghĩa là tôi được dùng phần cứng riêng không?

Không nhất thiết. VDS không có một định nghĩa tiêu chuẩn. Một số nhà cung cấp dùng thuật ngữ này cho các CPU core được ghim cố định. Một số khác dùng nó cho virtualization đầy đủ bằng KVM, thay vì container dùng chung kernel. Cũng có nhà cung cấp chỉ dùng VDS như một tên gọi. Chạy systemd-detect-virt để xem bạn đang dùng kvm hay lxc. Chạy vmstat 1 5 và theo dõi cột st để kiểm tra tenant khác có đang chiếm CPU cycles của bạn hay không.

Làm thế nào để biết disk trên VPS của tôi thực sự là NVMe?

Không nên tin lsblk -d -o NAME,ROTA,MODEL vì disk virtio thường báo cáo ROTA=0 và chuỗi model trống, bất kể phần cứng bên dưới là gì. Chạy bài kiểm tra đọc ngẫu nhiên fio trong 30 giây bằng --direct=1, sau đó xem IOPS và độ trễ ở percentile 99. Vài trăm IOPS với độ trễ hàng chục mili giây là storage array dùng ổ đĩa quay. Hàng chục nghìn IOPS với độ trễ dưới 1 mili giây là flash.

#storage-vps#vps-types#nvme#sao lưu#vds