FusionCompute 8.0的部署练习过程和踩坑

2023-10-09 22:40

本文主要是介绍FusionCompute 8.0的部署练习过程和踩坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、FusionCompute的架构

FusionCompute 组件
组件名称功能备注
CNA计算节点代理(Computing Node Agent)1、虚拟计算功能 2、管理计算节点上的虚拟机 3、管理计算节点上的计算、存储、网络资源类似于 ESXI
VRM虚拟资源管理器(Virtual Resource Manager)1、管理集群内的块存储资源 2、管理集群内的网络资源(IP/VLAN),为虚拟机分配IP地址 3、管理集群内虚拟机的生命周期以及虚拟机在计算节点上的分布和迁移 4、管理集群内资源的动态调整 5、通过对虚拟资源、用户数据的统一管理,对外提供弹性计算、存储、IP等服务 6、通过提供统一的操作维护管理接口,操作维护人员通过WebUI远程访问FusionCompute对整个系统进行操作维护,包含资源管理、资源监控、资源报表等类似于VCSA

二、FusionCompute的实验拓扑

资源下载:这些资源在华为官网都能下载到,就是需要注册账号 比较麻烦,全套8.0资料分享地址如下:

链接:https://pan.baidu.com/s/1Z_hto6-WXMsr4Iu0uU3WCg?pwd=hcex
提取码:hcex

三、FusionCompute的部署

       1、基本环境的部署安装

           最小化安装一台Centos7.6,内存64G,CPU:20核,磁盘500G,两张千兆网卡。

           磁盘分区:/boot 2G;swap 16G;剩余全部分给/

           完成系统安装后,安装汉语言包 如不安装汉语言包,在汉语言环境下在virt-manager打开KVM控制台后,所有按钮会全部显示为问号+数字。

#1、查看当前语言环境
echo $LANG
#2、查看系统有没有安装中文语言包,终端输入 
locale 
#安装语言包
yum groupinstall "fonts"
#查看安装的汉语言包
locale -a |grep "zh_CN"
#修改语言环境
cp /etc/locale.conf /etc/locale.conf_bak
vim /etc/locale.conf
#屏蔽原来的英文
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
#立即生效配置文件
source /etc/locale.conf
#注意:不进行此步骤,在virt-manager打开KVM控制台后,所有按钮会全部显示为问号+数字

              关闭防火墙和SELINUX

systemctl disable firewalld.service   #永久关闭防火墙
systemctl stop firewalld.service      #关闭防火墙
systemctl status firewalld.service    #确认防火墙状态

               关闭SELINUX

##关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config   #永久生效,必须要重启。
##立即生效,不需要重启系统setenforce 0

        2、安装KVM

  •  确认是否支持硬件虚拟化(英特尔的 VT 扩展或者 AMD 的 AMD-V 扩展)
sudo LC_ALL=C lscpu | grep Virtualization	
#开启后正常输出如下:
Virtualization:        VT-x
Virtualization type:   full
  • 检查系统是否支持虚拟化 ,输出结果大于一,说明支持
egrep '(vmx|svm)' /proc/cpuinfo |wc -l  
  • 安装KVM和相关组件
#安装KVM
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v virt-install libguestfs-tools qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients mesa-libGLES-devel.x86_64 mesa-dri-drivers
#重启服务
systemctl restart libvirtd
  • 验证安装情况,查看KVM使用的模块
lsmod |grep kvm 
#正常情况下,查看kvm模块,会出现一下三行回显
[root@localhost ~]# lsmod |grep kvm
kvm_intel             188793  0
kvm                   653928  1 kvm_intel
irqbypass              13503  1 kvm
  • systemctl管理KVM 并设置开机自启 libvirt 守护进程
systemctl start libvirtd
systemctl enable libvirtd
  • 将当前登录用户加入 kvmlibvirt 用户组,以便能够创建和管理虚拟机
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
  • 打开系统的CPU虚拟化嵌套能力
#基于Intel的处理器
cat /sys/module/kvm_intel/parameters/nested
#基于AMD的处理器
cat /sys/module/kvm_amd/parameters/nested输出 N 表示嵌套虚拟化是禁用的, 输出Y 则表示在您的宿主机已启用嵌套虚拟化#未开启需要开启虚拟化嵌套能力,添加以下内容文件,执行以下命令cat > /etc/modprobe.d/kvm-nested.conf <<EOF
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
EOF#关闭所有的虚拟机,重新加载kvm_intel 模块,否则我们会得到像 “modprobe: FATAL: Module kvm_intel is in use” 这样的错误信息。
modprobe -r kvm_intel
modprobe -a kvm_intel#检测kmv模块和cpu信息
lsmod | grep kvm  
#检测CPU信息情况,
lscpu 

        4、建立实验网络环境

                此步骤,不关系本次实验拓扑的搭建

  • 备份网卡配置文件
cd /etc/sysconfig/network-scropts
cp -a ifcfg-ens33 ifcfg-ens33.bak
cp -a ifcfg-ens34 ifcfg-ens34.bak
  • 创建桥接网卡 br0-en34 ,创建一个br桥,将ens34物理网卡桥接至bro-ens34上,因为ens34网卡是dhcp获取IP地址的,桥接时enss34网卡IP地址会丢失,会引起创建桥接失败,通过ens34网卡的连接会断.使用systemctl restart network 也会报错。此处暂时不用管
#创建一个br桥,将ens34物理网卡桥接至bro-ens34上
virsh iface-bridge ens34 bro-en34 
#此处此次会报错,
使用附加设备bro-en34 创建桥 ens34失败 #暂时不用管,
因为ens34网卡是dhcp获取IP地址的,此时enss34网卡IP地址会丢失,通过ens34网卡的连接会断.所以会失败
使用systemctl restart network 也会报错 
  • 修改网卡配置
vim ifcfg-ens34
#添加以下内容
BOOTPROTO=dhcp
NM_CONTROLLED=no#正确网卡桥接后的全部配置如下
DEVICE="ens34"
BOOTPROTO=dhcp
ONBOOT="yes"
BRIDGE="bro-en34"
NM_CONTROLLED=no
  • 重启网络服务,查看网卡信息 ,重启网络服务后使用[ip a]命令查看网络信息,可看到bro-en33已经拿到了ens33的IP地址 。
systemctl restart network

        5、部署CNA和VRM

  • 打开KVM的管理界面,查看在当前汉语言环境下是否乱码,
virt-manager
  • 创建磁盘
#创建目录,上传镜像文件
mkdir -p /data/iso
#给CNA01和CNA02创建目录和300G的磁盘文件
mkdir -p /data/kvm/qcow/{CNA-01,CNA-02,VRM-1}
cd /data/kvm/qcow/CNA-01
qemu-img create -f qcow2 CNA-01.qcow2 300g
cd /data/kvm/qcow/CNA-02
qemu-img create -f qcow2 CNA-02.qcow2 300g
cd /data/kvm/qcow/CNA-02
qemu-img create -f qcow2 VRM-1.qcow2 300g
  • 创建虚拟机,开始安装,可以使用命令行或者图形界面进行操作,
virt-install --name CNA-01 --memory 32768 --vcpu sockets=2,cores=4,threads=2 --cpu host-model --disk path=/data/kvm/qcow/CNA-01/CNA-01.qcow2 --disk path=/data/iso/FusionCompute_CNA-8.0.0-X86_64.iso,device=cdrom --network bridge=bro-en34,model=e1000 --network bridge=virbr1,model=e1000 --noautoconsole --boot cdrom,menu=on#--vcpu sockets=2,cores=4,threads=2 解释:sockets=2代表2颗CPU,cores=4代表是4核心的CPU,threads=2代表每个核心允许超线程数为2
  • 问题:安装过程中提示BUG CPU锁定 【BUG: soft lockup - CPU#5 stuck for 23!】 一直会死循环在此处,解决办法如下。

此问题,推测是可能是VMware Workstation虚拟化出来网卡驱动和FusionCompute兼容存在问题,VMware Workstation14到最新的17版本全部试过,都会出现这个问题。修改watchlog_thresh只是避开一直卡住个问题,让安装能够往下走。但是安装过程中还是会报soft lockup - CPU#5 stuck for 23!这个错误,物理宿主机的CPU也还是会满载,。

#1.将 watchlog_thresh 临时设置为 30
sysctl -w kernel.watchdog_thresh=30
#2.将 watchlog_thresh 永久设置为 30
echo 30 > /proc/sys/kernel/watchdog_thresh
#3.将 watchlog_thresh 写入启动文件
echo kernel.watchdog_thresh=30 >> /etc/sysctl.conf

        6、VRM中创建集群,添加CNA主机踩的坑

  • 1、在CNA和VRM的界面,将标有*号的全部进行填写后,进行安装就行,很容易,唯一注意的是,对于密码复杂度,要求比较严格。在FusionCompute8.2的版本上,设置完密码后进行安装时还需要再次验证密码。
  • 2、安装后,没事尽量不要修改 “gandalf”  用户密码。
  • 3、在VMware Workstation中直接部署VRM和CNA,部署完成后,VRM点击登录按钮一次就会网络中断,VRM服务没问题,8433端口也能telnet能通,但是页面就是打不开。
  • 4、在VMware Workstation中部署KVM环境,在KVM环境嵌套部署VRM和CNA,部署完成后。VRM管理界面上添加CNA主机会出现连接性问题。
  • 5、在VMware Workstation中直接部署VRM,在KVM环境嵌套部署CNA,部署完成后。VRM管理界面上添加CNA主机还是会出现连接性问题。
  • 6、在KVM环境嵌套部署CNA,使用VRM安装工具进行VRM部署时,要么中途自己断掉,要么主机连接失败。
  • 7、我在自己攒的台式机上,直接安装Centos7.6部署KVM环境,再次安装CNA和VRM,部署完成后,VRM管理界面上添加CNA主机还是会出现连接性问题。
  • 8.0和8.2问题是一样的。6.5版本只尝试在KVM环境嵌套部署VRM和CNA,VRM点击登录按钮一次就会网络中断,8433端口telnet能通,页面打不开。

以上7点就是在部署时自己踩的一些坑,在这里做个记录,同时也提醒一下看见这篇文章的人,不要在去做无谓的尝试了。前面的步骤,只能拿来做安装练习。

解决办法:部署Proxmox VE,使用物理机直接部署Proxmox VE环境,把Proxmox VE作为VMM,在上面部署CNA,CNA需要有两张网卡,磁盘要大于250G。

完成CNA部署后,使用VRM部署工具,来部署VRM,部署完成后,CNA节点会自动添加进VRM的资源池中。

 实际的部署结构:

目录

一、FusionCompute的架构

二、FusionCompute的实验拓扑

三、FusionCompute的部署

       1、基本环境的部署安装

        2、安装KVM

        4、建立实验网络环境

        5、部署CNA和VRM

        6、VRM添加CNA主机踩的坑


这篇关于FusionCompute 8.0的部署练习过程和踩坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/176068

相关文章

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左