SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Storage VPS 與一般 VPS 有什麼差別?

Storage VPS 以 TB 容量換取較慢磁碟與較少 vCPU;一般 VPS 則提供快 20 倍容量差異的 NVMe 與更多 CPU。了解規格差異及各自適合的工作負載。

儲存 VPS 與一般 VPS:簡短結論

儲存 VPS 以 TB 為單位販售,一般 VPS 則以 CPU 核心數為主要規格。儲存方案提供數 TB 的慢速磁碟,但 CPU 配額較少。標準方案則提供快速的 NVMe (non-volatile memory express) 磁碟,容量通常小 20 倍,並在相同費用下提供更多處理器資源與記憶體。兩種產品的其他部分相同:使用相同的 hypervisor、相同的 root shell、相同的 Ubuntu image,以及相同的 network stack。

這項差異會直接決定適用情境。儲存 VPS 適合用作備份目標、媒體庫、冷資料封存,以及其他只寫入一次且很少讀取的用途。它不適合資料庫,也不適合任何需要使用者等待載入的頁面,因為這些工作負載需要在約 1 毫秒內完成小型隨機讀取;低價容量之所以便宜,正是因為無法做到這一點。

定價頁面上常見的方案名稱

幾乎所有供應商都會使用以下 4 種標籤,但其中只有 2 種具有明確意義。

  • Standard VPS。 2 到 8 個 vCPU、2 GB 到 32 GB RAM,以及 20 GB 到 400 GB 的 NVMe 或 SATA SSD,儲存在主機節點本身。
  • Storage VPS。 1 TB 到 20 TB 以上,通常使用傳統 SATA 磁碟或高容量 SATA SSD,搭配 1 到 4 個共用 vCPU 和適量 RAM。其每月費用通常與小型標準方案相同。
  • VDS。 virtual dedicated server 的縮寫。這個詞沒有共通定義,下一節會說明應改看哪些資訊。
  • Block storage volume。 這根本不是方案,而是加入既有 VPS 的網路附加磁碟,按每 GB 每月計費。4 種選項中,只有它能在不搬遷伺服器的情況下擴充。

以上範圍是市場上常見的形式,不代表任何單一公司的方案。方案上的標籤只是分類,因此只能大致告訴你伺服器位於哪種主機設備上。它不會告訴你磁碟類型、CPU 配置政策或頻寬額度,而真正決定工作負載能否順利執行的,正是這些項目。

兩種方案實際上有哪些差異

磁碟類型與容量。 這是兩種產品的全部差異。標準方案使用透過 PCI Express 匯流排存取的 NVMe flash。儲存方案則使用大型旋轉式磁碟陣列或高容量 SATA SSD。若不確定這些術語中哪些與你有關,請先閱讀 什麼是 SSD VPS,以及它與舊式磁碟方案有何不同,再閱讀 NVMe 與 SATA SSD 的實際差距

CPU 配比。 儲存方案每 TB 配置的 vCPU 較少,而且這些 vCPU 幾乎總是與其他租戶共用。這不是缺點。備份目標大部分時間都在等待網路,因此不需要太多核心。

RAM。 以價格而言,儲存方案的 RAM 較少。這會在特定情況下造成問題:檔案系統中繼資料。數百萬個小型檔案需要記憶體保存目錄與 inode 快取;缺少記憶體時,每次列出檔案都必須重新讀取磁碟。

網路流量額度。 使用儲存方案時,請仔細閱讀這一項。無法從中還原的容量不算備份。請確認每月傳輸額度(TB)與連接埠速度(Gbit/s),因為透過 1 Gbit/s 連接埠以線速還原完整的 4 TB 約需 9 小時;若連接埠為共用,所需時間會更長。

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
  }
]

這些是根據 2026 年 8 月多家供應商公開價格頁面整理的約略數字,不代表任何單一公司的報價,而且價格會變動。長期不變的是整體價格結構。旋轉式儲存方案每 TB 每月約為 3 美元。同樣容量的標準方案 NVMe 每月約為 40,而網路連接的 block volume 在 4 個選項中最昂貴,每月為 90。如需進一步了解每月帳單的組成,請參閱 VPS 每月實際成本是多少

為什麼每 TB 價格與每核心價格會朝相反方向變化

儲存節點是配備 12 到 16 顆大型磁碟的機箱,前端只有一顆效能普通的處理器。計算節點則相反:具備許多核心、大量 RAM,以及 2 或 4 顆 NVMe 磁碟。供應商會銷售該機箱的剩餘資源。因此,每 TB 價格低的方案,每核心價格就高;每核心價格低的方案,每 TB 價格就高。不存在兩者都便宜的方案,因為沒有機箱是以這種方式建置的。

因此,對於「我應該買哪一種」這個問題,誠實的答案通常是「兩種都買」。使用小型 NVMe VPS 執行應用程式,再使用儲存 VPS 保存備份,成本低於購買一台足以妥善執行兩項工作的機器。若確實需要讓同一台機器同時負責兩項工作,就已經超出 VPS 的適用範圍:請參閱 專用伺服器勝過 VPS 的情況

廉價磁碟無法處理隨機讀取

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
  }
]

這些是資料表等級的數據,不是任何供應商的基準測試結果。7200 rpm 磁碟每秒大約只能處理 180 次隨機 4k 讀取,因為磁頭必須實際移動到磁軌,然後等待碟片將磁區轉到磁頭下方;每次約需 8.5 ms。Flash 不需要移動元件,因此 SATA SSD 可達約 75,000 IOPS,NVMe 裝置則約為 600,000 IOPS,延遲為 0.08 ms。兩者差距超過 3000 倍,再多的 RAM 或 CPU 也無法彌補。

循序作業完全不同,因此儲存方案仍然有其用途。單顆旋轉式磁碟仍可提供 150 MB/s 至 250 MB/s 的串流速度,多顆磁碟組成陣列後速度更高。這足以讓 1 Gbit/s 連接埠達到飽和,因此備份上傳可使用完整的網路速度,而磁碟不會成為瓶頸。實際數據也取決於陣列的組成方式,因為 striping 會將單一請求分散到多顆磁碟:RAID 10 如何改變儲存方案效能涵蓋了這一點。

VDS 是什麼意思?

通常這只是行銷標籤。這個縮寫有 3 種常見含義,而供應商很少說明實際採用哪一種。有些供應商以 VDS 表示綁定或專用的 CPU 核心,因此不會有其他租戶與你的工作負載競爭 CPU 時間。有些供應商以 VDS 表示完整虛擬化,例如 KVM,藉此區別於 LXC 或 OpenVZ 等容器虛擬化;後者會與主機共用 kernel。有些供應商則完全沒有額外含義,只是採用一個聽起來比 VPS 更強的名稱。

你可以在伺服器內部確認其中一部分。systemd-detect-virt 在完整虛擬機器上會輸出 kvm,在容器上則會輸出 lxc;使用容器表示你無法載入 kernel module,也無法執行自有 kernel。至於專用 CPU 的說法,必須使用下文的 steal time 檢查進行測量。將方案上的縮寫視為提示,並以規格列出的內容作為合約依據。

不要只看名稱,應改為檢查這些規格

  • 容量旁邊列出的磁碟類型:NVMeSSDSATAHDD。如果頁面上完全沒有出現任何磁碟相關字樣,則假設採用符合該價格的最低成本硬體。
  • 磁碟是節點本機儲存,還是透過網路連接。網路連接儲存會讓每次請求增加延遲,且可在節點故障後繼續保留資料。本機磁碟速度較快,但會隨節點一同故障。
  • CPU 的描述是「dedicated」或「pinned」,還是「shared」、「fair share」或完全未標示。
  • 方案是否標示 IOPS 或 MB/s 上限。若上限為 500 IOPS,磁碟類型幾乎無關緊要。
  • 每月傳輸流量額度與連接埠速度。這兩者會決定完整還原需要多久。
  • snapshots、backups 與額外 IP 位址是否包含在方案內,或須另行計費。

如何確認你實際取得的磁碟

先查看 kernel 回報的資訊,再停止盲目信任這些資訊。

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

ROTA 對旋轉式裝置為 1,對 flash 裝置為 0。在 VPS 內不要依賴這個欄位:virtio 磁碟通常會回報 ROTA=0,不論底層實際使用的是什麼裝置,因為 hypervisor 會呈現通用的 block device,而 guest 看不到實體磁碟。MODEL 基於相同原因會是空值。這個旗標描述的是 hypervisor 宣告的內容,不是機架中實際旋轉的磁碟,因此應改用測量結果判斷。

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 會繞過 page cache,因此測量的是磁碟而不是 RAM。應讀取的行是 read: IOPS=,其下方的 clat percentiles (usec) 會顯示 distribution。標準 NVMe 方案通常會回報數萬 IOPS,且第 99 百分位低於 1 毫秒。旋轉式儲存方案通常只有數百 IOPS,且第 99 百分位為兩位數毫秒。若 fio 回報無法載入 libaio engine,請使用 --ioengine=psync --iodepth=1,並預期數值較低,因為該 engine 一次只會發出 1 個請求。

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

vmstat 中,st 欄位是 steal time:你的 vCPU 已準備執行,但 host 將這些 CPU 週期提供給其他 guest 的時間比例。穩定高於 5 表示該 node 過度超額配置,這才是檢驗「dedicated CPU」宣稱的實際方式。在 iostat -x 中,請監看 %utilr_awaitw_await%util 接近 100,且 w_await 為數十毫秒時,表示磁碟是瓶頸,任何應用程式調校都無法改善結果。若要進行 flash 專用檢查,確認 NVMe 磁碟確實是 NVMe 可取得更深入的資訊。

依工作負載選擇

  • 作為 restic、Borg 或 rsync 的備份目標。 選擇 Storage VPS,這正是它的設計用途。寫入作業量大且連續,重複資料刪除在來源機器上完成,而且不會有程序等待結果。須注意:restic prunerestic check --read-data 會以小區塊讀取整個儲存庫,因此應預留數小時,並排程執行。請參閱 將 restic 備份執行至 VPS
  • Immich 或 Jellyfin 媒體庫。 檔案使用 Storage VPS,但須注意 CPU 效能。Immich 在匯入時會產生縮圖並執行機器學習工作,Jellyfin 則會在播放時進行轉碼。使用 2 個共用 vCPU 處理首次匯入的 200 GB 相片時,速度會非常慢。請將資料庫與縮圖快取放在該主機中速度最快的磁碟上。自行託管 Immich 取代 Google Photos 說明了容量規劃。
  • PostgreSQL 或 MySQL。 選擇標準 NVMe 方案。每次提交最後都會執行 fsync,且必須在交易返回前寫入持久儲存,因此提交延遲就是磁碟延遲;索引查詢則是隨機讀取 8 kB,正是傳統硬碟最不擅長的工作。
  • Web 應用程式、API 或控制平面。 選擇標準方案。這些工作負載需要 CPU 核心與可預期的延遲,而且很少需要超過 100 GB。
  • CI 快取或成品儲存庫。 取決於檔案大小。大型 tarball 可透過 Storage 方案以完整網路速度串流傳輸。若快取包含數十萬個小檔案,並由多個 runner 平行擷取,實際上就是隨機 IO,效能會令人失望。

發生這種錯誤時的情況

故障不會立即發生。使用單一使用者時,採用傳統硬碟儲存方案的資料庫看似運作正常;但使用者增加到 10 人後就會崩潰。原因是原本可從 RAM 取得的查詢開始讀取磁碟,每次操作的成本也從微秒增加到毫秒。Load average 持續上升,但 top 顯示 CPU 大多處於閒置狀態,且 %wa 數值偏高。這表示程序不是在執行運算,而是阻塞並等待磁碟。iostat -x 1 則顯示 %util 幾乎固定在 100。

PostgreSQL 會直接在自己的 log 中說明問題,因為從 version 15 開始,log_checkpoints 預設已啟用:

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

真正重要的是 sync= 數值。這是 checkpoint 等待 fsync 完成所花的時間,因此若數值以秒計算,就表示磁碟處理寫入的速度跟不上資料庫產生寫入的速度。在這段期間,即使查詢本身很便宜,client connection 仍會停滯。解決方法不是修改設定,而是將 data directory 移到 NVMe,並保留儲存方案,用於存放該資料庫的 backup。

FAQ

儲存 VPS 會比一般 VPS 慢嗎?

對隨機讀寫而言,會慢很多。採用旋轉式磁碟的儲存方案每秒只能處理幾百個小型隨機請求,每個請求約需 8 ms;NVMe 方案每秒可處理數萬個請求,延遲遠低於 1 ms。至於循序傳輸,兩者的差距小得多,因為儲存陣列仍可提供 150 MB/s 以上的串流速度,足以填滿 1 Gbit/s 埠。決定前,請使用 fio --rw=randread --bs=4k --direct=1 測量自己的環境。

可以在儲存 VPS 上執行 PostgreSQL 嗎?

可以啟動,而且在工作集仍能容納於 RAM 前都能正常運作。超過這個範圍後,每次 commit 都必須等待慢速磁碟上的 fsync;Postgres 會在 checkpoint complete 內以秒為單位記錄其 sync= 數值,而 iostat -x 1 會顯示 %util 接近 100,並伴隨較高的 w_await。常見的配置是使用小型 NVMe VPS 執行資料庫,再使用儲存 VPS 作為 dump 的目標位置。

VDS 是否代表我會取得專用硬體?

不一定。VDS 沒有標準定義。有些供應商用它表示 CPU 核心已固定分配,有些用來表示完整 KVM 虛擬化,以區別於共用 kernel 的容器,也有些供應商純粹把它當作名稱。執行 systemd-detect-virt,確認自己使用的是 kvm 還是 lxc;再執行 vmstat 1 5 並監看 st 欄位,確認其他租戶是否正在占用你的 CPU 週期。

如何確認 VPS 的磁碟確實是 NVMe?

不要相信 lsblk -d -o NAME,ROTA,MODEL,因為無論底層使用何種硬體,virtio 磁碟通常都會回報 ROTA=0,而且 model 字串會是空白。使用 --direct=1 執行 30 秒的 fio 隨機讀取測試,查看 IOPS 與第 99 百分位延遲。若每秒只有幾百個 IOPS,且延遲達兩位數毫秒,表示使用的是旋轉式磁碟陣列。若每秒有數萬個 IOPS,且延遲低於 1 ms,則表示使用的是 flash 儲存裝置。