Proxmox虚拟环境或简短的Proxmox VE是基于Debian Linux的RHEL内核的开源服务器虚拟化软件,经过修改,允许您为私有服务器和容器创建和部署新的虚拟机。 Proxmox提供两种类型的虚拟化:具有LXC的容器和具有KVM的完全虚拟化。 Proxmox为您提供了一种从Web浏览器安装和配置虚拟机的简单方法(需要Java插件Iced茶),它为第三方应用程序提供了很好的命令行工具和REST API。 如果要安装在具有物理访问权限的服务器上,请从官方网站下载Proxmox iso。 在本教程中,我将向您展示在运行Debian 8最小安装的服务器上安装Proxmox,例如在数据中心中。
Proxmox特点:
- 支持使用LVM组,目录和ZFS进行本地存储。
- 支持使用iSCSI,光纤通道,NFS,GlusterFS,CEPH和DRBD进行网络存储。
- 集群支持构建高可用性集群。
- 实时迁移,虚拟机可以从一个主机移动到另一个主机,而不会停机。
- Proxmox提供可以通过GUI下载的预打包服务器软件设备。
在本教程中,我将引导您通过Debian Jessie上的Proxmox安装。
先决条件:
- Debian Jessie 64位。
- 根权限
第1步 - 配置FQDN
我们首先要做的第一步是配置服务器FQDN(完全限定域名)。
使用以下命令检查服务器主机名:
hostname
结果:
aumu
所以我的服务器主机名是“aumu”。
使用vim编辑“/ etc / hosts”文件,然后添加服务器“IP + hostname.domain-name.com + hostname”。
vim /etc/hosts
我将在下面添加主机的配置:
192.168.1.111 aumu.myproxmox.co aumu
将主机名和FQDN替换为您要用于服务器的主机名和FQDN,然后保存配置并退出。
重新启动服务器并检查主机名和FQDN:
reboot
再次登录并检查主机名和FQDN:
hostname
结果应该是:
aumu
hostname -f
结果应该是:
aumu.myproxmox.co
第2步 - 添加Proxmox存储库
现在将Proxmox存储库添加到“sources.list.d”目录,并添加Proxmox密钥来验证软件包:
echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
现在更新Debian存储库并在系统上运行一次升级,然后重启机器:
apt-get update && apt-get dist-upgrade
reboot
第3步 - 安装Proxmox
使用apt命令安装Proxmox VE和其他一些所需的软件包:
apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv
注意:
Postfix配置在安装过程中:
- 邮件配置类型:内部网站。
- 系统邮件名称:键入域名。
重新启动服务器:
reboot
第4步 - 连接到Proxmox Web界面并配置网络
服务器重新启动后,我们现在可以从浏览器访问Debian Proxmox。 在URL栏中输入https和端口8006的服务器IP。 在我的情况下
使用用户名root和密码登录Proxmox管理员。 进入Web界面后,我们必须配置Proxmox的网络。
我有一个网络接口“eth0”用于IP地址为“192.168.1.111”的出站连接,我的网关为“192.168.1.254”。 在这个步骤中,我们要创建一个新的网络接口(bridge)'vmbr0',然后在这个网络接口上启用路由,并在出站接口'eth0'上启用代理arp。 Vmbr0是Proxmox中VM(虚拟机)的接口。 这是一个很好的选择,如果我们只有一个公共IP,我们希望隐藏在主机IP后面的虚拟机。
转到'/ etc / network'目录,并用vim编辑interfaces文件。
cd /etc/network/
vim interfaces
在我的eth0配置下,选项enable proxy arp。
auto eth0
iface eth0 inet static
address 192.168.1.111
netmask 255.255.255.0
gateway 192.168.1.254
post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
接下来,通过添加以下配置,在此接口上配置新桥vmbr0并启用路由:
auto vmbr0
iface vmbr0 inet static
address 192.168.2.9
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.2.0/24' -o eth0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.2/24' -o eth0 -j MASQUERADE
注意:
Proxmox中的虚拟机将使用此接口并获取IP地址“192.168.2.xxx”。
底部的两行将启用NAT功能。
保存配置并退出,然后重新启动服务器:
reboot
现在检查服务器IP,我们将有两个网络接口eth0和vmbr0。
注意:
在Proxmox VE中配置网络有很多选项,您可以在这里找到有关Proxmox网络配置选项的完整文档https://pve.proxmox.com/wiki/Network_Model 。
第5步 - 添加新的ISO或VM模板
在此步骤中,我们将为VM安装添加一个新的ISO文件。 我们可以通过上传文件从Web界面添加ISO文件,也可以直接在命令行下载iso文件到服务器(这是我的建议)。
使用wget或curl将iso文件下载到目录“/ var / lib / vz / template / iso”。
下载Ubuntu 15.04映像的示例:
cd /var/lib/vz/template/iso/
wget http://releases.ubuntu.com/15.04/ubuntu-15.04-server-amd64.iso
第6步 - 创建第一个虚拟机
登录Proxmox Web界面,点击“创建虚拟机”按钮的右上角。
那么你会得到一个新的表单,Name是这里的新虚拟机的名称。 然后点击下一步。
选择您的操作系统。 在这里我将使用Ubuntu Linux与内核版本4.并单击下一步。
选择我们在第5步中下载的ISO文件,然后单击下一步。
设置虚拟机的磁盘大小,然后单击下一步。
CPU配置 - 核心,套接字,虚拟机类型(这里我们使用kvm64),然后单击下一步。
为虚拟机提供内存/ RAM大小,然后单击下一步。
在网络配置中,选择桥接模式为vmbr0。 而Model I使用的是Realtek RTL8139。 点击下一步。
并通过点击“完成”确认配置。
现在,我们通过点击“开始”按钮并点击“控制台”访问虚拟机,开始虚拟机安装。
现在,您可以按照您喜欢的方式在虚拟机中安装Ubuntu操作系统。
第7步 - 配置新虚拟机的网络
当安装VM时,我们将必须配置网络,以便VM可以访问互联网。
编辑VM中的interfaces文件。
cd /etc/network/
vim interfaces
我将通过添加以下配置在VM中添加一个新界面“eth0”:
auto eth0
iface eth0 inet static
address 192.168.2.10
netmask 255.255.255.0
gateway 192.168.2.9
保存文件并退出。
注意:
网关IP是主机上的vmbr0 IP地址。
现在重新启动虚拟机,然后尝试通过更新存储库或ping服务器来访问互联网。
proxmox安装完成。
注意:
如果要从proxmox外部访问虚拟机,则必须在主机上添加新的端口转发规则。 例如,要访问VM中的SSH服务,请在下面添加IPTables规则:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.2.10:22
iptables-save
iptables规则将eth0接口端口2222路由到IP 192.168.2.10端口22上的虚拟机。现在我们可以从外部访问VM中的SSH:
ssh -p 2222 vmusername@HOSTIP
结论
Proxmox VE是基于Debian操作系统的开源服务器虚拟化。 Proxmox可以作为ISO文件使用,所以当我们能够访问服务器时,我们可以直接下载安装,也可以在Debian服务器上安装proxmox。 Proxmox功能强大而易于使用,它提供基于Web的管理界面,因此我们可以使用浏览器安装和配置虚拟机(应安装Java和Icedtea)。 我们还可以从服务器的命令行配置Proxmox,Proxmox为第三方应用程序提供REST API。 Proxmox支持本地和网络存储系统,内建高可用性选项,并提供简单的虚拟服务器备份和恢复功能。 在我看来,它是服务器虚拟化的最佳解决方案之一。