大多数人直接在本地磁盘上安装 Proxmox VE。 Proxmox VE 安装 CD 提供了多种本地磁盘管理选项,以及当前的默认设置使用 LVM。 安装程序让您选择一个用于此类设置的单个磁盘,并将该磁盘用作物理卷的 Volume Group(VG) PVE 。 以下输出来自使用 8GB 小磁盘测试安装:
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 pve lvm2 a-- 7.87g 876.00m
# vgs
VG #PV #LV #SN Attr VSize VFree
pve 1 3 0 wz--n- 7.87g 876.00m
安装程序会在上述 VG 内分配3个 Logical Volumes(LV):
# lvs
LV VG Attr LSize Pool Origin Data% Meta%
data pve twi-a-tz-- 4.38g 0.00 0.63
root pve -wi-ao---- 1.75g
swap pve -wi-ao---- 896.00m
- root
根分区格式为 ext4 ,包含操作系统。
- swap
交换分区。
- data
此卷使用 LVM-thin,用于存储 VM 镜像。 LVM-thin 更适合这项任务,因为它提供了对快照和克隆的有效支持。
对于 4.1+ 的 Proxmox VE 版本,安装程序会创建一个标准的逻辑名为“data”的卷,挂载在 /var/lib/vz 。
从 4.2 版本开始,逻辑卷“data”是一个 LVM-thin 池, 用于存储基于块的Guest镜像,而 /var/lib/vz 只是一个根文件系统上的目录。
硬件说明
我们强烈建议使用硬件 RAID 控制器(带 BBU) 这样的设置。 这提高了性能,提供了冗余,并使 磁盘更换更容易(可热插拔)。
LVM 本身不需要任何特殊的硬件和内存要求非常低。
引导加载程序
我们默认安装两个引导加载程序。 第一个分区包含标准的 GRUB 引导加载程序。 所述第二分区是 EFI System Partition(ESP),这使得它能够引导 EFI 系统。
创建一个 Volume Group
假设我们有一个空磁盘 /dev/sdb ,我们想要创建一个名为“vmdata”的卷组。
请注意,以下命令将销毁所有 /dev/sdb 上的现有数据。
- 创建一个分区
# sgdisk -N 1 /dev/sdb
- 创建一个物理卷,不需要确认,元数据大小为250k
# pvcreate --metadatasize 250k -y -ff /dev/sdb1
- 在/dev/sdb1上创建一个名称为“vmdata”的卷组
# vgcreate vmdata /dev/sdb1
为 /var/lib/vz 创建一个额外的 LV
这可以通过创建一个新的 Thin LV 轻松完成。
# lvcreate -n <Name> -V <Size[M,G,T]> <VG>/<LVThin_pool>
一个例子:
# lvcreate -n vz -V 10G pve/data
现在必须在 LV 上创建一个文件系统。
# mkfs.ext4 /dev/pve/vz
最后必须挂载它。
确保 /var/lib/vz 为空。 默认安装情况下不为空。
要使其始终可访问,请在 /etc/fstab 中添加以下行。
# echo ‘/dev/pve/vz /var/lib/vz ext4 defaults 0 2‘ >> /etc/fstab
调整精简池的大小
调整 LV 和元数据池的大小可以通过以下命令方式实现。
# lvresize --size +<size[\M,G,T]> --poolmetadatasize +<size[\M,G]> <VG>/<LVThin_pool>
扩容数据池时,元数据池也必须扩容。
创建一个 LVM 精简池
必须在卷组之上创建精简池。 如何创建卷组请参见 LVM 部分。
# lvcreate -L 80G -T -n vmstore vmdata