pvresize是唯一能安全同步更新PV元数据的命令,仅刷新LVM对已扩容设备的认知;需先在平台扩容磁盘并用partprobe或blockdev重读分区表,再执行pvresize /dev/sdX,最后用pvs验证PSize更新。
物理磁盘扩容后,
pvresize
是唯一能安全、直接同步更新 PV 元数据的命令——它不修改数据,只刷新 LVM 对底层设备实际容量的认知。
先确认底层扩容已完成
pvresize 不会帮你扩大磁盘或分区,它只响应“已经变大”的设备。必须确保以下两步已执行完毕:
在虚拟化平台(如 VMware、Proxmox)或物理服务器上,已将磁盘容量调大(例如从 100G → 150G)
系统内核识别到新大小:运行
partprobe
或
blockdev --rereadpt /dev/sdX
(如
),再用
lsblk
验证分区大小是否已更新(例如
显示为 150G 而非旧的 100G)
运行 pvresize 同步 PV 容量
命令极简,通常无需参数:
对整个物理卷(如基于分区):
对整块磁盘作为 PV:
若不确定设备路径,可省略目标,让 pvresize 扫描所有已知 PV:
(慎用,仅限明确环境)
执行后,LVM 会自动读取设备当前大小,并更新 PV 的元数据中记录的
PSize
和
PFree
值。用
或
即可看到 PSize 已变为新容量。
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
验证是否生效并衔接后续步骤
同步成功后,新增空间会立即反映在卷组中:
运行
,观察 VG 的
VFree
是否增加(即新增的未分配空间)
若需扩展逻辑卷,接着用
最后一步不可跳过:根据文件系统类型执行扩容(
或
),否则
不会显示新空间
常见失败原因与规避方式
pvresize 报错,基本指向三个方向:
设备未重读分区表
:partprobe 未执行,或内核缓存未刷新;可尝试重启 udev 或重启机器(生产环境优先用 blockdev)
底层设备仍被占用
:例如该 PV 正用于 swap、LVM cache 或 dm 设备;先停用相关服务或设备
误对未扩容的设备执行
:pvresize 对未变大的设备无副作用,但若误操作缩容(用了
),可能触发拒绝操作或数据风险——除非明确缩容,否则永远不要加该参数
blockdev --rereadpt /dev/sdb/dev/sdb1pvresize /dev/sdb1pvresize /dev/sdbpvresizepvspvdisplayvgslvextend -l +100%FREE /dev/vgname/lvnameresize2fs /dev/vgname/lvnamexfs_growfs /mount/pointdf -h--setphysicalvolumesize