天天看点

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

作者:Linux系统运维

一、 Proxmox VE介绍

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

pve-web页面概览

proxmox VE(以下我们简称pve)是 一个完整、开源的企业级虚拟化服务器管理平台。它将 KVM 管理程序和 Linux 容器 (LXC)、软件定义的存储和网络功能紧密集成在一个平台上。 借助基于 Web 集成用户界面,您可以轻松管理 VM 和容器、集群的高可用性同时它又集成了灾难恢复工具。

放眼运维圈子里所有可用的虚拟化软件,好用的基本都是商业化的,开源的kvm、openstack等等要么复杂繁琐维护一个mysql数据库要么管理功能不完善,运维成本也很高。对于pve 用户只需要保证集群多播通信正常,pve-cluster就能自动确保所有服务器状态信息一致,不需要用户额外维护。且pve 无主节点概念,每个节点都可以控制集群,这样其实也大大提高了机器的利用率,想要做虚拟化的团队其实也无非是最大化利用有限的服务器资源。因此pve绝对是一个很好的选择。

当然这款软件也有缺点,上面也说到,pve集群之间的通信是依赖多播通信,因此存在网络拥塞的情况,而且随着节点的增加拥塞情况几何级增加,在我们团队中测试pve在15台的时候已经开始出现各种问题有存储问题也有集群状态问题。建议最好的节点数量是12台以下。

二、 proxmox的安装

官网下载pve的镜像,刻录一个光盘或者u盘,跟正常安装操作系统一样,安装即可。

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

后续的hostname 需要写成FQDN的形式(截图非实际配置):

实际配置(根据自己实际IP地址填写):

网卡1-外网: 111.222.x.x gw:111.222.0.1

网卡2-内网:192.168.201.xxx/24

FQDN: pv[num].pve.com

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

然后一路确认 即可

用户名:root,密码:xxxxx

https://192.168.201.52:8006/(IP地址可以换成任何一个节点地址访问)

三、更换pve的源(默认是一个订阅版本的源,需要更换为一个开源无订阅版本的)

# 删除企业源
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
#下载秘钥
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
# 添加社区源
echo "deb http://download.proxmox.wiki/debian/pve stretch pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list


apt update&&apt dist-upgrade           

配置一下hosts

#cat /etc/hosts
192.168.201.52  pve1.pve.com pve1
192.168.201.53  pve2.pve.com pve2
192.168.201.54  pve3.pve.com pve3
192.168.201.55  pve4.pve.com pve4
192.168.201.56  pve5.pve.com pve5
192.168.201.57  pve6.pve.com pve6
192.168.201.58  pve7.pve.com pve7
192.168.201.77  pve8.pve.com pve8           

四、 Pve-cluster集群创建

4.1 创建集群

随便进入一台主机,这里以https://192.168.201.77:8006/为例(测试环境),点击集群-创建集群 输入集群信息即可。

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

4.2 加入集群

如上图,在创建集群完成后,可以看到加入信息。复制加入信息,登录https://192.168.201.52:8006/、https://192.168.201.53:8006/ (其他服务器也执行同样操作),集群页面粘贴输入密码,pve会自动完成免密钥登录的配置同时将这两个节点加入到集群中来。

五、Proxmox集群删除节点

#首先在待隔离节点上停止 pve-cluster 服务:

#systemctl stop pve-cluster.service 

#systemctl stop corosync.service 

#然后将待隔离节点的集群文件系统设置为本地模式:

#pmxcfs  -l

#接下来删除 corosync 配置文件:

#rm /etc/pve/corosync.conf    

#rm -rf /etc/corosync/*

#最后重新启动集群文件系统服务:

#killall pmxcfs

#systemctl start pve-cluster.service 


#最后如果想把该节点重新加入集群重新执行步骤二即可。
#如果因前面的隔离操作,原集群中剩余节点已经不满足多数票,节点删除命令就会失败。你可以将期望的多数票数量设置为 1,如下:


#pvecm expected 1           

六、配置存储(这里使用的ceph,当然如果ceph不熟也是可以用本地硬盘存储的做好raid即可 )

pve内置一个pve-ceph分布式存储系统,可以自建ceph 也可以直接通过pve ceph页面自动安装pve版本的ceph即可(如果ceph不熟悉的同学建议通过pve web安装)。

PS:这里在给使用ceph的运维同学一个建议,如果计划10个节点,ceph节点不要10个节点都安装,因为本身ceph需要添加单块硬盘作为ceph的一个osd,一个osd节点的维护会消耗系统内存,由配置项"bluestore_cache_size_hdd" 和 "bluestore_cache_size_ssd"来决定,hdd默认1G内存,ssd 3G内存因此如果你一个节点有10块7.2kr硬盘,10个osd那么内存消耗就已经10G了可能没有多余内存来运行vm了。

6.1 pve ceph安装

顺手简单介绍ceph,一个 ceph 集群的组成部分:

若干的 Ceph OSD(对象存储守护程序) 至少需要一个 Ceph Monitors 监视器(1,3,5,7…) 两个或以上的 Ceph 管理器 managers,运行 Ceph 文件系统客户端是 还需要高可用的 Ceph Metadata Server(文件系统元数据服务器)。

RADOS cluster:由多台 host 存储服务器组成的 ceph 集群

OSD(Object Storage Daemon):每台存储服务器的磁盘组成的存储空间

Mon(Monitor):ceph 的监视器,维护 OSD 和 PG 的集群状态,一个 ceph 集群至少要有一个 mon,可以是一三五七等等这样的奇数个。

Mgr(Manager):负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率,当前性 能指标和系统负载等。

具体安装很简单,三步搞定

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

6.2 系统会自动安装,安装完成后进入ceph->configuration

添加硬盘为osd,配置monitor、metaserver,在osd页面就可以看到当前ceph集群状态了

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

七、通过pve web 创建虚拟机

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

镜像选择:两种方式一种本地镜像(local) ,另外一种通过nfs挂载共享存储

先说local:

优点:如果使用pve本地的镜像,即我们把镜像上传至本地镜像/var/lib/vz/template/iso 下,然后下图的local中就可以看到这个目录下的所有镜像

缺点: 只可以本机节点使用,不能共享给其他pve节点

nfs存储:

优点:统一维护某一个镜像目录,通过nfs共享出来,在pve 数据中心-存储中挂载城nfs类型的存储,内容选择ISO镜像。这样该数据中心所有节点均可以使用该存储中的所有镜像

缺点:nfs的缺点他都有.不过不影响集群使用,比较推荐NFS存储

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

选择镜像完成后,一路确认即可。

推荐一个超好用的虚拟化平台ProxmoxVE+ceph
推荐一个超好用的虚拟化平台ProxmoxVE+ceph
推荐一个超好用的虚拟化平台ProxmoxVE+ceph
推荐一个超好用的虚拟化平台ProxmoxVE+ceph
推荐一个超好用的虚拟化平台ProxmoxVE+ceph

八、 pve配置双虚拟网卡

目的是供虚拟机配置内,外网卡

以pv1配置双网卡为例

配置文件为: /etc/network/interfaces

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

然后重启 pve 或者 /etc/init.d/networking restart

九、安全配置

如果pve 配置了公网的权限,安全是必须要考虑的,因此这一步为pve配置防火墙

9.1.防火墙简介:

pve有3种防火墙:

a.面对数据中心的防火墙,处理流出流入数据中心的流量。

b.面对节点服务器,处理主机流入流出的流量。

c.面对vm的防火墙,处理vm流入流出的流量。

实际上,他们是独立的,互不干预,但又有联系。

当我们进入pve-webgui面板。会看到数据中心------节点------vm 这3个模块

9.1.1数据中心防火墙:

数据中心,是由节点组成的一个集群

可以说,数据中心防火墙,是专门处理集群流量的防火墙

只有数据中心防火墙开启,才能开启集群内的防火墙,否则单开vm防火墙是没有意义的

9.1.2主机防火墙

主机防火墙,只负责处理节约本机流量。这个防火墙的开关,不会影响vm的防火墙,所以要开启vm防火墙,不必开启这个防火墙

9.2 防火墙配置文件

#pve的防火墙配置文件路径
#数据中心防火墙配置文件路径
/etc/pve/firewall/cluster.fw
主机防火墙
/etc/pve/nodes/<nodename>/host.fw
##虚拟机防火墙
/etc/pve/firewall/<VMID>.fw           

9.3 配置防火墙

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

9.4 安全组

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

9.5 开启防火墙

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

9.6 开启虚拟机防火墙

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

9.7 配置vm防火墙

推荐一个超好用的虚拟化平台ProxmoxVE+ceph

继续阅读