为什么新买的云服务器只有一个系统盘,如何添加数据盘?

这是一个非常经典且常见的云服务器使用问题。很多新手用户发现买回来的服务器只有一个磁盘(通常挂载为 /dev/vda 或 /dev/sda),导致无法存储大量数据,或者担心系统盘空间不足。

下面我将分两部分为你详细解答:为什么默认只有一个系统盘,以及如何添加和配置数据盘。


一、 为什么新买的云服务器只有一个系统盘?

  1. 成本与计费模式

    • 云服务商通常将“系统盘”作为基础资源包含在实例规格中(如 ECS、CVM 等)。
    • “数据盘”属于额外存储资源,需要单独购买或按需扩容。这样设计可以让用户根据实际需求灵活选择存储空间大小,避免为不需要的容量付费。
  2. 性能与安全隔离

    • 系统盘用于安装操作系统、运行程序和日志,对 I/O 延迟敏感。
    • 数据盘用于存储业务数据、数据库文件、备份等。将两者分离有助于:
      • 性能优化:可针对不同盘类型(如 SSD、HDD)进行独立优化。
      • 故障隔离:系统崩溃时,数据盘上的数据更安全;反之亦然。
      • 快照管理:可以单独对系统盘做快照恢复系统,而不对数据盘造成干扰。
  3. 初始状态未格式化

    • 即使你购买了数据盘,它可能处于“已挂载但未初始化”的状态,在系统中不可见,需要手动分区和格式化。

二、 如何添加数据盘?(完整步骤)

⚠️ 重要提醒:在执行任何磁盘操作前,请务必对现有数据进行备份!错误操作可能导致数据丢失。

第一步:在控制台创建并挂载数据盘

  1. 登录你的云服务商控制台(如阿里云、腾讯云、华为云、AWS 等)。
  2. 找到你的云服务器实例,进入“云盘”或“存储”管理页面。
  3. 点击“创建云盘”或“添加数据盘”,选择:
    • 容量(如 50GB、100GB)
    • 类型(推荐 SSD 以获得更好性能)
  4. 创建完成后,将该数据盘挂载到你的云服务器实例上。

第二步:登录服务器,识别新磁盘

通过 SSH 登录到你的 Linux 服务器,执行以下命令查看磁盘:

lsblk
# 或
fdisk -l

你会看到类似这样的输出:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda     253:0    0   40G  0 disk 
├─vda1  253:1    0   40G  0 part /
vdb     253:16   0   50G  0 disk 
  • vda 是系统盘。
  • vdb 是新添加的数据盘(大小 50G,未挂载)。

📌 注意:不同厂商的磁盘命名可能不同,可能是 xvdb、sdb、vdc 等,请以实际为准。

第三步:分区与格式化(以 ext4 为例)

1. 分区(如果磁盘全新)
sudo fdisk /dev/vdb

进入交互式界面后,按顺序输入:

n          # 新建分区
p          # 主分区
1          # 分区号 1
回车       # 起始扇区默认
回车       # 结束扇区默认(使用全部空间)
w          # 写入并退出

验证分区是否成功:

lsblk
# 现在应该看到 vdb1
2. 格式化分区
sudo mkfs.ext4 /dev/vdb1

💡 如果你希望使用 xfs 文件系统(某些云厂商推荐),可改为 mkfs.xfs /dev/vdb1

第四步:挂载数据盘

  1. 创建挂载点目录:
sudo mkdir -p /data
  1. 临时挂载测试:
sudo mount /dev/vdb1 /data
  1. 验证是否成功:
df -h
# 你应该能看到 /dev/vdb1 挂载在 /data 下

第五步:设置开机自动挂载(关键!)

如果不配置此项,重启服务器后数据盘会消失。

  1. 获取该分区的 UUID:
sudo blkid /dev/vdb1
# 输出示例:/dev/vdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
  1. 编辑 fstab 文件:
sudo nano /etc/fstab
  1. 在文件末尾添加一行(替换为你的实际 UUID):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /data  ext4  defaults  0  2
  1. 保存退出,然后重新加载 fstab 验证:
sudo mount -a

如果没有报错,说明配置成功。


三、 常见场景补充

✅ Windows 服务器如何添加数据盘?

  1. 登录 Windows 远程桌面。
  2. 打开“此电脑” → 右键“管理” → “磁盘管理”。
  3. 你会看到一个“未分配”的黑色区域(即新数据盘)。
  4. 右键该区域 → “新建简单卷” → 按向导完成分区、格式化(NTFS)、分配盘符(如 D:)。
  5. 完成后即可在“此电脑”中看到新磁盘。

✅ 如何扩容已有数据盘?

大多数云厂商支持在线扩容:

  1. 在控制台将数据盘从 50G 扩容到 100G。
  2. 登录服务器,执行:
    sudo growpart /dev/vdb 1   # 扩展分区表
    sudo resize2fs /dev/vdb1   # 如果是 ext4
    # 或
    sudo xfs_growfs /data      # 如果是 xfs

四、 最佳实践建议

项目 建议
文件系统 Linux 推荐使用 ext4 或 xfs;Windows 使用 NTFS
挂载点 常用 /data、/mnt/data 或 /var/lib/mysql 等明确语义的路径
权限设置 确保应用用户有读写权限:
sudo chown -R www-data:www-data /data
监控告警 设置磁盘使用率告警(如超过 80% 预警)
定期备份 数据盘虽独立,但仍需定期备份至对象存储(OSS/S3)或其他异地位置

如有具体云厂商(如阿里云、腾讯云、AWS)或操作系统版本(Ubuntu、CentOS、Windows Server),我可以提供更精确的命令和操作截图指引。欢迎继续提问!

未经允许不得转载:云知识CLOUD » 为什么新买的云服务器只有一个系统盘,如何添加数据盘?