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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法