新买的云服务器(如阿里云、腾讯云、华为云等)默认通常只挂载一块系统盘(用于安装操作系统和运行系统服务),这是出于成本、安全性和灵活性的考虑。系统盘一般为 SSD 或高效云盘,但容量有限(如 40GB–100GB),不适合存储大量业务数据(如数据库、日志、网站资源、备份等)。因此,添加独立的数据盘是常见且推荐的做法。
以下是添加数据盘的完整流程(以主流云平台通用逻辑为主,附关键注意事项):
✅ 一、在云控制台购买并挂载数据盘
-
登录云服务商控制台
(如:阿里云 ECS 控制台 → 实例列表 → 找到目标实例) -
创建并挂载云硬盘(数据盘)
- 进入「云硬盘」或「块存储」服务页面
- 点击「创建云硬盘」
- 选择类型:SSD云盘(高性能)、ESSD云盘(推荐,支持更高IOPS)、容量(如 200GB/1TB)、计费方式(包年包月 or 按量付费)
- 注意:必须选择与云服务器相同的地域(Region)和可用区(Zone)!
- 创建成功后,在云硬盘列表中找到该磁盘 → 点击「挂载」→ 选择你的云服务器实例 → 确认挂载(通常挂载点可留空,由系统自动分配,如
/dev/vdb、/dev/xvdb或/dev/nvme1n1)
🔍 提示:挂载后不会自动格式化或挂载到文件系统!需手动操作(见第二步)。
✅ 二、登录服务器,初始化数据盘(Linux 示例)
1️⃣ 查看新磁盘设备
lsblk # 查看所有块设备(确认新盘,如 vdb, nvme1n1)
# 或
fdisk -l | grep "Disk /dev/" # 列出磁盘,找未分区的新盘
✅ 正常应看到类似:
vda 252:0 0 100G 0 disk ← 系统盘(已使用)
vdb 252:16 0 200G 0 disk ← 新挂载的数据盘(无分区,未格式化)
2️⃣ 分区(可选,但推荐:便于管理 & 兼容性好)
fdisk /dev/vdb
# 输入指令:
# n → p → 1 → 回车(默认起始扇区)→ 回车(默认结束扇区)→ w
# 完成分区后,会生成 /dev/vdb1
💡 小贴士:若磁盘 ≥2TB,建议用
parted+ GPT 分区表;小盘可用fdisk+ MBR。
3️⃣ 格式化(例如 ext4 文件系统)
mkfs.ext4 /dev/vdb1 # 推荐 ext4(稳定、通用)
# 或 mkfs.xfs /dev/vdb1(适合大文件、高并发,如数据库)
4️⃣ 创建挂载目录并挂载
mkdir -p /data # 创建挂载点(按需命名,如 /data、/home/www、/var/lib/mysql)
mount /dev/vdb1 /data
df -h # 验证是否挂载成功
5️⃣ 设置开机自动挂载(⚠️ 关键!否则重启后丢失)
# 获取磁盘 UUID(更可靠,比 /dev/vdb1 更稳定)
blkid /dev/vdb1
# 输出类似:/dev/vdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
# 编辑 fstab(备份再操作!)
sudo cp /etc/fstab /etc/fstab.bak
echo "UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab
# 测试配置是否正确(无报错即 OK)
sudo mount -a
✅ 至此,数据盘已就绪,可开始存放业务数据。
✅ 三、Windows 服务器如何添加数据盘?
- 控制台挂载后,远程桌面连接;
- 打开「磁盘管理」(diskmgmt.msc);
- 找到「状态为『脱机』的新磁盘」→ 右键「联机」;
- 右键未分配空间 → 「新建简单卷」→ 向导完成格式化(NTFS)和分配盘符(如 D:);
- ✅ 自动加入系统,无需额外配置开机挂载。
⚠️ 重要注意事项
| 项目 | 说明 |
|---|---|
| 🌐 同可用区限制 | 数据盘与云服务器必须在同一可用区,否则无法挂载。 |
| 💾 系统盘 vs 数据盘 | 系统盘随实例释放而销毁(除非勾选“释放实例时保留云盘”);数据盘可单独设置“随实例释放”或“不随实例释放”(强烈建议设为 ❌ 不随实例释放,避免误删数据)。 |
| 🧹 首次使用必初始化 | 云硬盘挂载后是“裸盘”,必须分区+格式化才能使用,否则写入会失败。 |
| 📦 挂载点路径规范 | 建议使用 /data、/mnt/data 等标准路径,避免挂载到 /usr、/var 等系统目录下(可能引发权限或升级问题)。 |
| 🔐 权限与 SELinux(Linux) | 若应用(如 Nginx、MySQL)需访问数据盘,请确保目录权限正确(如 chown -R www-data:www-data /data),必要时调整 SELinux 上下文(semanage fcontext)。 |
| 🔄 扩容数据盘 | 支持在线扩容(先在控制台扩容云盘 → 再在 OS 中扩展分区和文件系统,如 resize2fs /dev/vdb1),系统盘扩容需关机(部分云厂商支持热扩容,需确认)。 |
✅ 补充:一键脚本(Linux 快速初始化,谨慎使用)
# 示例:自动分区、格式化、挂载 /dev/vdb 为 /data(仅用于测试环境!生产请人工确认)
DISK="/dev/vdb"
MOUNT_POINT="/data"
mkfs.ext4 ${DISK}1 &&
mkdir -p $MOUNT_POINT &&
mount ${DISK}1 $MOUNT_POINT &&
echo "$(blkid -o value -s UUID ${DISK}1) $MOUNT_POINT ext4 defaults,nofail 0 2" >> /etc/fstab
⚠️ 生产环境请务必逐条执行并验证,避免误操作导致数据丢失。
如你告知具体云厂商(如阿里云/ECS、腾讯云/CVM、华为云/ECS)和操作系统(CentOS 7/8、Ubuntu 22.04、Windows Server 2019),我可以提供定制化命令和截图指引 👇
需要我帮你写一份完整的自动化初始化脚本,或指导 MySQL/Nginx 如何迁移到新数据盘吗?欢迎继续提问! 😊
CLOUD云计算