雨云云硬盘挂载与在线扩容:LVM逻辑卷与ext4/xfs实战

从挂载新云硬盘到 LVM 逻辑卷再到 ext4/xfs 在线扩容,数据迁移不丢一条记录
发布于
8

跑一段时间后数据库、日志、上传文件迟早把系统盘塞满。雨云云服务器支持挂载独立云硬盘(数据盘),再配合 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 上线前先在测试机练手,逻辑卷名字搞混了能丢数据;
  • 扩容前先备份,即使是”在线扩容”,万一的过程中断电盘坏了不是没可能。

常见问题

关于在雨云云服务器上挂载和扩容磁盘的常见疑问,下面一并解答。

常见问题(FAQ)

系统盘和数据盘有什么区别?
系统盘是云服务器自带的操作系统盘,重装系统会清空;数据盘是独立购买挂载的云硬盘,系统重装不影响上面的数据,适合放数据库、网站文件等持久化的东西。
LVM 和直接分区 mount 选哪个?
如果数据量稳定不变,直接分区 mount 最简单。如果未来肯定要扩容(数据库、日志不断增长),上 LVM——它支持在线把多块盘拼成一个逻辑卷,扩容不用卸下业务目录。
ext4 和 xfs 怎么选?
小文件多(代码、网站目录)选 ext4,大文件多(数据库、视频文件)选 xfs。xfs 更适合大 IO 吞吐,但意外断电后恢复比 ext4 慢一些。同机器上不要混用。
在线扩容真的不影响业务吗?
lvextend + resize2fs(ext4)或 xfs_growfs(xfs)在挂载状态下跑,不会打断服务。但以防万一,扩容前做备份是基本素养。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600