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

相关文章

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域