配置和管理Proxmox VE

上一章节我们已经对所用的测试环境节点安装了Proxmox系统,看似是最简单的部份,却是万丈高楼的“基石”,规划一定要做好,有相关经验的同学,除了物理计算节点,网络设备等,另一部份更为重要的“基石”也同时做好了规划-磁盘,这部分内容将在第11章 PVE超融合集群CEPH存储优化和普遍布署应用详细讲解,这一节我们将对节点部分功能进行详细的配置和管理,所有配置均是作者实施于正式环境下的。配置思路如下(主要功能):

●系统盘

●机器名

●网络配置

●证书

●时间配置

●使用国内源从6.0升到最新版本

●安装Ceph

●订阅

●防火墙

4.1.系统盘

建议采用两块硬盘组成raid1来安装系统盘,但是一般服务器来说只会装一块raid卡,而有的raid卡又不支持直通,因为ceph存储的硬盘最好是要直通,所以只安装一块SAS卡,因而系统盘只能是单盘。具体的情况请同学们根据实际情况安排。

系统盘可以使用SSD或是SAS以及sata盘,当然条件允许情况下还是采用可做raid和支持直通的raid卡,即使没有SAS卡的情况下,除系统盘外,其它盘接口均做成raid0且缓存为0。(带电池保护写缓存的)

大部分同学或是初学者都直接将 Proxmox VE 安装到服务器本地硬盘上。Proxmox VE 安装光盘为服务器本地硬盘配置提供了几个选项,目前默认的选项为 LVM。默认情况下,安装程序会引导你选择一块硬盘用于安装 Proxmox VE 系统,并将该硬盘格式化为物理卷(PV)的形式以创建卷 组(VG)pve。看下面的LVM 配置输出:

配置和管理ProxmoxVE

系统安装程序会在VG上创建三个逻辑卷:

配置和管理ProxmoxVE

swap: 这个相信大家都不会陌生,用了交换分区。

root:格式化为ext4文件系统,用于安装Pvexmox VE系统。

data:使用 LVM-thin 格式化,用于保存虚拟机镜像。LVM-thin 在对于虚拟机快照和克隆的效率较高,所以非常适合用于保存虚拟机镜像。 到Proxmox VE 4.1为止,安装程序会创建一个标准的名为“data”的逻辑卷,并挂载在/var/lib/vz 路径下。 从 Proxmox VE 4.2 开始,安装程序会以 LVM-thin 形式创建“data”逻辑卷,并用于存储基于块存储的虚拟机镜像,而/var/lib/vz 是根文件系统下的一个路径。

4.2.机器名

每个节点的机器建议使用便于识别和区分的名称,本次示例中使用node211、node212、node213

配置和管理ProxmoxVE

配置和管理ProxmoxVE

如果是在安装后或是环境配置好之后修改机器名会有一些复杂,但linux基础好的同学就没什么问题了,因为这需要在命令行下进行

hostnamectl set-hostname 新机器名 #修改

nano /etc/hosts #这里也要修改成上一步新改的机器名,因为PVE要求在本机解析自己的主机名。

配置和管理ProxmoxVE

systemctl restart pvedaemon pveproxy && systemctl status pvedaemon pveproxy #没有错误输出即修改完成。

还有一项紧要性不高的设置,如修改IP地址后,显示器上的显示访问地址修改 /etc/issue 配置文件

nano /etc/issue,修改后保存即可。

配置和管理ProxmoxVE

4.3.网络配置

系统安装时选择的网卡将会设置为桥接网络,如果是出口网络,虚拟机也可以使用该模式连接网络,详细的网络使用介绍留在第7章做详细说明,此处仅做单机网络设置使用。

配置和管理ProxmoxVE

在应用场景中,往往一台服务器中可能会放置十台或几十台的虚拟服务器,因此网络出口仅为千兆的话是不足以应对虚拟机网络宽带要求,这里先介绍Proxmox VE支持创建的网络连接。

Proxmox VE基于Debian Linux操作系统,Debian Linux操作系统支持原生的虚拟网络有Linux Bridge、Linux Bond及Linux VLAN三种类型。Proxmox VE同时集成了Open vSwitch(OVS)开放虚拟交换机组件,所以Proxmox VE的原生虚拟网络除了Linux Bridge、Linux Bond及Linux VLAN这三种类型之外,还包括Open vSwitch类型。

命令行下安装 openvswitch:

root@node211:~# apt install openvswitch-switch -y

配置和管理ProxmoxVE

可以在web管理页上进行操作也可以在命令行下操作/etc/network/interfaces来配置。不管哪一种配置都是保存在/etc/network/interfaces,这方面该系统保留了为用户使用文本的方式进行设置,还是比较好的,对于喜欢和操作命令行相当熟悉的同学是首选。对于编好的端口,可以通过 Debian 命令 ifup 和 ifdown 来重启端口使配置生效。Proxmox VE 并不直接编辑配置文件/etc/network/interfaces 。实际上,网络配置变更会首先保存在临时文件/etc/network/interfaces.new 里,然后在重启服务器时再用该配置文件覆盖 /etc/network/interfaces,后期也可以安装ifupdown2进行“应用配置”而不需要重启后生效。

网络这一部分最重要的是做好前期的规划,业务网络、管理网络、集群网络、存储网络,针对不同的应用场景,需要确认是不是要上万兆设备,对于纯SSD存储来说上万兆设备是必须的,这样的使用体验是千兆网络没有的,而对于企业生产环境来说,最好是万兆设备,存储池也可能是多种多层,所以万兆是最为基本的要求;对于业务网络就需要视应用带宽需求了,但是集群网络一定是独立和低延迟的,不能和存储网络混用,因为存储网络的带宽使用率是最高的,会影响集群通讯延迟导致故障。

4.4.证书

每个 Proxmox VE 集群都会创建内部(自签名)认证证书(CA),并以此为每个节点生成一 个签名证书。将这些证书用于集群内 pveproxy 服务通信加密,以及 SPICE 控制台的 Shell/Console 通信加密。

在 pveproxy 中可用的 CA 认证方式如下: 1.默认情况下,使用指定节点认证文件/etc/pve/nodes/NODENAME/pve-ssl.pem。该证书由 集群 CA 签发,所以浏览器和操作系统默认不信任该证书。 2.使用外部证书(例如,由商业 CA 签发的证书)。 3.使用 ACME(例如,freessl,Let’s Encrypt)获得可信证书。

配置和管理ProxmoxVE

这里示例推荐使用freessl申请证书,对于如何申请免费证书就不详细讲解,因为比较简单。

将得到的证书私钥和证书链复制粘贴上来即可。

配置和管理ProxmoxVE

导入成功之后,proxmox VE 会自动刷新web管理页,并使用自定义的证书,接着就可以用证书域名访问web管理页了。

4.5.时间配置

集群环境中,所有节点时间一致重要性是毋庸置疑的,我们需要保证所有的节点均同步于一个时间源或多个时间源,国内,我们可以选择阿里的时间服务器,企业内部也可以做一个时间服务器。

在系统安装时,已经将系统的时间选择配置为中国地区了,不过我们要自定义同步时间源,要安装同步软件。

root@node211:~# apt-get install -y ntp

root@node211:~#nano /etc/ntp.conf #将这里的指向内部时间源或是外部时间源就要以了,可以设置多个,每台节点均相同操作,其它不要的可以注释掉。这里指向的是内部的一台时间服务器,因为集群配置好之后,节点就和外部网络断开了,不再接入外部网络,与外网隔离。

配置和管理ProxmoxVE

保存退出,重启时间同步软件明将其服务加入到随机启动。

root@node211:~# systemctl restart ntp && systemctl enable ntp

查看同步是否正常,出现下图既为正常时间同步,确保所有节点均显示。

配置和管理ProxmoxVE

4.6.使用国内源从6.0升到最新版本。(主要学习配置替换更新源)

在命令行下进行修改源后进行升级。所有节点操作。

#删除企业源

root@node211:~#rm -rf /etc/apt/sources.list.d/pve-enterprise.list

#*载下**密钥

root@node211:~#wget http://mirrors.ustc.edu.cn/proxmox/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

#添加国内源

root@node211:~#echo deb http://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription>/etc/apt/sources.list.d/pve-install-repo.list

#配置国内debian源

root@node211:~#echo “deb http://mirrors.ustc.edu.cn/debian buster main contrib

deb http://mirrors.ustc.edu.cn/debian buster-updates main contrib

deb http://mirrors.ustc.edu.cn/debian-security buster/updates main contrib” > /etc/apt/sources.list

#pve_ceph设置国内源

root@node211:~#echo deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-nautilus buster main > /etc/apt/sources.list.d/ceph.list

#接着执行升级命令

root@node211:~#apt update && apt dist-upgrade -y

root@node211:~# pveversion

pve-manager/6.4-13/9f411e79 (running kernel: 5.4.140-1-pve)

重启后就是6.X的最新版本了。下来将升级到7.X的最新版本

#运行升级前检查

root@node211:~# pve6to7

省过一些显示

= SUMMARY =

TOTAL: 32

PASSED: 26

SKIPPED: 1

WARNINGS: 5

FAILURES: 0

ATTENTION: Please check the output for detailed information!

根据显示的警告是可以忽略的,所以可以升级,同学们的为新环境,警告不会像这里这么多,所以不会影响升级,具体的看警告信息就可以处理。检查完成后修改源。

#将Debian的源升级一下

root@node211:~#sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list

#软件源修改

root@node211:~#sed -i -e 's/buster/bullseye/g' /etc/apt/sources.list.d/pve-install-repo.list

#ceph源修改

root@node211:~#echo deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus bullseye main > /etc/apt/sources.list.d/ceph.list

#执行更新

root@node211:~#apt update && apt dist-upgrade -y

升级7最新的过程会有一些交互,按回车键继续或按ctrl+c取消。

配置和管理ProxmoxVE

这里输入y然后回车就可以了,*载下**需要等待一些时间,正常几分钟内就完成。

配置和管理ProxmoxVE

这里需要你将正在升级的节点上将虚拟机迁移,因为升级系统和一些库的过程中会重启服务,需要一项项的提醒你,这里选择yes,不要提醒。

配置和管理ProxmoxVE

这里选择第一个

配置和管理ProxmoxVE

这里还有一个交互,输入y即可,等待完成。

配置和管理ProxmoxVE

升级完成pve版本已是最新,但内核需要重启后生效。下图升级后未重启。

配置和管理ProxmoxVE

下图为升级后已重启。

配置和管理ProxmoxVE

至此PVE系统已升级到当前最新版本,升级前一定要做好源的修改,避免使用了国外源,这个过程就相当漫长了。如果使用是最新的版本安装,那么更换这个源也是没有问题,对于安装软件时也可以使用到。

4.7.安装Ceph

在系统更新到最新版本之后,默认安装的ceph将是O版,这里简单演示是如何安装的,其实在web管理页下,安装Ceph是非常简单的,只需要选好需要安装的版本和定义好集群网络和公共网络即可。

选择相应的Ceph版本,点击“开始XX安装”。

配置和管理ProxmoxVE

可以看到*载下**及安装过程,就是按照上一小节替换的源进行*载下**的,如果没有换源的时候将会从默契认的官网*载下**,如果没有“科学”上网的同学,是没有办法更新和安装Cephr的,得换成国内源。

配置和管理ProxmoxVE

安装完毕到这一步的时候,同学们按照事先规划好的网络配置,选择对应的功能网络。

配置和管理ProxmoxVE

下一步后,正常来说是没有任何问题了,安装完成。

配置和管理ProxmoxVE

4.8.订阅

Proxmox VE是一款越来越优秀的、完全可用于企业虚拟化的完整开源平台,一般来说我们不必为开源软件付费用,但这么出色且贴近应用的软件需要大量的资源,开发人员等等一切都是需要资金去支撑,如果是商用,建同学们购买订阅;如果仅是兴趣、学习、家用等就可能不太喜欢或不愿意订阅。

这里有一方法可以去除订阅提醒:

sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

6.3-7.0都可以执行,低于版本就不要执行需要用其它方法。

4.9.防火墙

Proxmox VE 防火墙为环境设施提供了一种简单易用的防护手段。既可以为集群内的所有主机设置防火墙策略,也可以为单个虚拟机和容器定义策略。防火墙宏,安全组,IP 集和别名等特性将大大简化策略配置管理。 尽管所有的防火墙策略都保存在集群文件系统,但基于 iptables 的防火墙服务在每个节点都 是独立运行的,从而为虚拟机提供了完全隔离的防护。防火墙的所有配置都保存在集群的配置文件中,能够在所有节点间同步复制。关于防火墙部分因编幅太多,预计以后会专门开一章来讲解;默认情况下防火墙状态是关闭的。官网有一些概要可以参考https://pve.proxmox.com/wiki/Firewall。

本章节内容暂时到这里结束,主要讲解了几个重要部分,对于Proxmox的配置和管理还有很多的内容需要大家在实践当中学习和掌握。这章节提到最多的就是规划,不管是单机还是将要做成集群的节点,各硬件以及网络的规划是非常必要,这会让往后面布署集群环境少走很多弯路。下一章我们将讲解集群中另一个重要的“基石”第5章 存储介绍。