首页 > 编程知识 正文

proxmox网卡配置,proxmox 分布式存储

时间:2023-05-03 11:23:01 阅读:252298 作者:972

    用过vmware和virtualbox的人大概都知道虚拟机是怎么回事儿,这种虚拟化软件通常装在windows环境下,而且是单机环境。那么随着云计算与大数据的发展,虚拟化技术也是得到了极大的发展,比如分布式的虚拟化软件OpenStack和Proxmox 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_forwardcat /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 restartreboot 二、创建集群

通过命令:

systemctl start corosync因为没有开多播会corosync会启动失败,需要手动生成authkey:corosync-keygensystemctl start pvedaemonsystemctl start pve-cluster然后:1.在主服务器pve1上创建集群:名字为abc   pvecm create abc2.分别在其余服务器上加入到该集群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 stoppvedaemonsystemctl stoppve-clustersystemctl stopcorosyncsystemctl statuspvedaemonsystemctl statuspve-clustersystemctl statuscorosyncsystemctl statussystemctl statuscorosync.servicepvecm 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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。