Proxmox VE基于Debian Linux操作系统,这也正是为什么Proxmox官方提供的ISO光盘镜像会包括完整的Debian Linux操作系统以及Proxmox VE软件包的原因。

Proxmox VE安装程序将引导您完成整个安装的过程,包括本地磁盘分区,基本系统配置(例如,时区、语言、网络)以及其他所必需的软件包安装等。整个安装过程大概几分钟而已。 对于新用户和普通用户来说,Proxmox官方推荐使用ISO镜像进行安装,安装过程一般不会超过10分钟。

或者,您也可以先安装Debian Linux操作系统,然后在Debian的基础之上安装Proxmox VE软件包。这种安装方法需要您对Proxmox VE有深入的了解,仅建议高级用户使用此选项。

1.系统要求

如果您要在生产环境中运行Proxmox VE,建议使用配置较高的服务器硬件。Proxmox VE支持集群部署模式,为了进一步降低主机故障的影响,您可以在具有高可用性虚拟机和容器的集群中运行Proxmox VE。

Proxmox VE支持本地存储(DAS)、SAN、NAS 和分布式存储(如 Ceph RBD)等。

1.1.最低硬件配置,适用于测试评估场景

    最低硬盘配置Proxmox VE服务器仅用于测试评估场景,不能用于生产场景。

  • CPU:64位(Intel EMT64 或 AMD64);
  • 支持Intel VT/AMD-V的CPU/主板,支持KVM完全虚拟化;
  • RAM:1GB RAM,外加客户空间所需的额外RAM;
  • 硬盘;
  • 一张网卡(NIC)。

1.2.推荐硬件配置,适用于企业生产场景

  • CPU:64位(Intel EMT64 或 AMD64),支持Intel VT/AMD-V,推荐使用多核CPU;
  • 内存:Debian Linux操作系统和Proxmox VE服务至少需要2GB,外加客户空间指定的内存。对于Ceph和ZFS,需要额外增加内存,如每TB的Ceph或ZFS存储大约需要1GB内存;
  • 高性能高冗余存储资源,最好使用SSD盘;
  • 系统安装盘:使用带电池保护写缓存的硬件RAID卡,或不带RAID卡的ZFS(ZIL设备建议选用SSD);
  • 虚拟机存储:对于本地存储,使用带有电池备份写入缓存的硬件RAID卡,或不带RAID卡的ZFS和Ceph。注意,ZFS和Ceph都不与硬件RAID控制器兼容;也可以使用共享存储或者分布式存储;
  • 网卡:至少2块千兆网卡,根据所用存储技术和集群配置,可以配置更多的网卡,可以配置万兆网卡;
  • 如需使用PCI直通,CPU必须支持VT-d/AMD-d技术。

2. Proxmox VE 7.0安装

安装程序ISO镜像包括以下内容:

  • 完整的操作系统(Debian Linux,64 位);
  • Proxmox VE安装程序使用ext4、xfs或ZFS文件系统对本地磁盘进行分区并安装操作系统;
  • Proxmox VE Linux内核,支持KVM和LXC;
  • 用于管理虚拟机、容器、主机系统、集群和所有必要的完整工具集资源;
  • 基于Web的管理界面。

默认情况下,Proxmox VE会格式化服务器的所有硬盘,原有硬盘数据都会被格式化掉,下面Proxmox VE 7.0安装开始,如图1所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local

图1. Proxmox VE 7.0安装界面

选择正确的安装方式(例如从USB启动)之后,安装界面将显示Proxmox VE 7.0菜单,并且可以选择以下选项之一:

  • Install Proxmox VE:正常模式安装;
  • Install Proxmox VE (Debug mode):调试模式安装;
  • Rescue Boot:救援模式启动;
  • Test Memory:测试内存。

选择“Install Proxmox VE”选项,开始正常模式安装之后,安装程序会提示您选择安装的目标硬盘,如图2所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_02

图2. Proxmox VE的目标硬盘和Optinos选项

目标硬盘:就是系统安装盘,当你的服务器上有多块硬盘时,你选择你要安装的系统盘即可。

Optinos:按钮用于设置目标硬盘所用的文件系统类型,默认采用ext4文件系统。

如果选择使用ext4或xfs文件系统,安装目标硬盘将被格式化为LVM卷组,并且可通过“Optinos”按钮进一步设置LVM的空间大小。

如果选择ZFS文件系统,ZFS提供多种软级别RAID,如果你的服务器没有硬件RAID卡,那么ZFS将会特别方便。通过Options按钮可以设置ZFS的RAID级别,并在磁盘列表里根据需要选择硬盘设备组成ZFS 文件系统。此外,ZFS还提供其他丰富的参数项。

暂不推荐使用Btrfs文件系统,因为Btrfs目前还不具备应用于生产系统的条件。与ext4和xfs文件系统相比,使用Btrfs文件系统能够提供更好的性能。使用Btrfs最主要的一个优点是支持写时复制和可写的快照,这对于虚拟机的部署和克隆非常有用。然而,Btrfs目前还不具备应用于生产系统的条件,但是对于测试场景而言Btrfs是一个非常好的选择。

2.1.EXT4/XFS文件系统安装方式

目前大部分的Linux文件系统都默认采用ext4文件系统,Proxmox VE 7.0默认也采用ext4文件系统。ext4文件系统是一种日志文件系统,是一个合适生产环境下Proxmox VE使用的文件系统。但是近年来,ext4的受欢迎程度不如XFS,像CentOS7已经开始转向xfs文件系统,这种文件系统被认为更合适大数据环境。

选择默认的文件系统“ext4”进行系统安装,如图3所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-root_03

图3. LVM空间参数设置

如果选择使用ext4或xfs文件系统,安装目标硬盘将被格式化为LVM卷组,并且可通过“Optinos”按钮进一步设置LVM的空间大小。

第一步:LVM参数配置

Proxmox VE 7.0会创建一个名为pve的LVM卷组(VG),以及三个逻辑卷(LVs),分别为root,data,swap。通过“Options”按钮选择“ext4”文件系统之后,“hdsize”选框会自动识别为目标硬盘的大小。

如果你要选择由Proxmox VE自动对目标硬盘进行分区与格式化,那么其余参数留空,直接点击“Next”进行安装即可。注意,这里我采用默认安装,目标硬盘是40GB。

你也可以选择LVM的高级配置,前提是要做好安装前的磁盘空间规划,这样可以避免以后在使用中因磁盘空间分配不当而导致需要重新分配磁盘空间所带来的麻烦。这些逻辑卷的容量大小可以通过如下参数设置:

hdsize:定义目标硬盘的容量大小,通过设置这个参数,你可以配置硬盘预留部分空间给他用(例如在同一块硬盘上配置其他物理卷PV和卷组VG,以创建LVM 类型存储服务)。建议不要预留空间,不要在系统盘上再建立其他卷组,要完整使用目标硬盘空间。

swapsize:定义swap逻辑卷的容量大小,默认和服务器物理内存容量大小一致,最小值为4GB,最大值为8GB,最大值不能大过hdsize/8。注意,如“swapsize”设置为0,将不会创建swap逻辑卷。

maxroot:定义root逻辑卷的容量大小,最大值限制为hdsize/4。root逻辑卷主要用于保存ISO操作系统镜像。

minfree:定义pve卷组容量中除了swap、root以及data逻辑卷容量之外剩余的可用容量大小,也就是说minfree大小可以按照下面方式来计算:

minfree=pve-swapsize-rootsize-datasize


注意,我这里的目标硬盘/dev/sda的容量是40G,目标硬盘/dev/sda又进一步分区,如图4所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-data_04

图4. 目标硬盘分区

因此pve卷组的容量等于:

pve=/dev/sda3=/dev/sda -/dev/sda1-/dev/sda2


实际上,我们没有必要计算这么精确,大家知道minfree代表什么就可以了。官方推荐,如果pve卷组容量大小超过128G时,minfree使用默认值16GB,否则设置为hdsize/8。

LVM需要pve卷组中的minfree可用空间来创建快照(如果使用lvmthin快照则不需要)。根据官方论坛技术贴, minfree对lvm快照很有帮助,如图5所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_05

图5. lvm利用minfree创建快照

maxvz:定义data逻辑卷的容量大小,data逻辑卷主要用于保存虚拟机文件,虚拟机文件容量大小不能超过maxvz。

maxvz实际大小可以按照下面方式来计算:

datasize = hdsize - rootsize - swapsize - minfree


注意1:这里使用了hdsize容量而不是pve容量,主要是因为BIOS boot分区和EFI系统分区所占容量太小,hasize容量与pve容量相差不大,为方便计算,直接使用hdsize即可。

注意2:使用LVM thin模式时,只有datasize大于4GB 时才会创建data 卷。

注意3:如果设置为 0,则不会创建数据卷并相应地调整存储配置。

第二步:磁盘分区参数查看

Proxmox VE 7.0安装完成之后,我们来看一下Proxmox VE服务器主机的磁盘分区,如图6、图7和图8所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_06

图6. 默认磁盘分区-Web UI

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-root_07

图7. 默认磁盘分区-CLI

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_08

图8. 默认磁盘分区-逻辑分区

从图7和图8中,我们可以看到,除了/dev/sda这样实际存储的硬盘设备及分区信息之外,还存在一些类似/dev/mapper的逻辑设备,Linux的逻辑设备有一个映射机制,如图9所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local_09

图9. Linux逻辑设备的映射机制

根据图9,在Proxmox VE系统里,/dev/pve/root和/dev/mapper/pve-root以及/dev/dm-1都是一个东西,都是可当做一个分区来对待,他们是相等的。

综上所述,Proxmox VE 7.0在安装时将目标硬盘划分出BISO boot、EFI分区后,在第三个分区上创建卷组(VG)。也就是说,Proxmox VE 7.0安装完成之后,Proxmox VE 7.0对目标硬盘/dev/sda进行了分区,分出去了BIOS boot和EFI系统这两个分区的空间挂载在/boot目录下。系统还利用Device mapper机制建立了一个名称为“pve”的卷组(VG),最后在pve卷组中再创建逻辑卷(LV)。而剩下的/dev/sda3分区空间则被系统建立为一个物理卷(PV),并将/dev/sda3物理卷加入到pve卷组中,如图10、图11和图12所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-data_10

图10. pve卷组信息

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-data_11

图11. sda3物理卷信息

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local_12

图12. 逻辑卷信息

第三步:默认存储位置

Proxmox VE 7.0安装完成之后,在WEB UI界面中发现,默认生成两个存储点,分别是local和local-lvm。其中,local用于存储VZDump备份文件、ISO镜像以及容器模板。而local-lvm则用于保存虚拟机、容器等。存放路径如下所示:

ISO镜像存放的路径:/var/lib/vz/template/iso

备份路径: /var/lib/vz/dump/

WEB UI界面中的local和local-lvm存储点的信息如图13、图14和图15所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local-lvm_13

图13. local和local-thin的存储内容

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_14

图14. local的存储内容和空间

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_15

图15. local-thin的存储内容和空间

你只要直接点击“local——ISO镜像/备份/CT模板——上传”,就可以上传ISO镜像/备份/CT模板等内容,如图16所示。上传完成之后,如图17所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-root_16

图16. 上传ISO镜像开始

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_17

图17. 上传ISO镜像完成

Proxmox VE 7.0安装完成之后,默认情况下会创建pve卷组,然后在pve卷组的基础上在创建root逻辑卷作为系统的根分区,大小为系统盘的25%,还用来保存ISO镜像。创建data逻辑卷作为lvm-thin分区,作为虚拟机的磁盘,如图18和图19所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local-lvm_18

图18. pve卷组

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_19

图19. data逻辑卷

第四步:PVE默认存储总结

local存储点与root逻辑卷、/dev/mapper/pve-root是一个东西,通过/var/lib/vz就可以把ISO镜像存放到root逻辑卷中,路径对应关系如图20所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_pve-root_20

图20. local存储路径

local-lvm存储点与data逻辑卷、/dev/mapper/pve-root是一个东西,系统在创建虚拟机的时候,从data逻辑卷中分配磁盘空间给虚拟机的硬盘,虚拟机的硬盘相当于data逻辑卷上的块存储,所以虚拟机文件也属于逻辑卷属性,如图21所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_Proxmox VE 7.0_21

图21. local-lvm存储路径

是不是感觉这些映射关系很乱?其实可以理解,因为无论是Proxmox VE的WEB UI的界面还是CLI界面,对这部分内容的显示都有些不太完整,搞得很多人在理解方面有点蒙圈,得靠想象。下面,我把这些映射关系整理出来,做成一个表格,希望对大家学习Proxmox VE有所帮助,如图22所示。

Proxmox VE 7.0的高级安装及系统盘分区-EXT4(上)_local_22

图22. lvm与存储路径关系

 

参考资料:Proxmox VE官网的《pve-admin-guide-7》用户手册;