Proxmox集群网络配置

本文深入探讨了Proxmox VE在服务器环境下的优势,对比OpenStack,强调其简易安装与稳定运行特性。详述了Proxmox VE集群搭建流程,包括网络配置、集群创建及常见问题解决,为读者提供实践指南。

    用过vmwarevirtualbox的人大概都知道虚拟机是怎么回事儿,这种虚拟化软件通常装在windows环境下,而且是单机环境。那么随着云计算与大数据的发展,虚拟化技术也是得到了极大的发展,比如分布式的虚拟化软件OpenStackProxmox VE等。

    对于这4种常用的虚拟化软件我的使用感受就是在windows上virtualbox比vmware好用,服务器上Proxmox比OpenStack好用。windows上的不说了,本文重点说一下服务器上的虚拟软件使用感受,之前用过windows server服务器上装的virtualbox,然后再开各种各样的虚拟机,总体感受就是很慢,在相同的环境下跑相同的程序结果很慢得多。可能与这种virtualbox是半裸的虚拟化技术有关(寄居虚拟化),vmware也是这种技术。

说到虚拟化技术,下面的图更加解释得直观:

 

 

    而在服务器上Proxmox和OpenStack则表现更加稳定。OpenStack配置要求高,安装配置过程复杂,但是可以用Fuel进行一键安装,总体来说没有Proxmox易用。而Proxmox只需要30分钟就能安装系统,还有很多操作系统的模版可以使用。Proxmox比较稳定,我们实验室和我之前实习的公司都是用的Proxmox集群来作为生成环境,基本上没有出什么大问题。

    接下来说说应用:Proxmox主要是创建KVM虚拟机和lxc容器,KVM虚拟机需要iso镜像(几个G),lxc容器需要tar.gz模版(100M左右)。

  首先安装系统,去官网下载Proxmox iso镜像,最新版是5.3.我前段时间装的是5.2,但基本上没有差别,我们实验室的集群是4.2,也没有很大的区别。Proxmox 是基于debian的系统(ubuntu也是基于debian的系统),我觉得他是裸机虚拟机技术(可能理解不准确,它集成了多种虚拟化技术),但这不重要,重要的是Proxmox 的安装就和普通linux系统一模一样,而且比装一个centos或者ubuntu更简单,更快!!!

安装教程很多,服务器上装需要做个U盘系统,也可以在vmware和virtualbox上装,如下图,按照提示一步一步走即可,ip配置那一步先用默认的配置!!!

本文要重点说的是proxmox的集群模式和网络模式!!!

安装好之后proxmox 登陆命令行界面有一个连接:

https://192.168.1.100:8006,注意是https,不是http。

这是网页端的管理界面,通过网页上点点鼠标可以省去很多复杂的操作命令。

下面将proxmox ve简称为pve,对与pve集群,他不是传统的主控集群(一个主节点几个从节点)因为主控集群容易产生单点故障如hadoop集群、spark集群等。pve集群的每个节点完全是对等的,没有主从之分,也就是挂了某个节点,其余节点不受影响,只是挂了那个节点上的虚拟机有影响。而虚拟机只是pve某个节点上的一个进程而已,但是虚拟机的存储可以共享,也就是说每个pve节点的硬盘可以共享给其他节点。


  集群搭建过程:

首先分别把每台服务器的pve系统装好,然后通过web UI可以看到是这种的:

单机:         ,集群:

pve1是系统的主机名,可以通过 vi /etc/hostname修改,主机名修改后重启生效。


一、网络配置

1.规划网络:  

  192.168.1.125   pve1

  192.168.1.126   pve2

  网上说搭建集群要在交换机上开多播,其实不开也可以。

 2.在每个机器上修改ip地址: 

 通过命令修改 vi  /etc/network/interfaces,如果通过网页端修改ip也可以,但修改是保存在临时文件/etc/network/interfaces.new里,都是重启生效。

这里要重点说一下有很多中网络方案,常见的有2种网络模式:

a.只有一个网卡

这种方式下虚拟机使用10.10.10.x网段,宿主机集群的通信和虚拟机的通信都走一个网卡,虚拟机通过nat转发。

b.有两个网卡:

这种模式下就宿主机集群走网卡1,而虚拟机之间的通信走网卡2。这种模式下多个服务的网卡2之间要走单独的网线,也就是双网卡双网线,这样每个节点上的虚拟机都能互通。

3.在宿主机上为虚拟机开启转发规则:(这一步先跳过,创建虚拟机时再做)

重点说明:

1 开启IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward

恢复规则:iptables-restore > /etc/iptables.up.rules
开机自动恢复规则,把恢复命令添加到启动脚本:
echo '/sbin/iptables-restore /etc/iptables.up.rules' >>/etc/rc.d/rc.local
宿主机重启后规则会失效,最好设置开机自动恢复规则!

4.然后按照这种配置规则把每个服务器的ip都改好:

/etc/init.d/networking restart

reboot

二、创建集群

通过命令:

systemctl start corosync

因为没有开多播会corosync会启动失败,需要手动生成authkey:corosync-keygen

systemctl start pvedaemon

systemctl start pve-cluster

然后:

1.在主服务器pve1上创建集群:名字为abc

   pvecm create abc

2.分别在其余服务器上加入到该集群abc:

   pvecm add 192.168.1.125 

3.查看状态:

  pvecm status 或  pvecm nodes

(重点)如果报错,意外说明:

单机版默认会集群pvedaemon和pve-cluster,而不会启动corosync。

创建集群最核心的就是集群同步服务corosync,corosync成功后会生成配置文件corosync.conf,,如果启动失败后需要手动修改配置文件:

logging {

  debug: off

  to_syslog: yes

}

nodelist {

  node {

    name: pve1

    nodeid: 1

    quorum_votes: 1

    ring0_addr: 192.168.1.125

  }

  node {

    name: pve2

    nodeid: 2

    quorum_votes: 1

    ring0_addr: 192.168.1.126

  }

}

quorum {

  provider: corosync_votequorum

}

totem {

  cluster_name: abc

  config_version: 2

  interface {

    bindnetaddr: 192.168.1.125

    ringnumber: 0

  }

  ip_version: ipv4

  secauth: on

  version: 2

}

这是集群赖以成功的关键因素!!!


三、文件目录说明:

/etc/pve 是文件系统挂载

这个目录是只读的,只有当pve-cluster启动后才会有内容,pve-cluster关掉服务后, 这个目录会被清空!!!他是属于www-data 用户组,就是web UI的文件目录,因此不能修改!关掉pve-cluster服务后,web UI也就关掉了,/etc/pve也就清空了。

/etc/corosync 是集群通信服务(corosync)所在的本地目录

注意!

我们配置是只关注/etc/corosync//etc/pve/目录,但它会自动关联一些目录

通过以下查看相关的目录:

find / -name"pve"

find / -name"corosync"

如果配置出错了,需要将相关的配置全部删除干净,再重新配置:

官方文档说需要重装系统,其实不用,删除这些配置即可,亲测成功!

rm -rf  /var/lib/pve-cluster/*

rm -rf  /var/lib/corosync/*

rm -rf  /var/lib/rrdcached/db/*

rm -rf  /etc/pve/*

rm -rf  /etc/corosync/*

由于/etc/corosync/和/etc/pve/是只读的,因此修改corosync.conf的时候需要先把只读权限去掉,修改后再恢复:


四、启动过程:

单机版:开机默认先启pvedaemon服务,再启pve-cluster服务。

集群版:开机默认先启pvedaemon服务,再启pve-cluster服务,最后启动corosync服务。

前提是保证/etc/pve/为空,如果不为空则第二步的pve-cluster服务就会启动失败。

启动corosync的过程:就是将本地目录的/etc/corosync/corosync.conf复制到集群目录/etc/pve/下面。

这三个步骤对应着三个重要命令:

systemctl start pvedaemon

systemctl start pve-cluster

systemctl start corosync

报错authkey不存在,需要手动生成authkey,命令为:       corosync-keygen

单机版的服务说明

systemctl start pvedaemon     默认开机启动pvedaemon. service服务

systemctl startpve-cluster   默认开机启动pve-cluster. service服务

pve-cluster启动后会在/etc/pve下面生成文件,/etc/pv/下的所有文件和目录都属于 root 用户和www-data 用户组。systemctl stop pve-cluster关掉服务后, /etc/pve目录会清空!!!


如果要搭建集群还需要另外启动corosync服务:

systemctl start corosync        

corosync-keygen

默认不会启动,创建一个集群时才会启动它!


相关命令

systemctl stoppvedaemon

systemctl stoppve-cluster

systemctl stopcorosync

systemctl statuspvedaemon

systemctl statuspve-cluster

systemctl statuscorosync

systemctl status

systemctl statuscorosync.service

pvecm status   查看集群节点状态详细

pvecm nodes   查看集群节点状态简单

五、通过web UI点点鼠标来创建集群:

如果觉得上述通过命令创建集群比较繁琐,可以用过通过web UI点点鼠标来创建集群。

然后在弹出框输入集群名字如abc,弹框输出TASK OK表示成功:

可以看到创建集群的步骤为:

2.再其他节点上输入命令加入创建好的集群中去:

这些信息来自于:pve1的网页上的Join Information:

这一步也可以直接输入命令:

 pvecm add pve1

  pvecm add pve1 –force       强制添加

即在pve2节点上输入命令pvecm add pve1,pve1是集群abc中已经存在的节点名。

添加节点成功输出TASK OK表示成功!

然后刷新网页即可看到:这是登陆pve1和pve2都是一样的页面了!!!

这时通过任意一个节点的ip登陆看到的效果都是一样的!!!

https://192.168.1.125:8006

https://192.168.1.126:8006


由于篇幅原因本文只介绍集群创建过程,后面再接着将如果配置存储和创建虚拟机模版等等内容。

<think>好的,用户让我介绍一下Proxmox集群。首先,我得确认自己对这个主题的理解是否全面。Proxmox VE是一个开源的虚拟化平台,基于Debian,结合了KVM和LXC,这点我记得没错。集群的话,应该是多个节点协同工作,提供高可用性、负载均衡这些功能。 用户可能想知道Proxmox集群的基本概念、优势、如何搭建以及适用场景。可能他们是在考虑企业级虚拟化解决方案,或者个人实验室环境。需要区分用户的使用场景,但作为介绍,应该全面覆盖。 首先,核心功能方面,高可用性(HA)是关键,当节点故障时,虚拟机自动迁移。资源池化也很重要,集中管理CPU、内存、存储。还有集中管理界面,方便操作,这个对用户来说可能很直观。 然后是架构组成,节点通常是物理服务器,每个都安装Proxmox VE。网络配置要注意,比如专用网络用于通信和存储,避免单点故障。共享存储是必须的,像Ceph或NFS,这样才能让VM在节点间迁移。还需要一个仲裁设备,比如QDevice,防止脑裂问题。 部署步骤方面,用户可能需要实际操作的指导。初始化第一个节点,然后逐个加入其他节点,配置网络和存储,最后设置HA。这些步骤需要简明扼要,但也要提到关键点,比如时间同步和网络延迟。 优势部分,要强调开源免费、灵活性、易用性,以及集成Ceph的分布式存储。适用场景的话,中小企业虚拟化、开发测试环境、教育或研究实验室,这些可能是常见用例。 注意事项里,网络稳定性、硬件兼容性、备份策略和测试环境的重要性需要提醒用户,特别是如果他们刚接触的话,可能会忽略这些。 最后,实际应用举例,比如三个节点搭建集群,运行关键服务,这样用户能更直观理解。总结部分要突出Proxmox集群的性价比和功能全面性。 需要检查是否有遗漏点,比如Proxmox的具体版本要求,或者最低节点数,但可能用户不需要太深入细节。保持回答结构清晰,用中文语化表达,避免技术术语过多但准确。确保LaTeX格式正确,虽然这个问题可能不需要数学公式,但如果有用到变量或代码,要按规则处理。</think>Proxmox集群是基于**Proxmox VE(Virtual Environment)**构建的服务器虚拟化解决方案,通过将多台物理服务器(节点)整合为一个统一管理的资源池,提供高可用性、负载均衡和灵活的资源分配能力。以下是详细介绍: --- ### **核心功能** 1. **高可用性(HA)** - 当某个节点故障时,集群会自动将虚拟机(VM)或容器(LXC)迁移到其他健康节点,保障服务连续性。 - 需配合共享存储(如Ceph、NFS)使用。 2. **资源池化** - 所有节点的CPU、内存、存储资源集中管理,支持动态分配和跨节点迁移(Live Migration)。 3. **集中管理** - 通过Web界面统一管理集群内的所有节点、虚拟机、存储和网络配置。 --- ### **架构组成** 1. **节点(Node)** - 每个物理服务器安装Proxmox VE系统,作为集群成员。 - 建议至少3个节点以避免脑裂(Split-Brain)问题。 2. **集群网络** - 需专用网络用于节点间通信(Corosync协议)和存储同步。 - 推荐冗余网络(如双网卡绑定)保障可靠性。 3. **共享存储** - 支持Ceph(分布式存储)、NFS、iSCSI等,确保虚拟机数据跨节点访问。 - Ceph与Proxmox深度集成,可直接在Web界面部署。 4. **仲裁设备(QDevice)** - 用于奇数节点集群中,防止因网络分区导致的服务中断。 --- ### **部署步骤** 1. **初始化第一个节点** ```bash pvecm create <集群名称> ``` 2. **加入其他节点** 在待加入节点执行: ```bash pvecm add <第一个节点的IP> ``` 3. **配置网络与存储** - 设置专用集群网络(建议VLAN隔离)。 - 挂载共享存储(如Ceph、NFS)。 4. **启用高可用性** - 在Web界面为虚拟机/容器启用HA策略。 --- ### **优势** - **开源免费**:社区版无功能限制,企业版提供付费支持。 - **灵活性**:支持KVM虚拟机和LXC容器,兼容多种存储类型。 - **易用性**:Web界面友好,提供API和CLI工具。 - **集成Ceph**:无需额外部署即可实现分布式存储。 --- ### **适用场景** 1. **中小企业虚拟化**:替代VMware vSphere或Microsoft Hyper-V,降低成本。 2. **开发测试环境**:快速创建/销毁虚拟机,支持快照功能。 3. **教育/研究**:构建私有云实验室,资源按需分配。 --- ### **注意事项** - 网络延迟需低于2ms,否则可能影响集群稳定性。 - 节点硬件配置建议相似(尤其是CPU型号)。 - 定期备份集群配置(`/etc/pve`目录)和虚拟机数据。 --- ### **实际应用举例** 假设企业有3台服务器,通过Proxmox集群可实现: 1. 运行关键业务虚拟机(如数据库、Web服务)。 2. 某台服务器维护时,业务自动迁移至其他节点。 3. 动态扩展资源(如添加新节点或升级硬件)。 --- ### **总结** Proxmox集群以低成本实现了企业级虚拟化功能,适合追求高可用性和资源利用率的中小规模场景。其开源特性与活跃社区支持,降低了技术门槛和运维成本。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值