跑一段时间后数据库、日志、上传文件迟早把系统盘塞满。雨云云服务器支持挂载独立云硬盘(数据盘),再配合 LVM 逻辑卷管理,扩容时不用停机、不用迁移数据。本文从头到尾走一遍。
一、什么时候需要独立云硬盘
- 系统盘 40G 快满了,
/var/lib/mysql或/var/www/html/wp-content/uploads吃掉大半空间; - 数据库、日志、备份要单独一块盘,系统重装不影响数据;
- 需要超过系统盘规格的大容量存储(比如视频、大文件归档)。
雨云控制台购买云硬盘后,先把它挂载到实例,再进系统格式化。
二、挂载新云硬盘
# 查看新磁盘设备名(通常是 /dev/vdb) lsblk # 分区(可选,也可以整个盘直接格式化) fdisk /dev/vdb # 格式化为 ext4 mkfs.ext4 /dev/vdb1 # 挂载 mkdir /data mount /dev/vdb1 /data # 写入 fstab 实现开机自动挂载 echo '/dev/vdb1 /data ext4 defaults 0 2' >> /etc/fstab
确认 df -h 能看到挂载点,reboot 后还在就稳妥了。
三、迁移已有数据到数据盘
比如把 MySQL 数据目录搬到数据盘:
systemctl stop mysql rsync -av /var/lib/mysql/ /data/mysql/ mv /var/lib/mysql /var/lib/mysql.bak ln -s /data/mysql /var/lib/mysql systemctl start mysql
先停服,rsync 拷数据,做软链,再启服。别直接 mv 整个目录,用软链是为了以后还能回滚。
四、LVM 逻辑卷:可在线扩容的方案
直接分区挂载的问题是扩容要卸载→扩展→重新挂载。LVM 把物理盘组成池(VG),从池里分逻辑卷(LV),扩容时可以在线扩展文件系统(前提用的是 ext4 且内核支持、或 xfs)。创建流程:
# 把 /dev/vdb1 初始化为物理卷 pvcreate /dev/vdb1 # 创建卷组 vgcreate vg_data /dev/vdb1 # 从卷组划一个逻辑卷(10G) lvcreate -L 10G -n lv_mysql vg_data mkfs.ext4 /dev/vg_data/lv_mysql # 挂载 mount /dev/vg_data/lv_mysql /data/mysql
五、在线扩容(不中断业务)
以后再加一块云硬盘 /dev/vdc 到同一卷组:
pvcreate /dev/vdc1 vgextend vg_data /dev/vdc1 # 扩展逻辑卷(+10G) lvextend -L +10G /dev/vg_data/lv_mysql # 扩展文件系统(xfs 用 xfs_growfs) resize2fs /dev/vg_data/lv_mysql
xfs 文件系统必须先扩展 LV 再用 xfs_growfs 扩大,顺序不能反。ext4 的 resize2fs 支持在线扩展(挂载状态下),收缩需要卸下。
六、文件系统选 ext4 还是 xfs
| 特性 | ext4 | xfs |
|---|---|---|
| 在线扩容 | 支持 | 支持 |
| 在线缩容 | 不支持 | 不支持 |
| 大文件性能 | 一般 | 优秀 |
| 元数据性能 | 一般 | 优秀 |
| 意外断电恢复 | 较快 | 较慢 |
总结:小文件多(代码、网站)选 ext4,大文件多(数据库、视频)选 xfs。不要混着用。
七、雨云上的成本考量
雨云云服务器新购用优惠码 admin01 走专属入口 https://www.jiyueip.com/link/5617 能拿五折。云硬盘按容量和类型计费,别一次买太大——按当前需求买,后续 LVM 在线扩就行。数据盘和云服务器同节点内网 IO 最好,性能损耗最小。
八、几个血泪教训
- 别在跑着业务的盘上直接 fdisk,小心手滑删了系统盘;
- fstab 写错一行,机器起不来——改完先
mount -a校验; - LVM 上线前先在测试机练手,逻辑卷名字搞混了能丢数据;
- 扩容前先备份,即使是”在线扩容”,万一的过程中断电盘坏了不是没可能。
常见问题
关于在雨云云服务器上挂载和扩容磁盘的常见疑问,下面一并解答。






