Debian 7 到 12(Wheezy To Bookworm) 下安装Proxmox VE

其实这编文章应该早写的,但一直就这样放着,今天因为需要在新的服务器上安装Proxmox VE,所以就把以前安装过程的记忆,和现在的实践总结出来,也给大家有个参考,少走些弯路。最早安装Proxmox VE是在IKOULA的12欧特价机上安装的,现在就拿EUSerV家来试装。

一、安装前的准备工作
1、根据原来的安装的经验,需要提醒大家的是在安装前最好先修改SSH的端口,因为这些操作在安装完成后修改,会导致登录Proxmox时验证错误而无法登陆的问题,比较折腾。
2、将当前系统更新到最新,可通过:

更新后要重新启动一次。

3、检查“/etc/hosts”
在这官方的示例中,192.168.6.177是服务器的IP地址,你要根据你的实际情况改为公网地址或内部网络地址,比如你的公网地址是192.168.6.177,你要确保hosts文件中要有实际的地址,一般服务器安装好后都有相应的IP和主机名,当然如果没有就要按实际添加,因为有些机器在机房那装好后可能只有127.0.0.1这段。

root@proxmox-6-177:~# cat /etc/hosts

127.0.0.1 localhost.localdomain localhost
192.168.6.177 proxmox-6-177.proxmox.com proxmox-6-177 pvelocalhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

二、开始安装

1、添加Proxmox VE的源
(1)如果是Debian 7,需要添加一下源。官方有pve、pve-no-subscription和pvetest三种源,pve是正式稳定版,但版本教老;pvetest是测试源,问题多些;pve-no-subscription比测试源稳定,比pve源相对来说要新些。官方不建议pve-no-subscription用于生产平台,但个人用感觉不错,在这里我使用了pve-no-subscription的源,你可以根据你是需要做修改。

然后源配置文件中添加以下源:

或者更直接点输入以下命令即可:

(2)如果你的系统是Debian 8,需要添加Jessie的源。

(3)如果你的系统是Debian 9,需要添加Stretch的源。

(4)如果你的系统是Debian 10,需要添加Buster的源。

(5)如果你的系统是Debian 11,需要添加Bullseye的源。

(6)如果你的系统是Debian 12,需要添加Bookworm的源。

2、添加Proxmox VE源的KEY
Debian 7、8:

Debian 9(该系统下最低要求安装 Proxmox 5):

Debian 10(该系统下最低要求安装 Proxmox 6):

Debian 11(该系统下最低要求安装 Proxmox 7):

Debian 12(该系统下最低要求安装 Proxmox 8):

3、更新源和系统

4、安装Proxmox VE
(1)Debian 9、10、11和12 安装方法:
如果是Debian 12,首先执行这步,其它版本需略过这步:

完成后接着执行以下命令:

推荐:继续执行以下命令以删除os-prober包,os-prober软件包扫描主机的所有分区,包括客户端虚拟机创建双引导GRUB条目的分区。如果没有安装Proxmox VE作为另一个操作系统的双启动,您可以安全地删除os-prober软件包。

可选:删除Debian 9原内核

删除Debian 10原内核

删除Debian 11原内核

删除Debian 12原内核

运行grub2配置检查:

(2)Debian 8安装方法:

推荐:继续执行以下命令以删除os-prober包,os-prober软件包扫描主机的所有分区,包括客户端虚拟机创建双引导GRUB条目的分区。如果没有安装Proxmox VE作为另一个操作系统的双启动,您可以安全地删除os-prober软件包。

可选:删除Debian 8原内核

运行grub2配置检查:

(3)Debian 7安装方法:
首先安装Proxmox VE的内核:

(可选)然后安装Proxmox VE的内核头文件,当然这步是可选的,建议也一起安装:

到了这步,建议检查并编辑下/boot/grub/grub.cfg是否配置正确。经过我的几次安装测试,安装完后默认不会启动Proxmox VE的内核,而是Debian默认的内核。可以编辑下/boot/grub/grub.cfg文件,这需要你对grub.cfg文件的配置有所了解,弄错了会导致系统无法正常启动,特别是好多便宜的独服都不支持vKVM,如果能支持拯救模式的还可以进入拯救模式编辑grub.cfg文件,不然也就只有重新安装系统的份了。
确保能正确引导PVE的内核后重新启动一次,然后通过以下命令查看当前内核是否为“Linux 2.6.32-48-pve”

可选:删除Debian 7原内核

运行grub2配置检查:

确保当前加载了PVE内核后,需要继续安装Proxmox VE的相关软件包,如果默认已经安装了SSH,可以不用安装SSH。

根据不同Debian版本的方法完成以上步骤后就可以登陆WEB管理页面(https://youripaddress:8006)进行后续的操作了。由于安装相关软件包时可能会更新到Proxmox VE的最新内核,grub.cfg文件又再次被改写,继续编辑grub.cfg文件,让其开机默认引导最新的PVE内核,再重新启动一次系统即可。

三、网络配置

1、桥接方式
首先必须安装以下软件包,不然桥接会不成功,也会导致网络不通。

接着重启接口,让其生效:

2、单IP服务器通过NAT共享网络
单IP下,子机通过NAT共享主机网络上网的配置方法。配置好后KVM设置为桥接模式,IP、子网和网关分别设置为:192.168.0.X、255.255.255.0、192.168.0.1,然后配置好DNS即可访问网络。

输入命令编辑接口配置文件。

根据自己的网络配置情况,按以下模板编辑修改:

接着重启接口,让其生效:

3、多IP服务器通过NAT共享网络
以下配置实现3个外网IP 11.11.11.11、22.22.22.22、33.33.33.33分别通过不同的内网网段 192.168.X.1 进行共享网络。

4、端口转向
NAT模式下需要外部机器访问内网机器,可以设置端口转向,以下两种代码可以根据实际情况选择一种在主机中输入:

该代码会将外部10222端口的TCP访问转向内网子机IP为192.168.0.2的22端口。

通过以上方法虽然实现了端口转向,但重启后会发现又不能访问了,这是因为 Debian/Ubuntu 上 iptables 默认是不会保存规则的,需要按如下步骤让网卡关闭时保存iptables规则,启动时加载iptables规则:

网卡启动时加载iptables规则,目的上在网卡启动(开机)时加载已保存到文件中的规则。

添加如下内容:

给该文件执行权限:

网卡关闭时保存iptables规则,目的是让网卡关闭(关机)时将第三步时输入的规则保存到相应文件中。

添加如下内容:

给该文件执行权限:

如果不希望网卡关闭(正常关机)时自动保存iptables规则,可以不用配置以上的保存命令,可以在配置完iptables命令后手动执行以下命令即可手动保存:

四、其他配置和优化

1、增加虚拟声卡
为了获得音频/声音,您需要将虚拟声卡添加到虚拟机配置中。只需将以下行添加到您的VM配置(/etc/pve/qemu-server/XXX.conf,XXX是VM ID):

这将会添加一个AC97声卡,这在WIN7里可能需要安装相应驱动,但你可以通过添加以下代码实现增加一个HDA声卡,在WIN7中是自带驱动的,而且功能更加完善:)

在即将发布的版本中,添加音频设备可以通过GUI完成。

2、VNC客户端访问
默认情况下,Proxmox通过控制面板网页端的noVNC或SPICE提供远程访问权限,建议尽可能使用此访问权限。如果出于某些原因需要进行独立于浏览器的访问,则可以使用普通的VNC客户端,比如通过RealVNC,TightVNC,Remmina等常用VNC客户端进行远程访问。

(1)通过Monitor配置VNC访问
在Web控制面板界面中选择需要设置虚拟机,然后在“监视器(Monitor)”面板中根据自己的需要,按以下命令格式输入相应命令用于开启普通的VNC和有密码保护的VNC。

对于普通的一种,请在监视器中键入以下内容:

100表示​​端口,它将添加到5900的VNC基本端口,因此在这种情况下,VNC服务器侦听端口6000上的所有地址。

对于密码保护,请在监视器中输入以下内容:

注意:
第一行命令中IP地址后的第一个“password”是一个参数值,就是单词“password”本身,这只是一个布尔型参数,告诉QEMU服务器需要密码,而不是您需要设置的密码。
第二行命令中的“foobar1”才是您需要设置的密码,这点需要注意。
第三行命令是设置密码有效期,值可以设置 now、never、+秒数或UNIX的到期时间,例如 now 表示立即,第二次登录即无效;never 表示密码永久有效;+60 表示密码在60秒后过期;1335196800 表示密码在此时间戳“2012年4月23日星期一12:00:00 EDT”后过期。
现在您可以通过IP地址和端口(在上面的示例中为6000)进行连接
该配置不是永久性的,只要虚拟机已停止并再次启动后,必须重复执行上述操作才能启用通过外部客户端的VNC访问。

(2)通过配置文件配置VNC访问
通过在虚拟机配置文件 /etc/pve/local/qemu-server/.conf 中添加一行参数,该行指定VNC显示编号,如下所示(示例中的“77”):

显示编号可以自由选择,但不能重复。VNC服务在端口5900 + 显示编号为该虚拟机实际的监听端口号。请注意,通过noVNC进行的连接开始使用显示号0进行连续,因此建议使用更大的数字以避免冲突。
按指定从VNC客户端连接到Proxmox主机ip地址和端口(上例中为5977)
注意:使用此方法无法设置VNC密码。

3、镜像文件压缩和转换
重要警告:始终准备好异地备份,你永远不会知道下一步会导致什么问题!

QCOW2格式镜像的压缩:
先关闭需要进行操作的虚拟机,进入主机命令行模式,再通过 qemu-img 的 convert 来操作。

选项#1:在不压缩的情况下收缩磁盘(速度较快,但对磁盘压缩效果不佳):

选项#2:通过压缩缩小磁盘(收缩后磁盘尺寸越小,压缩时间越长,对速度越慢的系统性能影响越大):

RAW格式镜像的压缩:

将RAW镜像转换成QCOW2:

缩小分配的磁盘空间:
首先通过以下命令查看该虚拟镜像所分配的空间,“virtual size”既是所分配的空间大小。

接着通过以下命令调整为新的空间大小,比如原来分配为500G,现在缩小为200G。注意:该命令可能会导致数据丢失!

4、备份恢复
备份在web页面操作,备份目录一般在/var/lib/vz/dump,如果在备份时指定了存储节点,则会存放在存储节点的dump目录下
备份过程需要进行停机操作。
恢复时,虚拟机的VM ID有可能和当前已经拥有的虚拟机ID冲突,所以在恢复时,你可以执行VM ID。另外,当前Proxmox和源Proxmox的存储路径不一致,可以通过-storage来指定当前的存储ID。具体命令如下:

5、常见问题及解决方法
(1)由于快照回滚、备份、迁移、休眠等等操作时,由于各种原因导致 LXC容器 或者 虚拟机 被锁定时,可以根据情况使用以下命令进行解锁即可。
LXC容器被锁定时:

虚拟机被锁定时:

参考文章:
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Wheezy
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Jessie
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Stretch
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Buster
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_11_Bullseye
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm
http://wiki.hetzner.de/index.php/Proxmox_VE/en
https://pve.proxmox.com/wiki/SPICE#Using_Audio

此条目发表在Linux, VPS(虚拟专用服务器), VPS教程分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复