实验4-网络冗余
实验3实现了网络分流,但单个网卡出现故障时,会导致对应流量中断。在生产环境中,通常使用链路聚合等技术预防网络中的单点故障。考虑到网络冗余,服务器的组网方式如图所示。

基于物理组网,使用Workstation进行模拟,实验拓扑如图所示。

参考文档:
Proxmox VE + Ceph 超融合项目实战(第七部分:Ceph分布式存储)
超融合云平台需要3台服务器,若无物理机,可用虚拟机模拟实验。PVE版本为7.3,PVE 7底层基于Debian 11操作系统。

在Workstation创建一台虚拟机pve-1,配置如下:

注意:CPU需要勾选虚拟化,网络适配器1和2使用默认的NAT网络,网络适配器3和4使用桥接网络,网络适配器5和6使用仅主机网络。虚拟机创建完成后,第一块20G的硬盘用于安装PVE系统,再添加一块40G的硬盘用于Ceph分布式存储,一块20G的硬盘用于Ceph缓存。
网络信息(实验时不要照抄本表格,根据实际环境设置)

NAT网络VMnet8 | 192.168.111.0/24 |
桥接网络VMnet0 | 10.168.2.0/24(需要查看物理网络) |
仅主机网络VMnet1 | 192.168.200.0/24 |
注意:若桥接带认证的无线网络,会存在无法桥接的问题,导致VMnet0虚拟网络无实际网络功能;建议桥接有线网络,不会有任何问题。
pve-1创建后,可以通过克隆的方式依次快速生成虚拟机pve-2和pve-3。克隆方式选择“完整克隆”。


1、开机,安装PVE虚拟化系统

2、同意协议

3、系统默认安装在第一块磁盘sda上

4、选择国家和时区

5、设置root密码为123456和邮箱

6、设置网络
服务器目前有6块网卡,一定要选择第一块网卡ens33,自动获取NAT网络分配的IP地址(注意网关和DNS一定要正确),域名自定义,例如pve1.lab(另外两台分别为pve2.lab、pve3.lab)其余5块网卡不需要设置。

7、开始安装

8、节点安装结束后自动重启,根据提示,浏览器登录网址即可进入Proxmox管理界面。

需要信任才能正常访问


pve-2和pve-3的安装过程与pve-1类似,实验时管理IP地址根据实际网络环境配置,不要照抄文档中的IP地址。
虚拟机名称 | 管理IP | 域名 |
pve-1 | 192.168.111.136 | pve1.lab |
pve-2 | 192.168.111.137 | pve2.lab |
pve-3 | 192.168.111.138 | pve3.lab |
9、配置国内源
进入控制台

依次粘贴如下3条命令
#1
mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
#2
echo “deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bullseye pve-no-subscription” > /etc/apt/sources.list.d/pve-no-subscription.list
#3
cat > /etc/apt/sources.list <<EOF
deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bullseye main
deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
EOF
更新软件源
apt update -y
apt install ifupdown2 -y

编辑虚拟交换机vmbr0,此处会修改默认的虚拟网络结构,先将默认的桥接端口ens33删除。

创建Linux Bond:bond0 ,将网卡1和网卡2聚合到bond0接口上。模式选择主备方式,第一块网卡为主,承担数据传输工作;只有当主网卡连接的链路发生故障时,流量才切换到备用网卡所连接的链路。模式也可配置为LACP,即基于LACP协议的链路聚合,该模式需要在物理交换机上配置后才生效。

编辑虚拟交换机vmbr0,桥接bond0,用于传输PVE平台的管理流量。

创建Linux Bond:bond1

创建虚拟交换机vmbr1,桥接bond1,用于传输虚拟机的业务流量。

创建Linux Bond:bond2

创建虚拟交换机vmbr2,桥接bond2,用于传输Ceph分布式存储系统的存储流量。IP地址填仅主机网络VMnet1对应网段中的可用IP地址,存储网络是一个独立的二层网络,不需要访问其它网段,因此不需要填网关。

3个虚拟交换机配置如图所示,最后点击应用配置,使网络配置生效。

10、重复以上步骤配置节点2和节点3
Pve2

Pve3

11、创建集群
登录节点1的管理界面,创建集群,集群名自定义。当前集群只有一个节点,需要添加其它节点。

点击集群的“加入信息”并复制,该信息后续在其他节点加入集群时使用。

登录节点2的管理界面,加入集群,粘贴刚才复制的信息,密码为pve1的root密码。

登录节点3的管理界面,加入集群。
12、在任意节点均可查看集群状态和节点信息

安装ceph
集群中选择节点1,选择Ceph-》安装Ceph



Ceph安装成功后,继续下一步。

公共网络选择pve1节点的存储IP地址(不要选管理IP地址)。管理、业务、存储这3种流量要物理分流,走不同的物理网络通道。


选择节点2,选择Ceph-》安装Ceph。
选择节点3,选择Ceph-》安装Ceph。
3个节点都安装ceph后,需要创建Ceph 监视器、OSD磁盘、Ceph 存储池。
创建Ceph监视器

依次选择pve2和pve3

一共3个Ceph监视器

Ceph管理员和Ceph监视器的创建方式类似,继续添加节点2和节点3,一共3个管理员。其中,一个活动,两个备用。

创建OSD磁盘
节点1,进入Ceph-》OSD,创建OSD磁盘。磁盘选择第二块硬盘sdb,第三块磁盘sdc作为数据库磁盘,主要用于缓存。

节点2和节点3同样操作
创建OSD完成后,集群一共有3个OSD磁盘

创建Ceph存储池
存储池可用于存放云平台上虚拟机的磁盘。池名称自定义。

存储池创建成功后,每台主机都可以使用该存储池,后续创建虚拟机时选择该存储池即可

创建CephFS文件系统
用于存储云平台的ISO文件,需要先创建元数据服务器,再创建CephFS。依次创建3个元数据服务器

创建CephFS,名称自定义

CephFS文件系统创建成功后,每台主机都可以使用该文件系统,主要用于存放ISO镜像文件。

至此,一个高阶版的超融合云平台搭建完成。
测试
将ISO文件上传到CephFS文件系统中。测试时使用TinyCore操作系统的iso文件

创建虚拟机,可以选择在哪个节点上运行虚拟机,虚拟机名称自定义

ISO存储选择cephfs文件系统,选择测试用的iso文件
磁盘存放空间选择ceph-pool,磁盘大小5GB

内存128MB
网络选择承载业务流量的虚拟交换机vmbr1,最后完成虚拟机的创建。

运行虚拟机
验证虚拟机是否自动获取IP地址,是否能ping通baidu.com。(若桥接网络是校园网等,桥接无效,虚拟机无网络,不需要验证网络功能)
热迁移

迁移到可用的目标节点

HA高可用

选择需要做高可用的虚拟机

将虚拟机所在节点关机,验证虚拟机是否自动迁移到其它节点

节点pve2故障后,pve2上的虚拟机自动迁移到节点pve1上,且正常运行。

将任意聚合链路中的一个网卡断开连接,模拟网络的单点故障,测试发现虚拟机网络正常。