努力
奋斗

阿里云新买的ecs数据盘需要自己手动挂载吗?

服务器价格表

直接给结论:是的,必须手动挂载。

阿里云 ECS 实例创建时,新购买的数据盘默认处于“未挂载”或“已挂载但未格式化/未分区”的状态。系统不会自动帮你把硬盘变成 C 盘、D 盘那样可以直接存文件的逻辑卷。你需要经历两个核心步骤:挂载(Mount) 和 格式化(Format)。

下面按实际操作流程拆解,别整虚的,直接看步骤:

第一步:确认磁盘状态并挂载

  1. 登录控制台:进入阿里云 ECS 控制台,找到你的实例。
  2. 查看云盘:在实例详情页的“云盘”标签下,你会看到那块新买的数据盘。如果状态显示为“待挂载”,点击“挂载”,选择对应的实例 ID,然后执行挂载。
  3. SSH 连接服务器:用终端连上你的 Linux 实例。

第二步:识别磁盘设备名

这是新手最容易踩坑的地方。Linux 启动后,系统会自动分配设备名,比如 /dev/vdb、/dev/xvdb 等。

执行命令:

lsblk

或者

fdisk -l

关键点:找那个容量和你购买数据盘一致,且没有文件系统标识(FS Type 为空)的磁盘。假设它叫 /dev/vdb。

⚠️ 注意:千万不要搞错设备名!如果你误操作了 /dev/vda(通常是系统盘),可能导致系统崩溃。务必通过容量大小确认。

第三步:分区与格式化(二选一)

根据你是否需要划分多个分区,选择以下两种方式之一。大多数场景推荐方式 A。

方式 A:单分区格式化(简单粗暴,适合新手)

直接对整个磁盘进行格式化和挂载。

  1. 格式化(以 ext4 为例,如果你习惯 xfs 可以替换):

    mkfs.ext4 /dev/vdb

    提示:这会清空磁盘所有数据,确保是空盘。

  2. 创建挂载点:

    mkdir -p /data
  3. 临时挂载测试:

    mount /dev/vdb /data
  4. 验证:

    df -h

    看看 /data 是否出现了,容量是否正确。

方式 B:分区后再格式化(进阶,适合需要灵活划分空间)

  1. 分区:
    fdisk /dev/vdb
    # 依次输入:n -> p -> 1 -> 回车 -> 回车 -> w
  2. 格式化分区(注意此时设备名变成了 /dev/vdb1):
    mkfs.ext4 /dev/vdb1
  3. 挂载:
    mount /dev/vdb1 /data

第四步:设置开机自动挂载(必做!)

刚才 mount 只是临时生效,重启服务器后会丢失。必须写入 /etc/fstab 文件。

  1. 获取磁盘 UUID(更稳定,推荐用 UUID 而不是设备名,因为设备名可能变):

    blkid /dev/vdb

    复制输出的 UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 部分。

  2. 编辑 fstab 文件:

    vi /etc/fstab
  3. 在文件末尾添加一行(将 UUID 替换为你查到的值):

    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /data  ext4  defaults  0  2
  4. 验证配置(非常重要,防止写错导致开机失败):

    mount -a

    如果没有报错,说明配置正确。

常见避坑指南

  1. Windows 用户?
    如果你买的是 Windows 系统的 ECS,流程完全不同。需要在“计算机管理”->“磁盘管理”中初始化磁盘,然后新建卷并分配盘符。Linux 那套命令完全无效。

  2. 数据盘里有数据怎么办?
    mkfs 会清空数据!如果盘里已有重要数据,请先备份,或者使用 parted 等工具无损调整分区表(风险极高,建议备份)。

  3. 权限问题:
    挂载后,普通用户可能无法写入 /data。如果需要,可以修改目录权限:

    chmod 777 /data

    或者将所属用户改为你的应用用户(如 www, nginx 等)。

  4. 性能优化:
    对于高 I/O 场景,建议在 mkfs 时加上 -E lazy_itable_init=0,lazy_journal_init=0 参数,避免首次挂载时初始化 inode 表导致卡顿。但这属于进阶优化,普通业务默认即可。

总结:手动挂载是 Linux 的基本功,没得商量。按上述步骤走一遍,大概 5-10 分钟就能搞定。