如何在Linux利用Lvm-Pvmove在不中断前端业务运行的前提下平滑迁移物理卷上的块数据

阿静吖_4009

阿静吖_4009

2026-06-02

304人浏览

原创

可以做到。pvmove支持在线迁移,前提是VG有足够空闲PE、源PV非唯一PV、所有相关LV处于激活状态;执行pvmove /dev/sdb后可监控进度,迁移完用vgreduce和pvremove清理,全程业务不中断。

如何在linux利用lvm-pvmove在不中断前端业务运行的前提下平滑迁移物理卷上的块数据

可以做到。关键不在于“能不能停机”,而在于是否满足LVM底层的数据映射机制和资源约束条件。pvmove本身不暂停服务,但它的安全运行依赖几个硬性前提——只要这些前提成立,前端业务(如Web服务、数据库连接、文件读写)全程无感知。

迁移前必须确认的三个硬条件

这三件事没验证清楚,直接执行pvmove大概率失败或引发I/O阻塞:

  • 卷组(VG)有足够空闲PE:用pvs -o +pv_used /dev/sdb查看源PV已用PE数;再用vgs -o +vg_free确认VG中Free PE ≥该数值。单位统一用PE(默认4MB),别只看GB。
  • 源PV不能是VG里唯一的物理卷:如果vgs显示VG只有一个PV,就无法腾空——因为没地方可搬。必须先用vgextend加入新PV,再开始迁移。
  • 所有相关LV必须处于激活且可写状态:运行lvs -o +attr,确保对应LV的Attr列包含wi-a---或owi-a---(其中a表示active)。挂载中的ext4/XFS文件系统完全不影响,反而是正常状态。

执行迁移的操作要点

命令简单,但细节决定成败:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 最简启动:pvmove /dev/sdb(自动选VG内空闲最多的PV为目标)
  • 指定目标盘(更可控):pvmove /dev/sdb /dev/sdc,前提是/dev/sdc已用pvcreate初始化并加入同一VG
  • 限速防抖动:pvmove --rate 5120 /dev/sdb(单位KB/s,即5MB/s),适合IO敏感型业务
  • 后台运行+定时刷新:pvmove -i 10 /dev/sdb &(每10秒更新一次进度)

迁移中如何应对异常情况

实际运维中常见问题都有解法,无需中断:

  • 迁移卡住或极慢:加ionice -c2 -n7降低IO优先级,避免抢占业务请求
  • Ctr+C中断后重启:直接重跑相同pvmove命令即可续传,进度自动恢复
  • 目标空间不足报错:用pvmove -n lv_data /dev/sdb只迁特定LV,分批操作
  • 磁盘偶发读错误但尚未宕机:先vgchange --alloc restricted my_vg禁用自动分配,再迁移

迁移完成后的清理与验证

这步不做,旧PV仍挂在VG里,等于没真正释放:

  • 确认清零:pvs /dev/sdb中Used列应为0,且无警告输出
  • 踢出卷组:vgreduce my_vg /dev/sdb
  • 清除元数据(推荐):pvremove /dev/sdb,防止误加回VG
  • 验证映射:lvs -o +devices检查所有LV的Devices列不再含/dev/sdb
  • 低峰期抽检:dd if=/dev/zero of=/mnt/lv/test bs=1M count=50 oflag=direct,观察延迟和dmesg日志

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2683

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5823

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6790

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6518

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

923

5

服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3212

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1056

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习