前言
对于刚接触 PVE 的来说,会对这两个存储点产生相当大的疑问。
PVE 的主分区结构
首先我们看下 PVE 的默认安装磁盘,是一个基于 LVM 的结构。
root@pve:~# fdisk -lDisk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors。。。Device Start End Sectors Size Type/dev/sda1 34 2047 2014 1007K BIOS boot/dev/sda2 2048 1050623 1048576 512M EFI System/dev/sda3 1050624 167772126 166721503 79.5G Linux LVM其中
- pve-root 作为根目录
- pve-swap 作为虚拟内存
- pve-data 作为磁盘镜像存储
root@pve:~# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 80G 0 disk├─sda1 8:1 0 1007K 0 part├─sda2 8:2 0 512M 0 part└─sda3 8:3 0 79.5G 0 part ├─pve-swap 253:0 0 4G 0 lvm [SWAP] ├─pve-root 253:1 0 19.8G 0 lvm / ├─pve-data_tmeta 253:2 0 1G 0 lvm │ └─pve-data 253:4 0 43.9G 0 lvm └─pve-data_tdata 253:3 0 43.9G 0 lvm └─pve-data 253:4 0 43.9G 0 lvmlvm-data
而 LVM 之中,还建了一个 thinpool,名为 data。
什么叫 lvm-thin 可以参考 LVM存储虚拟化_Thin-provisioned.pdf
使用 lvm-thin 可以实现类似于 vSphere 的精简置备,还可以进行快照,很方便调整空间。
root@pve:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data pve twi-a-tz-- 43.87g 0.00 1.59 root pve -wi-ao---- 19.75g swap pve -wi-ao---- 4.00g但是 lvm-thin 有一个不友好的地方。虚拟机储存到 lvm-thin,是作为块设备。所以不能直接拷贝文件到其他地方去做备份或者迁移。
local
通过查看存储配置文件,观察到 local 是做为一个 dir 类型的目录,用来存放 iso,备份文件;local-lvm 是 lvmthin,用来存储虚拟机磁盘。
root@pve:~# cat /etc/pve/storage.cfgdir: local path /var/lib/vz content iso,vztmpl,backup
lvmthin: local-lvm thinpool data vgname pve content rootdir,images因为是 lvm,那么其实可以动态调整磁盘空间,例如根目录小了,可以缩小 lvm-thin 的空间,然后扩大到根目录。
删除 lvm-thin
由于 qcow2 的优秀,且属于文件类型,所以并不建议使用 lvm-thin 作为其存储底层。
这里给一教程,删除 local-lvm,并且将所有空间给到 pve-root。
警告请先确保自己的虚拟机没有位于 lvm-thin 上,若有,请先移动到 local。
编辑 local,勾选所有内容,并确定,然后就可以在虚拟机配置栏,选择磁盘,点击移动磁盘到其他磁盘上就行。

使用命令 lvremove /dev/pve/data 删除 lvm-thin
root@pve:~# lvremove /dev/pve/dataDo you really want to remove active logical volume pve/data? [y/n]: y Logical volume "data" successfully removed使用命令 lvextend -rl +100%FREE /dev/pve/root,将 lvm-thin 的空间转移到 pve-root
root@pve:~# lvextend -rl +100%FREE /dev/pve/root Rounding size to boundary between physical extents: 43.87 GiB. Size of logical volume pve/root changed from 19.75 GiB (5056 extents) to 63.62 GiB (16287 extents). Logical volume pve/root successfully resized.然后再使用df -h查看,根目录已经扩大了。
root@pve:~# df -hFilesystem Size Used Avail Use% Mounted onudev 1.9G 0 1.9G 0% /devtmpfs 393M 892K 392M 1% /run/dev/mapper/pve-root 63G 2.4G 58G 5% /tmpfs 2.0G 43M 1.9G 3% /dev/shmtmpfs 5.0M 0 5.0M 0% /run/lock/dev/fuse 128M 16K 128M 1% /etc/pvetmpfs 393M 0 393M 0% /run/user/0当然删除了 lvm-thin 之后,还要修改一下储存配置。
在 WebUI 上,删除 lvm-thin

这样做了,我们就可以进入目录 /var/lib/vz 查看所有的内容了。
root@pve:~# tree /var/lib/vz//var/lib/vz/├── dump --备份文件├── images --虚拟机磁盘├── private├── snippets --片段└── template ├── cache --容器模板 ├── iso --iso └── qemu