Featured image of post Hetzner独立服务器部署安装系统以及设置RAID

Hetzner独立服务器部署安装系统以及设置RAID

详细介绍Hetzner独立服务器的系统安装流程和RAID配置方法,包括Rescue模式激活、installimage使用、RAID阵列配置、分区方案设计等实用技巧,帮助你快速部署高可用的独立服务器环境。

-- 次浏览
-- 条评论

写在前面

购买独立服务器后,第一件事就是安装操作系统。与VPS不同,独立服务器通常有多块硬盘,这就涉及到RAID配置的问题。配置得当可以提升性能和数据安全性,配置不当可能导致数据丢失。

Hetzner提供了非常方便的Rescue系统和installimage工具,让服务器安装变得简单。本文将详细介绍从零开始安装系统并配置RAID的完整流程,包括:

  • Rescue模式的激活和使用
  • installimage配置文件详解
  • RAID 0/1/5/6/10 的选择建议
  • 分区方案的设计
  • 常见问题的解决方法

系统安装

激活rescue模式

首先登录到 Hetzner Robot 管理面板,在服务器列表中找到你的服务器,点击进入详情页面。

在左侧菜单栏找到 Rescue 选项,进入Rescue系统配置页面。这里有几个重要选项:

  • Operating system: 选择 Linux(默认)
  • Architecture: 根据你的服务器选择 64位 或 32位(通常是64位)
  • Public key: 如果你之前上传过SSH公钥,可以在这里选择,这样就能直接用私钥登录,无需密码

配置完成后,点击页面底部的 Activate rescue system 按钮:

image-20251122105710882

激活成功后,页面会显示一个绿色的成功提示框,包含重要的登录信息:

  • Login: 登录用户名(通常是 root
  • Password: 自动生成的临时密码(如果没有使用SSH公钥)
  • SSH host keys: Rescue系统的主机密钥指纹,用于验证连接安全性

重要提示

  1. 这个密码只在本次Rescue会话中有效
  2. 记得保存或复制这个密码,后面登录要用
  3. Rescue模式激活后,需要重启服务器才能进入

image-20251122105938170

接下来,在服务器详情页面点击 Reset 标签页,选择 Execute an automatic hardware reset,让服务器重启进入Rescue模式。重启大约需要1-2分钟。

登录 Rescue 系统

服务器重启完成后,就可以通过SSH连接到Rescue系统了。打开你的终端(Linux/Mac)或SSH客户端(Windows推荐使用PuTTY或Windows Terminal),使用以下命令连接:

1
ssh root@your-server-ip

your-server-ip 替换为你服务器的实际IP地址(可以在Robot管理面板的服务器详情页面找到)。

如果你使用的是SSH公钥认证,会直接登录成功。如果使用密码登录,系统会提示你输入密码,复制粘贴之前Rescue激活时显示的临时密码即可。

首次连接时的安全提示

SSH客户端会显示一个警告信息,提示无法确认主机的真实性,这是正常的。信息类似:

1
2
3
The authenticity of host 'xxx.xxx.xxx.xxx' can't be established.
ECDSA key fingerprint is SHA256:xxxxxx...
Are you sure you want to continue connecting (yes/no)?

输入 yes 并按回车继续。系统会将服务器的指纹添加到已知主机列表中。

登录成功后,你会看到Rescue系统的欢迎界面,显示系统信息、可用的工具等:

image-20251122111038622

从图中可以看到,Rescue系统已经成功启动,显示了系统版本信息和一些有用的提示。命令提示符显示为 root@rescue ~ #,说明你已经以root用户身份登录。

运行 installimage

现在可以开始安装系统了。在Rescue系统中,Hetzner提供了一个非常方便的工具叫 installimage,它会引导你完成整个安装过程。

在命令行中输入以下命令:

1
installimage

按回车后,会显示一个文本界面的菜单,列出所有可用的Linux发行版:

image-20251122111204508

这是一个基于文本的交互式菜单,使用方向键上下移动,空格键选择,回车键确认。界面中列出了各种Linux发行版:

  • Arch Linux: 滚动更新的发行版,适合喜欢最新软件的用户
  • CentOS: 企业级Linux,稳定性好(注意CentOS已停止维护,建议选择AlmaLinux或Rocky Linux)
  • Debian: 以稳定著称,软件包丰富,社区支持好
  • Ubuntu: 基于Debian,使用广泛,新手友好,软件更新较快
  • Rocky Linux / AlmaLinux: CentOS的替代品,兼容RHEL
  • 其他发行版…

选择建议

  • 新手推荐:Ubuntu LTS(长期支持版本)
  • 追求稳定:Debian
  • 企业应用:Rocky Linux / AlmaLinux
  • 对于大多数应用场景,Ubuntu 22.04 LTS 或 Debian 11/12 都是不错的选择

这里我们以 Debian 为例,使用方向键选中 Debian,按回车进入版本选择界面:

image-20251122111243425

这里显示了 Debian 的所有可用版本,从图中可以看到包括:

  • Debian 13 Trixie: 测试版(Testing),包含较新的软件包
  • Debian 12 Bookworm: 当前稳定版(Stable),2023年6月发布,推荐使用
  • Debian 11 Bullseye: 旧稳定版(Oldstable),2021年8月发布,仍然受支持
  • 以及其他可用版本

版本选择建议

  • 生产环境推荐:Debian 12 Bookworm(稳定版,经过充分测试)
  • 保守选择:Debian 11 Bullseye(更成熟,已被广泛使用)
  • 尝鲜用户:Debian 13 Trixie(测试版,软件较新但可能不够稳定)
  • 对于服务器,强烈建议选择 Stable 稳定版(Debian 12)

选择好版本后按回车,系统会显示一个重要提示:

image-20251122111314270

这个提示非常重要

installimage 会在这里显示:

  • 即将执行的操作提示
  • 需要你确认才能继续的说明

在继续之前请注意

  1. 仔细查看检测到的硬盘信息是否正确
  2. ⚠️ 警告:安装过程会清空所有硬盘数据,如有重要数据请先备份
  3. 确认无误后,按任意键继续进入配置文件编辑界面

按下任意键后,会打开一个文本编辑器(通常是nano或vim),显示系统安装的配置文件:

image-20251122111649515

这就是系统安装的核心配置文件!截图显示的是一个文本编辑界面,包含了所有的安装参数。这个配置文件看起来有点复杂,但其实结构很清晰。

配置文件结构预览

从图中可以看到配置文件包含多个部分:

  1. 顶部注释区域:说明文件用途和基本语法
  2. 主机名配置:HOSTNAME
  3. 网络配置:IP地址、网关等(通常自动配置好)
  4. RAID配置SWRAIDSWRAIDLEVEL 等关键参数
  5. 分区配置PARTLV 开头的行,定义如何分区

这个配置文件已经有一个默认配置,但你可以根据需要修改。特别是RAID和分区部分,建议仔细检查和调整。

配置文件详解

下面详细说明配置文件中的关键配置项,帮助你根据实际需求进行调整:

主机名和网络配置

1
HOSTNAME your-hostname

设置服务器的主机名,建议使用有意义的名称,比如 web-server-01

RAID 配置

这是配置文件中最关键的部分:

1
2
SWRAID 1
SWRAIDLEVEL 1
  • SWRAID 1:启用软件RAID(1表示启用,0表示禁用)
  • SWRAIDLEVEL:RAID级别,可选值:0、1、5、6、10

RAID级别选择建议

  • RAID 0:性能最高,无冗余,任何一块盘损坏都会导致数据丢失(不推荐)
  • RAID 1:镜像模式,2块盘互为备份,最常用,适合2盘服务器
  • RAID 5:至少3块盘,允许1块盘损坏,兼顾性能和安全
  • RAID 6:至少4块盘,允许2块盘同时损坏,安全性最高
  • RAID 10:至少4块盘,RAID 1+0 组合,性能和安全性都很好

分区方案

1
2
3
4
5
6
PART /boot ext4 1G
PART lvm   vg0  all

LV vg0 root /     ext4  50G
LV vg0 swap swap  swap  8G
LV vg0 home /home ext4  all

这是一个使用LVM的分区方案:

  • 第一块物理分区/boot 分区,1GB,用于存放启动文件
  • 第二块物理分区:全部剩余空间分配给LVM(vg0卷组)
  • LVM逻辑卷
    • root:根分区,50GB,存放系统文件
    • swap:交换分区,8GB(通常设置为内存的1-2倍)
    • home:home分区,剩余全部空间,存放用户数据

为什么推荐使用LVM

  • 可以动态调整分区大小
  • 方便后期扩展
  • 支持快照功能

配置完成后按 F10 保存退出。

image-20251122112040917

开始安装

保存配置文件后,installimage 会自动开始安装系统。整个过程包括:

  1. 创建分区表
  2. 配置RAID阵列
  3. 格式化分区
  4. 下载并解压系统镜像
  5. 安装GRUB引导程序
  6. 配置网络

安装过程会显示详细的进度信息:

image-20251122112241579

安装时间取决于网络速度和硬盘性能,通常需要5-15分钟。安装完成后会提示成功信息。

重启进入新系统

安装完成后,输入以下命令重启服务器:

1
reboot

重启后,服务器会从硬盘启动进入刚安装好的系统。使用安装时配置的SSH密钥或root密码即可登录。

首次登录后建议

  1. 修改root密码(如果使用的是自动生成的密码)
  2. 更新系统:apt update && apt upgrade -y(Debian/Ubuntu)
  3. 配置防火墙
  4. 创建普通用户账号
  5. 配置SSH安全设置

RAID配置和管理

系统安装完成后,RAID已经自动配置好了。但了解如何查看和管理RAID状态非常重要。

查看RAID状态

查看RAID阵列信息

1
cat /proc/mdstat

输出示例:

1
2
3
4
5
6
7
8
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      1023936 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      488281024 blocks super 1.2 [2/2] [UU]

unused devices: <none>

关键信息解读

  • md0md1:RAID设备名称
  • raid1:RAID级别
  • sda1[0] sdb1[1]:成员磁盘
  • [2/2] [UU]:2块盘都正常(U表示正常,_表示故障)

查看详细RAID信息

1
mdadm --detail /dev/md0

这会显示更详细的信息,包括:

  • RAID级别和状态
  • 成员磁盘及其状态
  • 同步进度(如果正在同步)
  • UUID等标识信息

查看磁盘健康状态

1
2
smartctl -a /dev/sda
smartctl -a /dev/sdb

定期检查磁盘的SMART信息可以提前发现问题。

RAID故障处理

硬盘故障模拟

假设 /dev/sdb 出现故障,RAID 1会自动切换到健康的盘继续工作。

标记故障盘并移除

1
2
3
4
5
# 标记为故障
mdadm --manage /dev/md0 --fail /dev/sdb1

# 从阵列中移除
mdadm --manage /dev/md0 --remove /dev/sdb1

添加新硬盘到RAID

更换新硬盘后,需要手动添加到RAID阵列:

1
2
3
4
5
6
# 复制分区表(假设新盘是 /dev/sdc)
sfdisk -d /dev/sda | sfdisk /dev/sdc

# 添加到RAID阵列
mdadm --manage /dev/md0 --add /dev/sdc1
mdadm --manage /dev/md1 --add /dev/sdc2

RAID会自动开始同步数据,可以通过 cat /proc/mdstat 查看同步进度。

RAID性能优化

调整同步速度

1
2
3
4
5
6
7
# 查看当前同步速度限制
cat /proc/sys/dev/raid/speed_limit_min
cat /proc/sys/dev/raid/speed_limit_max

# 临时调整(重启后失效)
echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 200000 > /proc/sys/dev/raid/speed_limit_max

单位是KB/s。速度太快会影响系统性能,太慢则同步时间过长。

永久设置

编辑 /etc/sysctl.conf

1
2
dev.raid.speed_limit_min = 50000
dev.raid.speed_limit_max = 200000

然后执行 sysctl -p 使配置生效。

常见问题与解决方案

问题1:安装时找不到硬盘

现象:installimage 提示没有可用的硬盘

原因

  • 硬盘没有正确连接
  • 硬盘型号不兼容
  • RAID控制器驱动问题

解决方案

  1. 在Rescue系统中执行 lsblk 查看是否能识别硬盘
  2. 如果能识别但installimage看不到,尝试手动指定硬盘
  3. 联系Hetzner支持检查硬件问题

问题2:RAID同步速度太慢

现象:RAID重建需要数十小时

解决方案

  • 调整同步速度限制(见上文RAID性能优化)
  • 检查硬盘性能(使用 hdparm -t /dev/sda 测试)
  • 确保没有其他高IO操作在进行

问题3:系统重启后RAID降级

现象/proc/mdstat 显示 [2/1] [U_],有一块盘掉线

可能原因

  • 硬盘连接松动
  • 硬盘固件问题
  • 主板SATA控制器问题

解决方案

  1. 检查 dmesg/var/log/syslog 查找错误信息
  2. 如果是临时问题,可以重新添加硬盘到阵列
  3. 如果频繁发生,需要更换硬盘或联系Hetzner

问题4:想修改分区大小

场景:安装时root分区设置太小,想扩容

解决方案(使用LVM的情况)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 缩小home分区(假设要缩小10G)
umount /home
e2fsck -f /dev/vg0/home
resize2fs /dev/vg0/home 90G  # 假设原来100G
lvreduce -L 90G /dev/vg0/home

# 扩大root分区
lvextend -L +10G /dev/vg0/root
resize2fs /dev/vg0/root

# 重新挂载home
mount /home

这就是LVM的优势,可以灵活调整分区大小。

问题5:系统安装失败

现象:installimage 运行过程中报错

常见原因和解决方案

  • 网络问题:检查网络连接,重试安装
  • 镜像源问题:更换镜像源或使用其他版本
  • 配置文件错误:仔细检查配置文件语法,特别是RAID和分区配置
  • 硬盘问题:运行 badblocks 检查硬盘是否有坏块

总结

Hetzner的服务器安装流程总体来说比较简单,关键点在于:

  1. RAID配置选择:根据硬盘数量和需求选择合适的RAID级别

    • 2块盘:RAID 1
    • 3-4块盘:RAID 5 或 RAID 10
    • 更多盘:RAID 6 或 RAID 10
  2. 分区方案设计:推荐使用LVM,方便后期调整

    • /boot:1GB,独立分区
    • 其余空间:使用LVM,分为root、swap、home
  3. 定期监控:安装后要定期检查RAID状态和硬盘健康度

    1
    2
    3
    
    # 建议加入crontab定期检查
    cat /proc/mdstat
    smartctl -a /dev/sda
    
  4. 备份策略:即使有RAID,也不能完全依赖,重要数据务必异地备份

完成安装后,你就拥有了一个高可用的独立服务器环境。接下来可以进行系统初始化配置、安全加固、应用部署等工作。

写在最后

独立服务器相比VPS有更强的性能和灵活性,但也需要更多的维护工作。建议:

  • 监控告警:配置监控系统,硬盘故障时能及时收到通知
  • 定期检查:每月检查一次RAID和硬盘状态
  • 文档记录:记录服务器的配置信息,包括RAID配置、分区方案等
  • 应急预案:提前了解硬盘更换流程,避免故障时手忙脚乱

祝你的服务器运行稳定!