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

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、