Hetzner 独立服务器配置 RAID 1 最稳妥的方式是在首次安装操作系统时通过 Robot 面板或 Rescue System 的 installimage 脚本完成。已在运行的服务器强行配置 RAID 1 需要清空磁盘数据,必须先备份。
先说结论:新购服务器建议在安装阶段直接勾选 RAID 1,已有服务器重配 RAID 1 等同于重装系统,数据会丢失。
- 适合:新服务器初始化或接受数据清空的重装场景
- 先准备:完整备份数据至外部存储,确认硬盘型号支持
- 验收:进入系统后检查 /proc/mdstat 状态是否为 clean
命令速用版
Hetzner 官方推荐在 Rescue System 中使用 installimage 脚本配置 RAID,以下是配置 RAID 1 的核心参数片段:
drive1 /dev/sda drive2 /dev/sdb raid1 /boot 1024 raid1 / 100% -a -a
将上述内容写入 installimage 配置文件后执行脚本,会自动完成分区、阵列创建和引导安装。
为什么会这样
Hetzner 大多数独立服务器默认采用软件 RAID 1 (mdadm) 而非硬件 RAID 卡,除非特定型号单独订购。
软件 RAID 1 通过操作系统内核管理磁盘镜像,兼容性好且无需额外硬件成本,但配置过程涉及底层分区表重写。在运行中的系统上直接修改底层磁盘阵列会破坏现有文件结构,因此官方流程要求通过 Rescue System 重新初始化磁盘。
分步处理
1. 数据备份:将服务器所有重要数据迁移至外部存储或另一台服务器,确认备份可恢复。
2. 进入 Rescue 模式:在 Hetzner Robot 面板开启 Rescue System,设置密码并重启服务器。
3. 登录 Rescue 系统:使用 root 和临时密码 SSH 登录,运行 installimage 命令。
4. 编辑配置:在编辑器中找到 drive 和 raid 配置段,确保两块硬盘均被选中并设置为 raid1 模式。
5. 执行安装:保存配置并退出编辑器,脚本会自动创建阵列、格式化文件系统并安装操作系统。
6. 重启服务器:安装完成后移除 Rescue 模式,正常重启进入新系统。
怎么验证是否生效
登录系统后执行 cat /proc/mdstat,查看输出中是否包含 md0、md1 等设备且状态显示为 [UU] 或 clean。
执行 mdadm `--detail` /dev/md0 查看阵列详细信息,确认 Active Devices 数量与预期磁盘数一致。
检查挂载点 df -h,确认根分区和其他分区已正常挂载且空间符合配置预期。
常见坑
1. 数据丢失风险:任何 RAID 重配操作都会清空磁盘,未备份直接操作会导致数据不可恢复。
2. 引导损坏:如果只配置了数据盘 RAID 而忽略 /boot 分区 RAID,单盘故障可能导致无法启动。
3. 硬盘容量不一致:组建 RAID 1 的两块硬盘容量应以较小者为准,容量差异过大会浪费空间。
4. 监控缺失:未配置 mdadm 监控邮件报警,磁盘故障时无法及时感知。
常见问题
可以在不重装系统的情况下配置 RAID 1 吗?
理论上可行但风险极高,不建议生产环境操作。
在线将单盘系统转换为 RAID 1 需要复杂的分区操作和引导修复,一旦中断会导致系统无法启动,官方文档未提供标准支持流程。
Hetzner 服务器默认是硬件 RAID 还是软件 RAID?
大多数独立服务器默认使用软件 RAID (mdadm)。
除非在购买时特别选择了带有硬件 RAID 控制器的型号,否则标准配置均为通过操作系统管理的软件阵列。
RAID 1 配置后读写性能会下降吗?
读取性能通常不变或略有提升,写入性能理论上受限于较慢的磁盘。
软件 RAID 1 需要向两块磁盘写入相同数据,CPU 开销极小,但写入速度不会超过单盘速度,公开资料中没有看到可靠的量化数据表明具体损耗比例。
参考来源
Hetzner Wiki - Rescue System: https://wiki.hetzner.com/
Hetzner Robot - Server Management