1️⃣ PVE界面的操作:在线扩容,不影响虚拟机的操作.
【Ubuntu 虚拟机】→【硬件】→【磁盘操作】→【调整大小】→【增量大小,比如:10g】,完成之后硬盘从原来的150g,显示size=160g
2️⃣ Ubuntu虚拟机的操作:/dev/ubuntu-vg/ubuntu-lv扩容10g
# 查看磁盘结构
lsblk
sudo vgs
sudo lvs
df -h
# 输出结果
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 160G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 148G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 148G 0 lvm /
VG #PV #LV #SN Attr VSize VFree
ubuntu-vg 1 1 0 wz--n- <148.00g 0
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao---- <148.00g
Filesystem Size Used Avail Use% Mounted on
tmpfs 795M 1016K 794M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 146G 101G 38G 73% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 196M 1.6G 11% /boot
tmpfs 795M 20K 795M 1% /run/user/1000
overlay 146G 101G 38G 73% /var/lib/docker/overlay2/f036c5364ab31f5565c3214084a833e336/merged
# 安装preted,parted 用于修改分区表和扩展分区 sudo apt update sudo apt install parted -y # 进入 parted 查看磁盘 sudo parted /dev/sda # 输出结果 GNU Parted 3.6 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print #输入查看分区信息 Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? Fix/Ignore? fix #输入让 GPT 分区表识别磁盘所有空间 Model: QEMU QEMU HARDDISK (scsi) Disk /dev/sda: 172GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 2150MB 2147MB ext4 3 2150MB 161GB 159GB (parted) resizepart 3 100% #输入扩展 sda3 分区到磁盘末尾 (parted) quit # 输入退出 parted Information: You may need to update /etc/fstab.
# LVM 识别 sda3 新增的空间扩展 LVM PV sudo pvresize /dev/sda3 # 输出结果 Physical volume "/dev/sda3" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized # 查看 VFree,应该有10g剩余 sudo vgs # 输出结果 VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 1 0 wz--n- <158.00g 10.00g # 扩展 LVM 逻辑卷 LV sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv # 输出结果 Size of logical volume ubuntu-vg/ubuntu-lv changed from <148.00 GiB (37887 extents) to <158.00 GiB (40447 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized. # 扩展文件ext4系统 sudo resize2fs /dev/ubuntu-vg/ubuntu-lv # 输出结果 resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required old_desc_blocks = 19, new_desc_blocks = 20 The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 41417728 (4k) blocks long. # 检查最终结果 df -h sudo vgs sudo lvs # 输出结果 Filesystem Size Used Avail Use% Mounted on tmpfs 795M 1016K 794M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 155G 101G 48G 69% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 196M 1.6G 11% /boot tmpfs 795M 20K 795M 1% /run/user/1000 overlay 155G 101G 48G 69% /var/lib/docker/overlay2/f036c5364ab31f5565c3214084a833e3c9b0e89e8eb38fe0e192dde30e092036/merged VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 1 0 wz--n- <158.00g 0 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert ubuntu-lv ubuntu-vg -wi-ao---- <158.00g
增加10g硬盘,扩容命令:
# 确认磁盘信息
lsblk
sudo vgs
sudo lvs
df -h
# 修复GPT分区表
sudo parted /dev/sda
# 进入 parted 后,出现提示:
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space
Fix/Ignore?
# 输入确认
Fix
# 查看分区表
print
# 扩展 sda3 分区到磁盘末尾
resizepart 3 100%
# 退出 parted
quit
#增加10g硬盘,扩容命令:
lvresize -L +10G /dev/pve/root
#输出结果
Size of logical volume pve/root changed from 96.00 GiB (24576 extents) to 106.00 GiB (27136 extents).
Logical volume pve/root successfully resized.
更新文件系统,扩容命令
#更新文件系统,扩容命令: resize2fs /dev/pve/root #输出结果 resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/pve/root is mounted on /; on-line resizing required old_desc_blocks = 12, new_desc_blocks = 14 The filesystem on /dev/pve/root is now 27787264 (4k) blocks long.
查看系统分区情况
#查看系统分区情况 df -Th | grep dev #输出结果 udev devtmpfs 32G 0 32G 0% /dev /dev/mapper/pve-root ext4 104G 32G 68G 32% / tmpfs tmpfs 32G 40M 32G 1% /dev/shm /dev/nvme1n1p2 vfat 1022M 12M 1011M 2% /boot/efi /dev/fuse fuse 128M 16K 128M 1% /etc/pve
#直通硬盘 # 100为虚拟机ID sataX X为你的盘号 qm set 100 --sata3 /dev/disk/by-id/ata-STXXXXX # 镜像转换 qm importdisk <vmid> <source> <storage> [OPTIONS] #例:qm importdisk 101 vm01-disk001.vmdk local-lvm -format qcow2 #上面101是虚拟机的VM ID,vm01-disk001.vmdk是解压出来的vmdk文件,local-lvm是你的存储ID, -format qcow2 是指定导入后硬盘镜像的格式,默认是raw格式。 #创建vm qm create 300 -ide0 local-lvm:4 -net0 e1000 -cdrom local:iso/proxmox-mailgateway_2.1.iso #启动vm qm start 300 #停止vm qm stop 300 #关闭vm并等待40s超时 qm shutdown 300 && qm wait 300 -timeout 40 #定位配置文件路径/etc/pve/qemu-server ls /etc/pve/qemu-server #定位虚拟磁盘镜像文件 /var/lib/vz/images ls /var/lib/vz/images #如果是最新版本的proxmox该如何处理呢 vi 100.conf scsi0: local-lvm:**vm-100-disk-1**,size=100G 加黑部分很重要 这是#我们虚拟磁盘镜像文件的文件名 其次: find / -name vm-100-disk-1 #使用scp 命令 将100.conf 与 vm-100-disk-1 发送到另外一台proxmox机器对应的文件上,就可以启动了 #备份镜像目录 /var/lib/vz/dump/ #扩容local分区,重建local-vm分区 #由于thin分区不支持动态缩容,所以需要在创建pve支出删除data,如果已经建了虚拟机建议备份 lvremove /dev/pve/data lvcreate -L 100G -n data pve lvconvert --type thin-pool pve/data #扩容系统根分区 lvresize -L +100G /dev/pve/root resize2fs /dev/pve/root #安装libguestfs-tools apt install --no-install-recommends --no-install-suggests libguestfs-tools #修改qcow2的账户密码 virt-customize -a CentOS-7-x86_64-GenericCloud-1811.qcow2 --root-password password:123456
参考文献:
https://www.d3tt.com/view/199
https://wiki.sqlfans.cn/it/it-pve-upgradedisk.html
https://wiki.sqlfans.cn/it/it-pve-upgradedisk.html#
原创文章,作者:开心电脑网,如若转载,请注明出处。