Linux虚拟机LVM扩容核心是先由虚拟化平台扩容,再让操作系统识别并纳入LVM管理:新增硬盘需pvcreate→vgextend→lvextend→xfs_growfs或resize2fs,全程无需重启,但须按顺序操作并备份数据。

确认当前磁盘与 LVM 结构
执行以下命令,明确现有磁盘、分区、物理卷(PV)、卷组(VG)和逻辑卷(LV)关系:
-
lsblk—— 查看所有块设备及挂载状态 -
df -Th—— 看哪些挂载点已满、用的是什么文件系统(xfs/ext4) -
pvs; vgs; lvs—— 检查 LVM 层级是否启用、VG 是否有剩余空间
若当前使用 LVM(绝大多数 RHEL/CentOS/Oracle Linux 默认配置),后续扩容更灵活;若为传统分区(如 /dev/sda2 直接格式化挂载),则需先扩展分区再调整文件系统,风险更高。
在虚拟化平台中添加或扩容磁盘
分两种主流方式:
-
添加一块新硬盘(推荐,安全):在 VMware/vSphere、VirtualBox 或 KVM 管理界面中,为虚拟机「添加硬件 → 硬盘」,选择容量并完成。启动后系统会识别为
/dev/sdb(或 sdc 等)。 -
扩展现有硬盘(需支持热扩容):在平台中选中原磁盘(如
sda),点击「扩展」设为更大值(如从 20G→50G)。完成后需通知内核重读容量:echo 1 > /sys/class/block/sda/device/rescan
⚠️ 注意:仅部分虚拟化平台(如 VMware + VMware Tools、KVM + virtio-scsi)支持热扩容;若不生效,需重启虚拟机再操作。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
将新空间纳入 LVM 管理(LVM 场景)
假设新增磁盘为 /dev/sdb,目标是扩充已有卷组 vg_data 和逻辑卷 lv_data:
- 创建物理卷:
pvcreate /dev/sdb - 扩展卷组:
vgextend vg_data /dev/sdb - 扩展逻辑卷(用尽所有空闲空间):
lvextend -l +100%FREE /dev/vg_data/lv_data - 扩展文件系统:
• XFS:xfs_growfs /data(/data是该 LV 的挂载点)
• ext4:resize2fs /dev/vg_data/lv_data
执行完后再次运行 df -h,即可看到挂载点容量已更新。
直接挂载新磁盘(非 LVM 或独立用途)
若不走 LVM,而是为日志、备份等新建独立存储路径:
- 分区:
fdisk /dev/sdb→n(新建)→p(主分区)→ 回车三次(默认全占)→t→8e(设为 LVM 类型,即使不用 LVM 也建议设此 ID)→w - 格式化:
mkfs.xfs /dev/sdb1(或mkfs.ext4) - 创建挂载点并挂载:
mkdir -p /backup && mount /dev/sdb1 /backup - 写入
/etc/fstab实现开机自动挂载:UUID=xxx /backup xfs defaults 0 0(先用blkid /dev/sdb1获取 UUID)
不复杂但容易忽略:每次挂载前建议用 partprobe 或重启内核分区表缓存,确保系统识别新分区。

















