当前位置: 首页 > news >正文

Linux命令-pvchange(修改物理卷属性)

Linux命令-pvchange(修改物理卷属性)

    • 🔰 简介
    • 📖 语法
    • ⚙️ 选项
    • 💡 示例
      • 示例 1:禁止 PV 分配(维修前锁定)
      • 示例 2:恢复 PV 分配权限
      • 示例 3:重新生成 PV UUID
      • 示例 4:条件筛选批量修改
    • ⚠️ 注意
    • 📚 相关命令
    • 📝 总结

快速参考pvchange用于修改 LVM 物理卷的属性,最常用于切换 PV 的分配权限(允许/禁止从中分配 PE),也可用于重新生成 PV 的 UUID。这是 PV 维护的重要命令,特别是在需要临时隔离某个 PV 时。


🔰 简介

pvchange允许管理员在不删除、不重建 PV 的情况下修改其运行时属性。两个核心用途:一是通过-x y/n控制 PV 的Allocatable状态,实现 PV 的在线隔离与恢复;二是通过-u重新生成 UUID,解决 UUID 冲突问题。

核心功能

  • 切换 PV 的分配权限(Allocatable 属性)
  • 生成新的 PV UUID
  • 批量修改或条件筛选修改

典型使用场景

  • 磁盘出现 I/O 错误,临时禁止分配以进行维护
  • 有计划地更换磁盘,先锁定旧 PV 再迁移数据
  • PV UUID 冲突(如克隆虚拟机后)导致 LVM 无法正常识别

📖 语法

pvchange[选项][PV路径...]

不指定 PV 路径时,默认作用于所有 PV。使用--select可精确筛选目标 PV。


⚙️ 选项

选项说明
-x, --allocatable y/n允许(y)或禁止(n)从此 PV 分配 PE
-u, --uuid生成新的随机 UUID 分配给 PV
-a, --all应用于所有 PV
-S, --select按条件筛选目标 PV
-v, --verbose显示详细执行过程
-t, --test测试模式,不实际执行
-A, --autobackup y/n是否自动备份元数据(默认 y)
--metadatacopies 0/1/2设置元数据副本数

💡 示例

示例 1:禁止 PV 分配(维修前锁定)

在计划更换或维修一块磁盘前,先锁定它,防止新数据写入。

# 当前状态:PV 可分配$ pvs /dev/sdb1 PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 a--100.00g20.00g# ^^^ a-- 表示可分配# 禁止分配$ pvchange-xn /dev/sdb1 Physical volume"/dev/sdb1"changed1physical volume changed /0physical volumes not changed# 验证状态变化$ pvs /dev/sdb1 PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 ---100.00g20.00g# ^^^ --- 表示不可分配# 迁移已有数据(PV 上仍有分配的空间)$ pvmove /dev/sdb1 /dev/sdb1: Moved:30.00% /dev/sdb1: Moved:65.00% /dev/sdb1: Moved:100.00%# 确认数据已清空$ pvs-opv_name,pv_used /dev/sdb1 PV PUsed /dev/sdb10# 从 VG 中安全移除$ vgreduce vg01 /dev/sdb1 Removed"/dev/sdb1"from volume group"vg01"# 删除 LVM 标签(如需要)$ pvremove /dev/sdb1 Labels on physical volume"/dev/sdb1"successfully wiped.

示例 2:恢复 PV 分配权限

维护完成后,重新启用 PV。

# 维护前状态(假设正在维护中,不可分配)$ pvs /dev/sdb1 PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 ---100.00g80.00g# 恢复分配权限$ pvchange-xy /dev/sdb1 Physical volume"/dev/sdb1"changed1physical volume changed /0physical volumes not changed# 验证$ pvs /dev/sdb1 PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 a--100.00g80.00g# ^^^ 已恢复为可分配状态# 创建新 LV 验证可用性$ lvcreate-L10G-ntest_lv vg01 /dev/sdb1 Logical volume"test_lv"created.

示例 3:重新生成 PV UUID

当 PV UUID 冲突时(常见于克隆虚拟机或磁盘镜像后),需要生成新的 UUID。

# 克隆虚拟机后,发现 UUID 冲突报错$ pvs WARNING: Duplicate UUID XxYyZz-... on /dev/sdb1 and /dev/sdc1 PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 a--100.00g20.00g /dev/sdc1 vg01 lvm2 a--100.00g20.00g# 查看当前 UUID$ pvs-opv_name,pv_uuid /dev/sdc1 PV PV UUID /dev/sdc1 XxYyZz-AaBb-CcDd-EeFf-GgHh-IiJj-KkLlMm# 生成新的随机 UUID$ pvchange-u/dev/sdc1 Physical volume"/dev/sdc1"changed1physical volume changed /0physical volumes not changed# 验证新 UUID$ pvs-opv_name,pv_uuid /dev/sdc1 PV PV UUID /dev/sdc1 NnOoPp-QqRr-SsTt-UuVv-WwXx-YyZz-112233# UUID 冲突警告消失$ pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg01 lvm2 a--100.00g20.00g /dev/sdc1 vg01 lvm2 a--100.00g20.00g

示例 4:条件筛选批量修改

使用--select批量修改满足条件的 PV。

# 当前环境 PV 状态$ pvs-opv_name,pv_size,pv_free,vg_name PV PSize PFree VG /dev/sda2238.00g0ubuntu /dev/sdb1100.00g5.00g vg01 /dev/sdc1200.00g50.00g vg01 /dev/sdd1500.00g100.00g vg01# 锁定所有剩余空间不足 10G 的 PV$ pvchange-xn--select"pv_free < 10g"Physical volume"/dev/sdb1"changed1physical volume changed /0physical volumes not changed# 验证$ pvs-opv_name,pv_free,pv_attr PV PFree Attr /dev/sdb15.00g --- /dev/sdc150.00g a-- /dev/sdd1100.00g a--

⚠️ 注意

-x n的影响范围:将 PV 设为不可分配后,已分配在该 PV 上的现有数据不受影响(仍可读写)。该操作仅阻止未来在此 PV 上分配新的 PE(如创建新 LV 或扩展现有 LV)。

-x n可能阻止 LV 创建:如果 VG 中所有 PV 都被设为不可分配,则无法创建新的 LV 或扩展现有 LV。

# 提前检查$ pvs-opv_name,pv_allocatable--selectallocatable=allocatable

UUID 冲突的风险:两个 PV 具有相同的 UUID 会导致 LVM 行为不可预测——可能某些命令只看到一个 PV,或者在激活 VG 时随机选择一个。UUID 冲突必须立即解决

-u不修改数据pvchange -u只修改 LVM 元数据中的 UUID 字段,不会影响设备上任何用户数据,操作是安全的。


📚 相关命令

命令关系
pvs查看 PV 属性列表
pvdisplay查看 PV 详细属性
pvcreate --uuid创建时指定 UUID
pvmove迁移 PV 上的数据
vgchange修改卷组属性

📝 总结

pvchange是 LVM 运维中精细化管理 PV 的关键命令-x n用于磁盘维护前的安全锁定,-u用于解决克隆带来的 UUID 冲突。掌握这两个核心场景,能在不中断服务的情况下安全地管理 PV 生命周期。

💡提示:使用pvchange --helpman pvchange获取最新文档。操作前先用pvchange -t测试,确认目标 PV 正确。

http://www.jsqmd.com/news/1058483/

相关文章:

  • 事件相机在视觉说话人识别中的应用:NeuroLip框架解析
  • 基于YOLOv8与RexNet-150的两阶段深度学习考试作弊检测框架实战
  • QGas工具:解决气体能源网络建模数据荒的拓扑感知数据生成方案
  • 极端天气下电力系统鲁棒调度优化实践
  • RAGognizer:基于幻觉感知微调提升大模型在RAG中的事实可靠性
  • 2026荆州漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • AI动态简报之商业洞察篇(2026.06.21)
  • GoB插件:打破Blender与ZBrush之间的创作壁垒
  • Xournal++:如何用这款开源手写笔记软件彻底改变你的数字笔记体验?
  • 轻量级AI音乐生成模型TinyMU:2.29亿参数媲美大模型的架构与实战
  • SVGedit完全指南:5步掌握浏览器端矢量图形编辑
  • 基于RPA思想的Cassandra数据库自动化测试框架构建与实践
  • 高穹全域透视·智网自主抗毁|空基立体感知·全域精准管控
  • UniEditBench:基于知识蒸馏的统一多模态编辑评测基准
  • 基于SIVR的大语言模型幻觉检测:原理、实现与实战优化
  • 2023年图灵“贝利文件”近50万美元拍卖,揭秘其绝密“黛利拉”语音加密项目
  • LLM智能体架构设计:经验压缩谱实现记忆、技能与规则统一管理
  • 衍射光学神经网络物理鲁棒性分析:从数字优化到制造落地的系统方法
  • 光伏MPPT中PO算法收敛性增强:应对不确定性扰动的工程实践
  • 2026年当前安徽牯牛降网红漂流热门景区选择指南与品牌深度解析 - 品牌鉴赏官2026
  • DroidCam OBS插件终极指南:将手机摄像头变身高清直播摄像头
  • 第二代无服务器平台架构演进:从FaaS到一体化应用体验的实战解析
  • 大模型知识遗忘实战:基于反事实推理与偏好优化的可控遗忘技术
  • AI写作助手如何通过目标设定与元认知支持提升学术写作质量
  • RPJ技术赋能藤蔓机器人:实现局部刚度调控与刚柔并济
  • 2026莆田防水补漏避坑指南:卫生间/厨房/阳台/屋顶/地下室漏水检测维修全攻略,正规施工+透明报价+口碑榜靠谱服务商推荐 - 安佳防水
  • 基于LLM与记忆模块的对话信息增益自动评估系统实践
  • 三步掌握免费在线图表编辑的终极指南:Mermaid Live Editor 完全解析
  • AI代理安全新威胁:Serpent攻击原理与纵深防御体系构建
  • 2026年重庆职称评审机构哪家师资雄厚且通过率高?师资到底看啥?通过率怎么算? - 3158GEO