SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-10-28

欧盟存储VPS每TB每月多少钱?如何核查数据驻留

用月费除以可用TB,先算欧盟存储VPS每TB每月成本,再核查数据驻留声明、数据处理协议和磁盘类型,避免用NVMe价格存放冷数据。

欧盟存储 VPS 每 TB 每月的成本

欧盟存储 VPS 按 TB 销售,因此决定是否购买的关键是计算每 TB 每月的成本:用月费除以可用容量。小型方案的价格通常为每 TB 每月几十欧元。采用机械硬盘的大容量方案,价格通常接近每 TB 每月几欧元。在查看任何功能列表前,先对每个候选方案进行这项计算。

下面的区块展示了完整计算示例。示例使用四舍五入后的价格,仅用于说明计算方法。这些价格不是任何供应商的当前价格,网页上显示的实际价格通常几个月内就会变化。请将其替换为当前订单页面上的价格。

图表Worked example: euros per TB per month at four capacity points
此图表背后的数据
[
  {
    "label": "1 TB NVMe VPS",
    "monthly_eur": 40,
    "capacity_tb": 1,
    "eur_per_tb": 40
  },
  {
    "label": "2 TB HDD plan",
    "monthly_eur": 12,
    "capacity_tb": 2,
    "eur_per_tb": 6
  },
  {
    "label": "8 TB HDD plan",
    "monthly_eur": 30,
    "capacity_tb": 8,
    "eur_per_tb": 3.75
  },
  {
    "label": "16 TB HDD plan",
    "monthly_eur": 50,
    "capacity_tb": 16,
    "eur_per_tb": 3.13
  }
]

在该示例中,小型闪存方案的成本为每 TB 每月 40 欧元。最大容量方案的成本为每 TB 3.13 欧元;其月费为 50 欧元,容量为 16 TB。两端之间相差超过一个数量级,这正是容量型方案作为独立产品存在的原因。如果您的成本比接近表格顶部,说明您正在以闪存价格存储冷数据。

以下两点有助于确保比较准确。请使用文件系统报告的容量,而不是宣传页面上的容量进行计算。请比较相同的计费周期,因为月费与要求年度承诺的价格属于不同产品。

为何标称容量价格适用于机械硬盘

以低价提供 TB 容量的方案,底层使用的是硬盘驱动器(HDD)。只有这种介质的每 TB 成本足以支撑该价格。应用服务器下方的 NVMe(非易失性内存快速通道)存储是另一种产品,价格更接近上方表格的第一行。两者都以 VPS 形式销售,而存储型 VPS 与普通 VPS 的区别主要在于介质的选择,以及这种选择对延迟的影响。

图表Order of magnitude only: typical published figures by media type
此图表背后的数据
[
  {
    "label": "7200 rpm HDD",
    "random_4k_iops": 150,
    "sequential_mb_s": 180
  },
  {
    "label": "SATA SSD",
    "random_4k_iops": "50,000",
    "sequential_mb_s": 500
  },
  {
    "label": "NVMe SSD",
    "random_4k_iops": "200,000",
    "sequential_mb_s": 3000
  }
]

这些是相关介质常见的公开指标,表示数量级,不代表任何具体方案的保证值。7200 rpm 硬盘每秒可处理约 150 次随机 4k 操作,因为每个未命中缓存的请求都要等待磁头移动,并等待盘片转到磁头下方。这个等待时间以毫秒计算。NVMe 硬盘的处理路径中没有移动部件,每秒可处理约 200,000 次相同操作,等待时间以微秒计算。顺序操作的差距要小得多:同一块机械硬盘每秒可连续传输约 180 MB,足以在一夜之间完成备份窗口内的数据写入。

因此,规则很简单。机械硬盘的容量适合按顺序写入和读取大文件。不适合在磁盘各处分散执行大量小型操作。本页后续的每个设计决策都基于这一点。

如何检查实际获得的存储性能

lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /mnt/store
df -i /mnt/store

对于旋转设备,ROTA 会读取 1。在 VPS 上,不要将 1 视为磁盘使用机械盘的证据:磁盘通过 virtio 驱动提供给虚拟机,而 Linux virtio 块设备驱动会将其创建的所有设备标记为旋转设备,因此由 NVMe 支持的 /dev/vda 也会报告 1。通过 virtio-scsi 提供的磁盘通常也会如此。该标志只能作为提示,测量结果才是证据。

df -h 也可以解决容量计算问题。标称容量为 8 TB 的方案会报告约 7.3 TiB,因为服务商按 1000 的幂计数,而 df -h 按 1024 的幂计数。df -H 会按 1000 的幂打印相同的空间,这是每 TB 欧元价格所需的单位,因此应使用该数值进行除法,或将 TiB 数值乘以 1.0995。再计入文件系统开销以及 ext4 为 root 保留的块后,用于除价格的容量数值还会进一步降低。阅读账单所隐含的相同单位后,计算实际需要的容量 会变得更容易。

在信任存储方案前使用 fio 命令进行测量

安装 fio,然后针对已挂载存储上的文件分别运行一次随机读取测试和一次顺序写入测试。两项测试都会写入实际数据,因此应将其指向空间充足的临时路径,并在测试后删除该文件。

sudo apt update && sudo apt install -y fio
fio --name=randread --filename=/mnt/store/fio.test --size=1G --bs=4k \
    --rw=randread --ioengine=libaio --direct=1 --iodepth=32 \
    --runtime=60 --time_based --group_reporting
fio --name=seqwrite --filename=/mnt/store/fio.test --size=4G --bs=1M \
    --rw=write --ioengine=libaio --direct=1 --iodepth=8 --group_reporting
rm -f /mnt/store/fio.test

读取随机读取测试结果中的 IOPS= 字段,以及顺序写入测试结果中的 bw= 字段。如果容量方案的结果是几百个随机 IOPS 和每秒几百 MB 的顺序吞吐量,说明其表现与所宣称使用的机械盘一致。如果空间通过网络文件系统而不是块设备提供,请使用 --ioengine=psync,因为 libaio 用于本地块设备,否则会失败或回退。

哪些因素还会影响每 TB 的欧元成本

这个除法只是起点。有 5 项因素会影响实际总成本,而且付款前都可以核实。

  1. 增值税。德国和欧盟的主机服务商通常会为企业客户显示未含税价格。截至 2026 年 10 月,德国标准税率为 19 percent,因此无法抵扣增值税的买家实际支付金额会明显高于页面标价。
  2. 设置费。有些容量方案会收取设置费,通常是容量较大的方案。将其分摊到您预计实际使用的期限内。
  3. 最短期限和通知期。按年承诺会降低月均价格,但同时也会固定您的退出时间。
  4. 流量。容量方案包含一定的流量额度,超出后会限速或计费。您恢复全部数据的那一天,就会知道自己适用哪种情况。
  5. 与存储重复计算的额外服务。如果您已经在不同位置保存了 两个相互独立的 restic 仓库,服务商为备份目标提供的快照就几乎没有额外价值。

将所有费用计入 24 个月的总成本,除以 24,再除以十进制 TB 的可用容量,即 df -H 报告的容量。df -h 的单位是 TiB,使用它进行除法后得到的则是每 TiB 的欧元成本。这是一个可以在预算会议上说明依据的数字。VPS 通常需要多少成本 使用相同的方法,比较存储 VPS、块存储和对象存储中的低价 TB 则将该方法应用于另外两种购买相同字节容量的方式。

“欧盟数据中心”在实践中意味着什么

这意味着存储您数据的机器位于某个明确的欧盟国家的一栋建筑内。仅此而已。这是关于某栋建筑的事实,因此应要求对方明确说明:所在国家,以及运营该设施的公司。供应商如果不愿说明国家,就没有向您提供数据驻留服务。

一旦数据属于您的客户,这种安排在法律上就有明确的称谓。您是控制者。您的主机服务商是处理者。GDPR(通用数据保护条例)第28条要求,数据处理必须由欧盟或成员国法律规定的合同或其他法律文书约束,并要求处理者受控制者约束。对于商业主机服务商,您应预期该文书是一份合同。德国合同将该文件称为 Auftragsverarbeitungsvertrag,简称 AVV;这与英文合同中的 DPA(数据处理协议)是同一类文书。文件必须说明处理事项和期限、数据类别、安全措施、委托子处理者的规则,以及合同结束后如何处理数据。

记录在案的位置是买方最容易忽略的部分。定价页面上的位置声明可能在未通知您的情况下发生变化。写入 AVV 或其附件的同一声明属于合同条款,同时也会用于填写您自己的第30条处理活动记录中的传输栏。请在签署前索取该附件,不要等审计员要求时才索取。

子处理者是第二个缺口。主机服务商很少拥有所有层。建筑可能属于托管运营商,远程技术支持可能由承包商提供,支持服务台可能位于其他国家,监控或工单工具也可能是位于其他地方的托管服务。如果这些主体能够访问个人数据,它们都属于子处理者。请索取当前列表,并确认列表变更前的通知期限。

从欧洲经济区(EEA)以外进行访问是第三个问题。存储在 Frankfurt 的数据仍可能被从其他地方登录的工程师读取;根据 GDPR 第V章,这种访问属于数据传输。传输的法律依据是充分性决定或标准合同条款(SCC)。欧盟—美国数据隐私框架于 2023 年 7 月通过,为经过认证的美国组织提供充分性依据;但该框架自通过以来一直面临法律挑战。因此,依赖该框架的合同应设置审查日期,而不能默认其长期有效。这些内容都不是法律建议,而是您自己的法律顾问首先会向您提出的问题清单。

客户端加密会改变供应商能够读取的内容,但不会终止双方关系。restic 和 Borg 会在任何数据离开您的机器前完成加密,因此主机存储的是密文,也不持有密钥。主机仍会处理您的账户详细信息、网络地址、备份大小和运行时间,并且仍负责保证数据是否可用。请保留 AVV。

“欧盟公司”和“欧盟数据中心”不是同一项声明

这是两个相互独立的事实,但定价页面经常将它们混在同一个徽章中。注册于柏林的公司可以在欧盟以外的设施租用容量。总部位于美国的公司可以在法兰克福运营数据中心,并雇用当地员工、使用当地供应商。这两句话可以同时成立,且其中任何一句都不能推出另一句。

两者的重要性不同。磁盘所在的位置决定哪些国家或地区的法规适用于这台机器,也决定网络延迟。公司的注册地和所有权结构决定哪个法律体系可以强制该公司配合,包括通过位于其他国家的母公司施加这种强制。请分别提出这两个问题,并要求对方以书面形式回答。这个区分同样适用于:加拿大 VPS 的数据驻留,其核心正是硬件所在位置与实际控制方之间的区别。

发送客户备份前需要询问的问题

  1. 静态数据存储在哪个国家和城市?这是否写入合同,还是只公布在网站上?
  2. 签署 AVV 的法律实体是哪一家?该实体注册在哪里?
  3. 当前有哪些子处理者?子处理者名单变更前,我会提前多久收到通知?
  4. EEA 以外的员工能否访问系统以提供支持?访问受哪些控制措施约束?是否会记录访问?
  5. 您自己的备份以及我的卷的副本会存放在哪里?将副本放在其他区域会改变数据所在位置。
  6. 我取消服务或付款失败后,磁盘会如何处理?请说明删除流程,以及执行删除前会提前多久通知我。

选择存储型 VPS 时的完整检查清单涵盖了这次沟通中技术方面的内容。以上六个问题涵盖的是律师之后会询问的部分。

冷数据:HDD 容量适合什么场景

备份归档是机械硬盘容量的理想工作负载。数据通常只写入一次,很少读取;恢复时则会进行长距离顺序读取。将 VPS 用作异地备份目标 是购买 TB 级容量的常见原因,自托管照片库及其恢复 也属于同类场景。

restic 和 Borg 都会将文件拆分为按内容定义的块,再将这些块打包到更大的文件中。备份运行会读取源数据并追加新的 pack 文件,这一过程主要是顺序操作,很适合硬盘。维护操作则能体现存储介质的差异。restic forget --prune 会删除完全未使用的 pack 文件,并重新打包部分使用的 pack 文件,以移除未引用的 blob;restic check --read-data-subset 会重新读取 pack 文件进行验证。Borg 的 prune 加 compact 也执行相同的任务。这些操作受延迟限制,而不是受吞吐量限制。因此,针对 NVMe 只需几分钟的维护任务,在保存相同数据的 HDD 后端目标上可能需要数小时。

restic -r sftp:user@storage.example.net:/srv/restic init
restic -r sftp:user@storage.example.net:/srv/restic backup /srv/data
restic -r sftp:user@storage.example.net:/srv/restic check --read-data-subset=5%
restic -r sftp:user@storage.example.net:/srv/restic forget \
  --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

两个设置可以节省数小时。应按计划每周或每月运行 prune,而不是每次备份后都运行,这样它有足够时间完成,也不会与备份任务争用资源。prune 会保留完全使用的 pack 文件不变;只有当未使用数据超过 --max-unused 限制时,才会重新打包部分使用的 pack 文件,默认值为 5%。重新打包需要下载仍然需要的数据,再次上传这些数据;对于远程目标,这是最耗时的部分。--max-unused unlimited 会保留部分使用的 pack 文件不变(但仍会重新打包元数据),--max-repack-size 0 会在目标空间接近耗尽时将临时空间需求降到最低。将 restic 缓存保留在本地高速存储上;默认位置位于 ~/.cache/restic 下。不要将 RESTIC_CACHE_DIR 指向远程挂载点。缓存位于链路的慢端时,缓存存在的意义就会消失,因为每次运行都必须再次通过网络读取索引。

Borg 的工作方式相同,只是使用不同的命令:

borg init --encryption=repokey-blake2 ssh://user@storage.example.net/./repo
borg create --stats --compression zstd,3 \
  'ssh://user@storage.example.net/./repo::{hostname}-{now}' /srv/data
borg prune --keep-daily=7 --keep-weekly=4 ssh://user@storage.example.net/./repo
borg compact ssh://user@storage.example.net/./repo

数据库的工作负载正好相反。数据库会发起大量小型随机读取,并在提交时调用 fsync。在旋转磁盘上,每个 fsync 都需要等待物理寻道,因此提交延迟会从微秒级上升到毫秒级,原本在 NVMe 上运行正常的工作负载会形成队列。数据库仍然可以工作,但速度会慢到让用户感觉应用程序卡住。应将运行中的数据库保留在 NVMe 上,并将其转储文件和旧备份放入容量型存储方案。

网络路径与存储介质同样重要。容量型存储通常通过 SSH、SFTP、NFS、SMB 或 WebDAV 提供空间,因此每次操作除了磁盘耗时,还要承担服务器与存储设备之间的往返延迟。设计方案前应先测量:

mtr -rwc 20 storage.example.net

同一国家内两台机器之间相差几毫秒,对备份来说通常没有问题。跨越海洋的往返延迟会使针对数千个小对象的维护任务变成整夜运行的任务。这样做还有一个实际原因:应将存储放在使用这些存储的服务器所在区域,以减少网络延迟;数据驻留要求也是原因之一。

故障模式及您将看到的确切字符串

仓库已锁定。 restic 会停止,并显示 repository is already locked exclusively by PID,后面跟着持有锁的进程和主机。上一次运行被终止,或者 prune 仍在运行。确认没有相关进程运行后,再使用 restic unlock 清除锁。Borg 会显示带有仓库路径和 (timeout) 的 Failed to create/acquire the lock;完成相同检查后,使用 borg break-lock 清除该锁。

No space left on device,但 df -h 显示仍有可用空间。 ext4 文件系统耗尽的资源不只有字节空间。首先运行 df -i:如果 IUse% 为 100,表示 inode 已耗尽。ext4 在创建文件系统时就固定了字节与 inode 的比例;使用 resize2fs 扩展文件系统时,也会按相同比例增加 inode,因此扩容既增加 inode,也增加字节空间。要改变这一比例,必须使用更小的每 inode 字节数重新格式化(mkfs.ext4 -i 8192),或者迁移到 XFS,因为 XFS 会在需要时分配 inode。包含大量小文件的仓库,通常会在磁盘写满之前就达到此限制。如果 df -i 显示仍有可用 inode,请在 dmesg 中查找 Directory index full!:某个目录包含的条目过多,导致其索引无法再添加条目。通常的解决方法是将文件分散到多个子目录中。

备份速度逐月变慢。 检查 prune 是否运行过。未执行 prune 的仓库会保留所有未引用的 blob,因此每次检查读取的数据都比上一次更多,流量配额也会更快耗尽。然后检查是否存在限速:传输开始时速度很快,随后稳定在固定速率,说明存在流量策略,而不是磁盘性能问题。

从未测量过耗时的恢复操作。 使用 restic restore latest --target /tmp/restore-test --include /etc 有意执行一次恢复并计时。然后用仓库大小除以 fio 测得的顺序速率,估算完整恢复所需的实际数量级。如果结果是数天,请今天就决定是否可以接受,因为在事故处理中途才发现这一点并不合适。

FAQ

EU 存储 VPS 每 TB 每月应花费多少?

不要直接查现成数据,而应自行计算,因为公开数据很快会过时。将月费加上按预计使用期限分摊的设置费;如果无法抵扣 VAT,还要加上 VAT;然后除以十进制 TB 表示的可用容量,该容量由 df -H 报告。小写的 df -h 报告的是 TiB,由此可计算每 TiB 的欧元价格。采用机械硬盘的容量型方案通常为每 TB 每月个位数欧元,采用闪存的方案通常高出一个数量级。如果容量型方案的价格接近闪存方案,要么它使用的不是机械硬盘,要么就缺乏竞争力。

位于 EU 的数据中心是否足以满足 GDPR 合规要求?

不够。机房位置只是其中一个因素。您还需要根据第 28 条签订数据处理协议;该协议或其他法律文件必须约束持有数据的实体,并且协议中必须列明数据处理地点,不能只在网页上说明;还需要当前的子处理者列表,以及明确说明 EEA 以外的支持人员是否可以访问这些系统。在法兰克福的机器如果由 EEA 以外的人员管理,仍然涉及 Chapter V 规定的数据传输,因此需要单独的法律依据,例如标准合同条款。

客户端加密是否允许我跳过数据处理协议?

不允许,但它会改变数据泄露可能暴露的内容。restic 和 Borg 在您的机器上执行加密,因此服务提供商存储的是密文,也不持有密钥。服务提供商仍会处理您的账户数据和网络地址,仍能看到每次备份的大小和时间,并且仍负责服务可用性。请保留该协议,并将加密视为限制损失的控制措施,而不是合同的替代方案。

我可以在基于 HDD 的存储 VPS 上运行数据库吗?

可以,但在负载下表现会令人失望。数据库使用 fsync 提交事务,而旋转磁盘上的每次操作都要等待物理寻道,因此提交延迟以毫秒而不是微秒计。随机读取较小数据行的查询也会受到同样影响。请将运行中的数据库放在 NVMe 上,并将容量型方案用于存储数据库转储和较早的备份。

这篇文章对您有帮助吗?