阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ProxmoxVE V5.2集群安装图解

305次阅读
没有评论

共计 4747 个字符,预计需要花费 12 分钟才能阅读完成。

以前找了一台物理服务器直接安装了一个 proxmox VE 环境(VE 是虚拟化环境的意思),后续又看了官方的 admin 文档,对整个系统架构有了一定的了解,接下来,准备好好研究一下具体能够落在生产环境上的系统设计。官方文档可以在官网下载,也可以在安装 pve 之后在 web 界面上直接查看或者下载,如下图:

ProxmoxVE V5.2 集群安装图解

设计思路:

基本想法是,3 个以上物理节点的集群环境,组成 HA,具体设想如下:

    1. 网络方面需要内部集群管理(corosync)网络,业务网络,ceph 存储网络,3 个网络,需要强调的是,内部集群网路需要独立出来,因为集群网络对延时的要求很苛刻,具体详见官方文档。如果有条件,每个网络都做 bond。bond 类型的选择,集群管理网络直接使用 active-backup,其他的最好使用 LACP(802.3ad)链路聚合,但是这种方式需要在交换机侧做配置,两个交换机之间也要做级联,链路聚合的好处是一稳定,二带宽不浪费,三高可用。

    2. 存储方面,除了系统盘之外,每台物理机使用 2 块硬盘贡献出来作为 ceph 存储池使用,1 块硬盘作为本地 lvm 存储并挂载给镜像和备份目录使用,这样可以比较灵活,需要实现 HA 功能虚拟机可以放在 ceph 存储池,lvm 存储池主要存放模板镜像文件,也可以给其他虚拟机使用,lvm 存储池的虚拟机在相应速度上理论上要比 ceph 的要高,这里具体不阐述。ceph 存储池使用 3mon,3 副本。

    3.CPU 和内存方面根据实际需求确定,这里不赘述。

操作记录:

一. 环境准备:

    基于以上考虑,在这台 pve 环境上面,创建 3 个虚拟机,3vcpu/12G 内存 / 4 块硬盘 / 2 块网卡,其中硬盘方面 1 块硬盘为系统盘 31G,2 块 30G 的 ceph 盘,1 块 32G 的 lvm 盘,网卡方面 1 块网卡同时给集群和虚拟机使用(192.168.1.0/24 网段),1 块网卡作为 ceph 存储网络(192.168.170.0/24 网段)使用。创建虚拟机如下:

    ProxmoxVE V5.2 集群安装图解

    剩下 2 台测试虚拟机,直接克隆,分别为 pve-2,pve-3 .

    接下来分别启动 pve-1,pve-2,pve-3 进行 proxmox VE 的安装,如下图:

ProxmoxVE V5.2 集群安装图解

安装步骤都很简单,傻瓜式的,其中选择硬盘会默认第一块硬盘安装系统,然后是设置 root 密码等等,网络配置步骤:

ProxmoxVE V5.2 集群安装图解

这里 hostname 要求写成 FQDN 格式,我试了直接使用 pve-2,不行,最后是使用 pve-2.ywb.com。

    3 台虚拟机同时安装,非常快,不到 10 分钟,居然就安装完了!感觉比装 vmware 的 ESXI 也更快啊。

ProxmoxVE V5.2 集群安装图解

点右下角的 Reboot 重启。

ProxmoxVE V5.2 集群安装图解

第一阶段搞定,后面就可以建集群,配网络,建存储之类的后续操作了。

    通过输入网址:

    https://192.168.1.51:8006

    https://192.168.1.52:8006

    https://192.168.1.53:8006

    分别可以管理这 3 台 pve。

二. 配置网络

    先将第二块网卡的网络配上,系统安装过程中配置了第一块网卡作为内部管理集群网络,网段是 192.168.1.0/24,登陆系统后可以发现这个地址是配置在网桥上的,网桥上搭一块网卡进行桥接,因此新建一个网桥并配置 192.168.170.0/24 网段的地址给它,搭另一块网卡进行桥接,如下图:

    ProxmoxVE V5.2 集群安装图解

    注意第一块网卡设置了网关是 192.168.1.1,这块网卡就不能设置网关了。这个比较好理解,其实就是在主机上设置了默认网关,只能有一个。

    增加完网桥之后,需要重启 pve 节点生效配置。(网络更改都需要重启节点才能生效。)

三. 存储设置

    接下来处理存储,进去看 pve 节点的存储,安装的时候安装程序会默认在安装盘上建立一个 vg,名称是 pve,在这个 vg 上建立 swap/root/data 三个 lv,其中 root 这个 lv 上挂载 / 根目录。安装完成之后直接默认有两个存储 ID,一个是 local,对应的是目录型存储,挂载目录是 /var/lib/vz,一个是 local-lvm,挂载的是 data 这个 lv,这个 lv 的类型是 lvm-thin,lvm-thin 这种类型很适合虚拟机使用,具体如何创建后面再介绍。另外,pve 的各种存储类型主要有目录型 /lvm/lvm-thin/zfs/nfs/ceph 等等,具体可以参考官网的 admin 文档。

    我当初的设计是需要将最后一块 32G 的盘 /dev/sdb 作为目录 /var/lib/vz 的挂载盘,这个目录下面存放镜像文件,备份文件,也可以直接存放本机虚拟机文件和容器文件。这一块工作需要先在后台将 sdb 这块盘划分了 lvm 才能给系统使用。因此,首先通过 ssh 登陆 pve 服务器,执行:

    pvcreate /dev/sdb   
    --- 注意,我这里没有分区,直接使用整块硬盘,使用分区其实也是可以的
    vgcreate vg-sdb /dev/sdb
    lvcreate --thin -L 30G -n lvm-sdb vg-sdb  
      注:不能使用 32G,提示空间不够,--thin 表示类型是 lvm-thin,如果创建的时候没有加这个参数,可以事后执行 lvconvert --type thin-pool vg-sdb/lvm-sdb 命令转化类型,如果是为挂载目录使用,可以不使用 thin 类型。mkfs.ext4 /dev/vg-sdb/lvm-sdb
    更改 local 存储目录 /var/lib/vz 的挂载点为 /dev/vg-sdb/lvm-sdb :
    mount /dev/vg-sdb/lvm-sdb /var/lib/vz
    在 /etc/fstab 文件中写入下面这行,使开机自动挂载:/dev/vg-sdb/lvm-sdb /var/lib/vz ext4 defaults 1 2
 

调整 pve- 1 节点的 local 存储池为共享池,这样可以只上传镜像到这个存储池,其他节点也可以共享使用,如下图:

ProxmoxVE V5.2 集群安装图解   

上传第一个 ISO 镜像,通过 scp 程序,我用的是 winscp,直接从本机上传到 pve- 1 的 /var/lib/vz/templates/iso/ 目录中,如下图:

ProxmoxVE V5.2 集群安装图解

当然,也可以使用 web 管理界面直接上传,如下图:

ProxmoxVE V5.2 集群安装图解

四. 创建集群:

    在其中一台 pve 服务器的 web 管理界面上首先创建一个集群,如下图:

ProxmoxVE V5.2 集群安装图解   

接下来,通过 ssh 登陆其他 2 个 pve 节点,执行 pvecm add 192.168.1.51(这个地址是上面建立集群的 pve 节点的 IP)命令加入集群 cluster1,如下图:

ProxmoxVE V5.2 集群安装图解

加入完成之后,可以通过命令 pvecm status 在任何一个节点上查看集群情况,如下图:

ProxmoxVE V5.2 集群安装图解

如果要查看集群日志,可以看文件 /var/log/daemon.log。

集群建立完成之后,任何一个 pve 节点的 web 管理界面视图都可以管理整个集群,如下图:

ProxmoxVE V5.2 集群安装图解

五.ceph 安装配置

    参考官网这个网址:

    https://www.proxmox.com/en/training/video-tutorials/item/install-ceph-server-on-proxmox-ve

    这是一个详细的视频教程,基本的设计思路和我这个环境差不多,都是 3 个节点,只有网络是真正的 3 个网络,我是因为条件限制,将集群管理和虚拟机业务网络合二为一了,其他的都差不多。

    首先在每一个节点安装 ceph 软件包:

    pveceph install –version luminous   

    注意,官网视频里面用的 jewel 版本,我们安装的 pve 版本是 5.2 对应的 ceph 版本已经是 luminous 版本了。

    执行过程中提示软件包相关错误,如下:

W: (pve-apt-hook) !! WARNING !!
W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'!
W: (pve-apt-hook) 
W: (pve-apt-hook) If you really you want to permanently remove 'proxmox-ve' from your system, run the following command
W: (pve-apt-hook) touch '/please-remove-proxmox-ve'
W: (pve-apt-hook) and repeat your apt-get/apt invocation.
W: (pve-apt-hook) 
W: (pve-apt-hook) If you are unsure why 'proxmox-ve' would be removed, please verify
W: (pve-apt-hook) - your APT repository settings
W: (pve-apt-hook) - that you are using 'apt-get dist-upgrade' or 'apt full-upgrade' to upgrade your system
E: Sub-process /usr/share/proxmox-ve/pve-apt-hook returned an error code (1)
E: Failure running script /usr/share/proxmox-ve/pve-apt-hook
 

    需要执行这个命令进行确认:

    touch '/please-remove-proxmox-ve'
    再次执行 install 命令,最后还是有一个报错:cp: cannot stat '/usr/share/doc/pve-manager/examples/ceph.service': No such file or directory
    could not install ceph.service

    然后发现 pveceph 命令找不到了!!!!应该是在上面安装过程中软件包错误处理的时候将这个软件包卸载了。咋办?另外,在 web 管理界面,创建虚拟机启动虚拟机连接虚拟机失败,说明上面命令卸载了部分或者大部分关键软件包,嗝屁了。通过在网上查相关信息,只看到全真道长 sery 那里就在几天前也发现了这个问题,确认就是没有订阅造成的,被一家公司控制的开源产品,缺陷出来了。道长 sery 那边的消息是,如果订阅,是 249.9 欧元每 CPU 每年,这算下来与 vmware 的授权也差不多了,那我还用个毛的开源软件啊。下图是官网的报价:

ProxmoxVE V5.2 集群安装图解

    看来只有自己手动安装 ceph 集群了。

 

总结:

    本篇博文尝试搭建一套 3 节点的 Proxmox VE 集群,安装过程非常快,概念也很清晰,web 管理界面非常好用,但是在进行到存储 ceph 安装的时候出现了订阅问题。

    安装到这里,反正也已经基本摸了一遍集群的实际落地操作,并踩到了一个大坑,那就是 ceph 的安装配置 5.2 版本需要订阅官方授权才能使用。具体如何解决,初步 2 个办法,第一个是测试历史版本,据说历史版本可以使用,第二个是手动安装 ceph 集群,然后在 pve 中做一些简单配置连接使用这个 ceph 集群,第二个办法的缺点是没有办法统一集成管理 pve 和 ceph,只能分开管理,但是对于大规��的应用场景,可能反倒是一个优点。我的想法是,两个办法都要去踩一遍,对于小规模使用场景使用第一个用历史版本的办法,对大规模场景,都可以。

    注:至今天(2018 年 9 月 23 日)为止,官网上能下载的版本有 5.2-1,   5.1-3,   5.0-5ab26bc-5 三个版本,三个版本我都测试过了,pveceph 工具 install 之后都不正常。更老的版本现在暂时未找到。

    注,上面说的“手动安装 ceph 集群,然后在 pve 中做一些简单配置连接使用这个 ceph 集群”,已经验证可以实现,参考下面的文章:https://www.linuxidc.com/Linux/2018-12/155769.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计4747字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中