阿里云服务器更换操作系统和初始化云盘?

云计算

在阿里云 ECS(云服务器)上更换操作系统初始化云盘是两个不同但紧密相关的操作。为了保障数据安全,请务必仔细阅读以下流程和注意事项。

⚠️ 核心风险提示(操作前必读)

  1. 数据丢失风险:更换操作系统会格式化并清空系统盘(通常是 /dev/xvda/dev/vda),导致原系统盘上的所有数据(包括安装的软件、配置文件、代码等)全部丢失。
  2. 数据盘安全:如果您挂载了额外的数据盘(如 /dev/xvdb, /dev/vdb 等),更换系统通常不会影响数据盘内容,但必须确保数据盘已正确挂载且未被误操作。
  3. 公网 IP 变化:如果是按量付费实例,更换系统后公网 IP 可能会变更(除非您绑定了弹性公网 IP EIP)。
  4. 停机时间:操作过程中实例会重启,业务会有短暂中断。

一、更换操作系统 (Reinstall OS)

这是将当前实例的系统盘替换为新的镜像(如从 CentOS 7 换成 Ubuntu 20.04)。

操作步骤:

  1. 登录控制台:进入 阿里云 ECS 管理控制台。
  2. 选择实例:在左侧导航栏选择“实例与镜像” > “实例”,找到目标实例。
  3. 执行重装
    • 点击实例 ID 进入详情页,或者选中实例后点击底部的 “更多” > “云盘/系统盘” > “重装系统”(不同界面入口可能略有差异,通常在“更多”菜单中找“重装系统”)。
    • 注意:部分旧版界面可能在“操作”列直接有“重装系统”按钮。
  4. 配置参数
    • 镜像选择:选择新的操作系统版本(公共镜像、自定义镜像或市场镜像)。
    • 密码/密钥对:设置新的 root 密码或绑定 SSH 密钥对(强烈建议使用密钥对,更安全)。
    • 保留数据盘:确认是否勾选“保留数据盘”。通常默认是保留的,但请再次核对。
  5. 确认重装:阅读警告提示,输入验证码,点击确定。
  6. 等待完成:系统会自动停止实例 -> 格式化系统盘 -> 安装新系统 -> 启动实例。此过程通常需要几分钟到十几分钟。

二、初始化云盘 (Initialize Cloud Disks)

这里的“初始化”通常指两种情况:

  1. 首次挂载新云盘:购买的新云盘需要分区、格式化并挂载才能使用。
  2. 重装系统后重新挂载数据盘:如果数据盘在重装前未挂载,重装后可能需要重新挂载(虽然通常会自动挂载,但需检查)。

场景 A:新购买的云盘(未初始化)

如果您刚购买了云盘并挂载到服务器,但在 Linux 下看不到(lsblk 无显示),需要进行初始化。

  1. 登录服务器:通过 SSH 连接实例。
  2. 查看磁盘信息
    lsblk
    # 例如看到 /dev/vdb 但没有挂载点
  3. 分区(可选)
    • 如果不需要特殊分区,可以直接格式化整个盘。
    • 如果需要分区,使用 fdiskparted 工具。
      fdisk /dev/vdb
      # 输入 n (新建分区) -> p (主分区) -> 回车 (默认) -> 回车 (默认) -> w (保存退出)
  4. 格式化
    • CentOS/RedHat: mkfs.ext4 /dev/vdb (或 /dev/vdb1)
    • Ubuntu/Debian: mkfs.ext4 /dev/vdb (或 /dev/vdb1)
    • Windows: 需在 Windows 磁盘管理中初始化和格式化。
  5. 创建挂载点并挂载
    mkdir /data
    mount /dev/vdb /data
  6. 设置开机自动挂载(防止重启后丢失):
    • 获取 UUID:blkid /dev/vdb
    • 编辑 fstab:vi /etc/fstab
    • 添加一行:UUID=你的-UUID-值 /data ext4 defaults 0 0

场景 B:重装系统后的数据盘处理

如果您的数据盘在重装系统前已经挂载且包含重要数据:

  1. 重装完成后立即登录
  2. 检查挂载状态:运行 df -hlsblk
    • 如果数据盘还在且已挂载:恭喜,数据完好。
    • 如果数据盘存在但未挂载:参考上面的“场景 A”步骤进行手动挂载。
    • 特别注意:如果数据盘在重装前被错误地格式化了(极少见,除非操作失误),则无法恢复。

三、最佳实践建议

在执行上述操作前,强烈建议执行以下备份流程:

  1. 创建快照(Snapshot)

    • 在控制台选中实例,点击 “更多” > “云盘/系统盘” > “创建快照”
    • 如果有数据盘,单独对数据盘也创建快照。
    • 这是最后的救命稻草,万一操作失误可回滚。
  2. 迁移数据

    • 如果数据非常重要且不能承受任何风险,建议先创建一个基于旧系统的自定义镜像,然后基于该镜像创建一台新实例,而不是直接重装现有实例。这样原实例保留,新实例拥有新系统。
  3. 验证网络与安全组

    • 重装系统后,原有的安全组规则通常会保留,但防火墙策略(如 iptablesfirewalld)会被重置为新系统的默认状态。请记得重新开放必要的端口(如 80, 443, 22 等)。

总结

  • 更换系统 = 格式化系统盘 + 安装新镜像(数据盘通常保留)。
  • 初始化云盘 = 分区 + 格式化 + 挂载(针对新盘或未挂载的数据盘)。
  • 核心原则先做快照,再动手操作。