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

相关文章

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll