上线优惠价:每个套餐的价格都比我们追踪的最便宜的离岸竞争对手低 30%。 查看价格对比所有套餐价格均比最便宜的离岸主机服务商低 30%

知识库 · 独立服务器

为独立服务器选择 RAID 方案

OffshoreServ 独立服务器或 GPU 服务器上的 RAID 1、10、6、5 或 0:可用容量、各自能承受的故障、我们推荐的方案,以及如何检查和更换硬盘。

更新于 阅读约 5 分钟

本指南要点

  • 配有两块或以上数据盘的服务器,可以在交付时就带有由我们团队配置好的 RAID 方案;您可以在部署页面上选择。
  • 我们的默认设置是稳妥之选:两块硬盘用 RAID 1,四块或以上 NVMe 或 SSD 硬盘用 RAID 10,配有大容量机械硬盘的存储服务器用 RAID 6。
  • RAID 能让服务器在硬盘故障时继续运行。但它不是备份:文件被删除、遭遇勒索软件或失去服务器时,整个阵列都会一同受损。
  • 用 cat /proc/mdstat 检查阵列,一旦有硬盘故障,请立即通过工单申请更换。
独立服务器7 个章节
全部指南
本页内容
  1. 各方案一览
  2. 我们的推荐
  3. 我们的配置方式
  4. 检查阵列
  5. 硬盘故障时
  6. RAID 不是备份
  7. 以后更改 RAID 方案

每台配有两块或以上数据盘的独立服务器和 GPU 服务器,都可以在交付时就将硬盘组成 RAID 阵列。您可以在部署页面上、操作系统选项旁选择 RAID 方案;我们的团队会在交付前组建好阵列,服务器上线时即具备您所选的容量和冗余。本指南将介绍每种方案、各自会牺牲多少可用容量,以及服务器交付后如何维护阵列。

各方案一览

部署页面会显示您所选服务器在每种方案下的可用容量。作为参考,假设所有硬盘容量相同,均为 S:

阵列方案硬盘可用容量可承受的故障适用场景
RAID 1(镜像)21 × S一块硬盘故障双盘服务器上的系统和数据
RAID 10(条带化镜像)4 块及以上硬盘总容量的一半每组镜像一块硬盘故障数据库、虚拟机、高负载 NVMe 服务器
RAID 6(双重校验)4 块及以上除两块硬盘外的全部容量任意两块硬盘故障大容量机械硬盘:备份、归档、媒体
RAID 5(单校验)4 块及以上除一块硬盘外的全部容量一块硬盘故障容量优先,适合可重建的数据
RAID 0(条带)2 块及以上全部硬盘的容量无:一块硬盘故障即丢失全部数据临时空间、缓存,以及在别处另有副本的数据集
无 RAID不限各硬盘独立使用取决于您自己的配置ZFS、Ceph 或您自己的方案

在配备 2 × 1 TB NVMe 的 Ryzen 7 7700 上,RAID 1 可提供 1 TB,RAID 0 可提供 2 TB。在配备 4 × 10 TB 机械硬盘的 Storage 40 TB 上,RAID 6 和 RAID 10 可提供 20 TB,RAID 5 可提供 30 TB,RAID 0 可提供 40 TB。在配备 6 × 10 TB 硬盘的 Storage 60 TB 上,RAID 6 可提供 40 TB,RAID 10 为 30 TB,RAID 5 为 50 TB。

我们的推荐

部署页面上标有推荐的方案,就是我们自己也会选择的方案:

  • 两块硬盘:RAID 1。可用空间减半,但一块硬盘故障只需提交一张工单,不会造成服务中断。读取速度也会更快,因为两块硬盘都能响应读取请求。
  • 四块或更多 NVMe 或 SSD 硬盘:RAID 10。闪存盘重建一组镜像只需一两个小时,而不是一整天;而且 RAID 10 无需计算校验,因此即使在负载下,写入速度依然很快。这是数据库的经典方案。
  • 配备大容量机械硬盘的存储服务器:RAID 6。重建一块 10 TB 的机械硬盘需要一天或更长时间,其间其他每块硬盘都要从头到尾完整读取一遍。使用 RAID 5 时,如果在此期间再有一块硬盘故障或出现一个无法读取的扇区,整个阵列就会丢失;RAID 6 则能承受这种情况。

只有当丢失整个阵列除了耗费时间之外不会给您造成任何损失时,才选择 RAID 0,例如渲染缓存,或在别处另有存放的数据集副本。只有当数据可以从另一份副本重建时,才选择 RAID 5。

我们的配置方式

  • Linux 发行版:使用 Linux 软 RAID(mdadm)。在双盘服务器上,整个系统都位于阵列上。在存储服务器上,操作系统安装在单独的 SSD 上,机械硬盘阵列则挂载于 /data。
  • Proxmox VE:使用具有相同冗余能力的 ZFS 存储池(镜像、条带化镜像或 RAID-Z2),由 Proxmox 原生管理。
  • Windows Server 和自定义 ISO:硬盘以彼此独立的形式交付。使用 Windows 时,可以用“存储空间”将硬盘组合成池,或在“磁盘管理”中设置镜像;使用自有 ISO 时,请在通过 IPMI 控制台安装系统的过程中自行配置。

在这些处理器上,软 RAID 占用的 CPU 资源微乎其微;更换主板后阵列依然可用(阵列信息从硬盘读取,而不是从控制器读取);而且下文的所有工具都适用于它。

检查阵列

在健康的 mdadm 阵列中,所有成员盘都显示为正常运行,两块硬盘时显示为 [UU],四块时显示为 [UUUU]:

cat /proc/mdstat
mdadm --detail /dev/md0

下划线(如 [U_])表示缺少一个成员盘:阵列仍可工作,但已失去冗余。在 Proxmox 上,请改为检查存储池:

zpool status

使用 smartmontools 查看硬盘本身的健康状况。如果重映射扇区或待映射扇区的数量逐周增长,就预示着硬盘即将损坏:

apt install -y smartmontools
smartctl -H -A /dev/sda
smartctl -H -A /dev/nvme0

我们从不给您发送邮件,因此请让服务器自己提醒您:只需一个每日运行 mdadm --detail --test /dev/md0 的 cron 任务,在其以非零状态退出时向您自己的监控系统发出告警即可。

硬盘故障时

  1. 记下故障硬盘的序列号:smartctl -i /dev/sdX 会显示序列号,mdadm --detail 则会告诉您是哪个成员盘掉线了。
  2. 在客户中心的服务器页面提交工单,附上序列号和 cat /proc/mdstat 的输出。请告诉我们更换硬盘时服务器能否关机;许多机箱支持热插拔。
  3. 新硬盘装好后,将一块健康硬盘的分区表复制到新硬盘上,为副本生成新的标识符,然后将其重新加入阵列。重建会立即开始,您可以在 /proc/mdstat 中查看进度。此处 /dev/sda 是健康硬盘,/dev/sdb 是新硬盘;在 NVMe 服务器上,设备名称类似 /dev/nvme1n1 和 /dev/nvme1n1p1。
apt install -y gdisk
sgdisk --replicate=/dev/sdb /dev/sda
sgdisk --randomize-guids /dev/sdb
mdadm --manage /dev/md0 --add /dev/sdb1

对于从阵列启动的双盘服务器,还要让新硬盘也能引导启动:在 BIOS 系统上运行 grub-install /dev/sdb,在 UEFI 系统上则将健康硬盘的 EFI 分区复制到新硬盘上。否则,如果接下来旧硬盘也发生故障,服务器将无法启动。

RAID 不是备份

RAID 只能防范一种情况:硬盘损坏。它会像复制数据一样忠实地复制每一个错误,因此被删除的目录、损坏的数据库、勒索软件,或者您失去访问权限的服务器,都会让整个阵列随之丢失。请按照快照指南中的备份章节所示,使用 restic 或 Borg 将加密的异地副本保存在另一台服务器上,或我们的另一个地区中。

以后更改 RAID 方案

更改存有数据的阵列的 RAID 级别既缓慢又有风险,因此请将 RAID 方案视为在服务器整个使用期内都不变的选择。如需从头开始,请通过 IPMI 控制台按所需方案重装系统,或在服务器存放数据之前通过工单申请以新方案重装。重装系统会清空硬盘,因此请先复制出所需的一切。

某个步骤遇到困难?

独立服务器和 GPU 服务器客户可在客户中心提交工单,注明服务器的 IP 地址以及已尝试过的操作。首次回复目标:12 小时内。其他服务器请使用其页面上的服务器操作、指南和网络状态页面。

欢迎回来

登录以管理您的服务器和余额。

无需 KYC由 Cloudflare Turnstile 提供人机验证无跟踪