这是一个非常经典且常见的云服务器使用问题。很多新手用户发现买回来的服务器只有一个磁盘(通常挂载为 /dev/vda 或 /dev/sda),导致无法存储大量数据,或者担心系统盘空间不足。
下面我将分两部分为你详细解答:为什么默认只有一个系统盘,以及如何添加和配置数据盘。
一、 为什么新买的云服务器只有一个系统盘?
-
成本与计费模式
- 云服务商通常将“系统盘”作为基础资源包含在实例规格中(如 ECS、CVM 等)。
- “数据盘”属于额外存储资源,需要单独购买或按需扩容。这样设计可以让用户根据实际需求灵活选择存储空间大小,避免为不需要的容量付费。
-
性能与安全隔离
- 系统盘用于安装操作系统、运行程序和日志,对 I/O 延迟敏感。
- 数据盘用于存储业务数据、数据库文件、备份等。将两者分离有助于:
- 性能优化:可针对不同盘类型(如 SSD、HDD)进行独立优化。
- 故障隔离:系统崩溃时,数据盘上的数据更安全;反之亦然。
- 快照管理:可以单独对系统盘做快照恢复系统,而不对数据盘造成干扰。
-
初始状态未格式化
- 即使你购买了数据盘,它可能处于“已挂载但未初始化”的状态,在系统中不可见,需要手动分区和格式化。
二、 如何添加数据盘?(完整步骤)
⚠️ 重要提醒:在执行任何磁盘操作前,请务必对现有数据进行备份!错误操作可能导致数据丢失。
第一步:在控制台创建并挂载数据盘
- 登录你的云服务商控制台(如阿里云、腾讯云、华为云、AWS 等)。
- 找到你的云服务器实例,进入“云盘”或“存储”管理页面。
- 点击“创建云盘”或“添加数据盘”,选择:
- 容量(如 50GB、100GB)
- 类型(推荐 SSD 以获得更好性能)
- 创建完成后,将该数据盘挂载到你的云服务器实例上。
第二步:登录服务器,识别新磁盘
通过 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
第四步:挂载数据盘
- 创建挂载点目录:
sudo mkdir -p /data
- 临时挂载测试:
sudo mount /dev/vdb1 /data
- 验证是否成功:
df -h
# 你应该能看到 /dev/vdb1 挂载在 /data 下
第五步:设置开机自动挂载(关键!)
如果不配置此项,重启服务器后数据盘会消失。
- 获取该分区的 UUID:
sudo blkid /dev/vdb1
# 输出示例:/dev/vdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
- 编辑 fstab 文件:
sudo nano /etc/fstab
- 在文件末尾添加一行(替换为你的实际 UUID):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2
- 保存退出,然后重新加载 fstab 验证:
sudo mount -a
如果没有报错,说明配置成功。
三、 常见场景补充
✅ Windows 服务器如何添加数据盘?
- 登录 Windows 远程桌面。
- 打开“此电脑” → 右键“管理” → “磁盘管理”。
- 你会看到一个“未分配”的黑色区域(即新数据盘)。
- 右键该区域 → “新建简单卷” → 按向导完成分区、格式化(NTFS)、分配盘符(如 D:)。
- 完成后即可在“此电脑”中看到新磁盘。
✅ 如何扩容已有数据盘?
大多数云厂商支持在线扩容:
- 在控制台将数据盘从 50G 扩容到 100G。
- 登录服务器,执行:
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