-
VMware资源池上传镜像和HCS不一样,VMware需要在vSphere Client上操作,操作过程如下:1.登录OC面获取vSphere Client的URL、登录名1.1登录OC面点击->HiCloud Admin 选择对应的区域进入1.2进入HiCloud节点后点击VMware云服务器->点击计算https://162.***.11.4/用户名:adm***@v***re.local密码:******2.登录vSphere Client访问:https://*.*.*.*/点击:vSphere Client(HTML5)-部分功能,使用登录进入进入后:点击数据库的图标:选择一个数据库->点击文件->点击上传iso镜像注意:镜像要iso格式,上传上ISO文件后,用该文件创建一个虚拟机3.使用该镜像创建虚拟机4.创建镜像创建完虚拟机后点击虚拟机->右键->Clone->Clone to Template镜像创建完后查看5.同步镜像在HiCloud上点击“端点信息”->点击“双箭头的图标”->点击同步镜像的同步6.发布镜像在HiCloud上点击VMWare云服务->点击镜像->选择刚才的镜像进行编辑->将发布状态修改为已发布
-
#!/bin/bash# $0 -- vmoper.sh# Preparations for virtualizationvm_name=$1 # $1: vm nameiso_file=$2 # $2: iso filedownload_package(){# 安装软件包,kvm已经集成到openEuler,无需安装yum install -y qemu libvirt bridge-utils# 启动libvirtdsystemctl start libvirtd# 准备引导固件[ $(arch) == "aarch64" ] && yum install -y edk2-aarch64[ $(arch) == "x86_64" ] && yum install -y edk2-ovmf}# 创建目录、准备iso文件和虚拟机镜像文件pre_dir_file(){# 创建目录cur_dir=$(cd $(dirname $0);pwd)mkdir -p vms/ vms/iso vms/$vm_name# iso文件,预期文件路径:vms/iso/$iso_file[ -f "vms/iso/$iso_file" -o -f "$iso_file" ] || {echo "Not found iso file, you can put it in the same directory as the script."usageexit}[ -f $iso_file ] && mv $iso_file vms/iso/# 创建虚拟机镜像[ -f vms/$vm_name/${vm_name}-image.qcow2 ] || \qemu-img create -f qcow2 vms/${vm_name}/${vm_name}-image.qcow2 40G}usage(){echoecho "# 准备iso文件,下载iso到当前目录:"echo "wget https://repo.openeuler.org/openEuler-21.09/ISO/aarch64/openEuler-21.09-aarch64-dvd.iso --no-check-certificate"echoecho "# create a vm:"echo " virsh define <vm_name.xml>"echoecho "# start and conect to vm:"echo " virsh start <vm_name> ; virsh console <vm_name}"echo " maybe you want to use text mode install os, type 'e' when consoled to vm, delete line after ro, and type in 'inst.text'"echo "# reboot/shutdown/destroy/delete vm:"echo " virsh shutdown/destroy <vm_name>"echo "# delete:"echo " virsh undefine <vm_name> --nvram"echoecho "$0 <vm_name> <iso_file> # when "}setup_br0(){# 准备虚拟机网络ip address | grep -q br0 || returnip link add br0 type bridgeip addr add 172.28.0.1/16 dev br0ip link set dev br0 upbrctl setfd br0 2ip link add br0-nic type dummyip link set br0-nic master br0ip link set br0-nic multicast on arp ongrep -qsx "allow br0" /etc/qemu/bridge.conf ||echo "allow br0" >> /etc/qemu/bridge.conf}create_xml(){# 准备xml文件,注意修改规格、qcoW2文件、iso镜像文件cat > vms/$vm_name/${vm_name}.xml <<EOF<domain type='kvm'><name>${vm_name}</name><memory unit='GiB'>8</memory><vcpu>4</vcpu><os><type arch='aarch64' machine='virt'>hvm</type><loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader><nvram>/var/lib/libvirt/qemu/nvram/openEulerVM.fd</nvram></os><features><acpi/><gic version='3'/></features><cpu mode='host-passthrough'><topology sockets='2' cores='2' threads='1'/></cpu><iothreads>1</iothreads><clock offset='utc'/><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>restart</on_crash><devices><emulator>/usr/libexec/qemu-kvm</emulator><disk type='file' device='disk'><driver name='qemu' type='qcow2' iothread="1"/><source file="$cur_dir/vms/${vm_name}/${vm_name}-image.qcow2"/><target dev='vda' bus='virtio'/><boot order='1'/></disk><disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file="$cur_dir/vms/iso/$iso_file"/><readonly/><target dev='sdb' bus='scsi'/><boot order='2'/></disk><interface type='bridge'><source bridge='br0'/><model type='virtio'/></interface><console type='pty'/><video><model type='virtio'/></video><controller type='scsi' index='0' model='virtio-scsi'/><controller type='usb' model='ehci'/><input type='tablet' bus='usb'/><input type='keyboard' bus='usb'/><graphics type='vnc' listen='0.0.0.0' passwd='n8VfjbFK'/></devices><seclabel type='dynamic' model='dac' relabel='yes'/></domain>EOF}post_handle(){# 修改目录权限chown -R qemu:qemu vms/}create_vm(){virsh list --all | grep -q $vm_name || \virsh define vms/$vm_name/$vm_name.xmlvirsh list --allecho "# start and conect to vm:"echoecho " virsh start $vm_name ; virsh console $vm_name"echoecho "# maybe you want to use text mode install os"echo "# type 'e' when consoled to vm, delete line after ro, and type in 'inst.text'"}# 脚本需要两个参数[ $# -eq 2 ] || {usageexit}download_packagepre_dir_filesetup_br0create_xmlpost_handlecreate_vm# 配置防火墙(略)# 参考链接# https://docs.openeuler.org/zh/docs/21.09/docs/Virtualization/virtualization.html
-
下载正常的open-jdk1.8不成功,然后我就查看错误将这个地址复制出去还是不可访问,然后找到镜像操作按照此步骤执行后,还是不可以下载。最后看了配置文件,猜测不识别这几个变量vim /etc/yum.repos.d/CentOS-AppStream.repo
-
【问题描述】在安装集群前,对节点做preinstall,报如下错误:【问题原因】可能是由于操作系统版本过高导致,此问题多见于麒麟操作系统【解决方案】1、挂载系统镜像(方案里以镜像放在/opt目录下,镜像名称为rhel-server-6.8-x86_64-dvd.iso举例)mount /opt/rhel-server-6.8-x86_64-dvd.iso /media -o loop 2、配置本地yum源系统自带的Yum源在/etc/yum.repos.d文件夹内,我们通过rm命令将原文件删除建repo文件:vi /etc/yum.repos.d/local_yum.repo,然后将下面的内容复制进去[sr0]name=sr0baseurl=file:///media/enabled=1gpgcheck=0用:wq命令保存退出,执行yum repolist all3、手动安装不一致的包执行yum clean all 然后安装不一致的rpm包(可以一次性安装)yum install hesiod.arrch64(所有不一致的包可以一次性添加上)注:以上解决方案的步骤需在所有节点执行
-
Linux是开源的一种系统,开发者可以随心所欲的在里面进行研究和研发,本文主要介绍了如何从零开始制作一个linux iso镜像,具有一定的参考价值,感兴趣的可以了解一下一、前言 对于一个极简化的linux系统而言,只需要三个部分就能组成,它们分别是一个linux内核、一个根文件系统和引导。以下是本文制作linux iso镜像所用到的系统和软件: OS: ubuntu 20 软件: xorriso二、制作linux内核 1、首先需要去官网选择一个需要的版本下载下来,官网下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/ 2、利用tar将其解压,然后进入其目录中,然后配置内核,常见的配置有以下几种: a、make defconfig - 默认配置 b、make allyesconfig - 创建能选yes就选yes的配置 c、make allnoconfig - 创建能选no就选no的配置 d、make menuconfig - 基于ncurser的图形化界面配置 这里采用命令make defconfig使用默认的即可,如下图所示: 3、然后使用make bzImage命令编译出内核即可,如下图所示: 编译好的内核文件在arch文件夹相应的架构文件夹下面,如下图所示:三、制作根文件系统 1、我们这里利用busybox来制作一个根文件系统,busybox可以简单理解为一个linux工具的集合。首先还是下载busybox,官网下载地址:https://busybox.net/downloads/ 2、编译busybox与编译内核步骤基本一致,将下载好的压缩包进行解压,然后进入文件夹中,使用make defconfig配置默认编译选项,这里需要注意的是,在生成的.config配置文件中,需要设置CONFIG_STATIC=y,如果没有,添加即可,如下图所示: 3、然后使用make busybox install命令编译busybox,编译好后会在当前目录下面生产一个_install文件夹,如下图所示: 4、然后创建一个rootfs文件夹,并将_install文件夹下面除linuxxrc以外的所有文件及文件夹都拷贝到rootfs文件夹下面,最后创建dev等文件夹,最后在根目录下面创建init文件即可,文件内容如下图所示: 5、最后利用命令find . | cpio -R root:root -H newc -o | gzip > ../rootfs.gz将文件系统打包,至此,一个文件系统就创建完成了,如下图所示:四、BIOS 1、这里我们使用syslinux来创建bios引导的一个linux iso镜像,syslinux官方下载地址如下:https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/ 2、将下载好的syslinux解压,然后创建文件夹isobios,将解压后的syslinux文件夹下面的bios/core/isolinux.bin、bios/com32/elflink/ldlinux/ldlinux.c32复制到isobios文件夹下面,如下图所示: 3、在isobios文件夹下面创建配置文件isolinux.cfg,文件内容如下所示: 4、最后,在isobios文件夹下面使用命令xorriso -as mkisofs -o ../testbios.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./生成iso镜像文件,如下图所示: 5、使用虚拟机vmware创建一个虚拟机,如下图所示,便是我们创建的一个linux iso镜像跑起来的样子。五、UEFI 1、uefi这里采用system-boot和syslinux配合来制作,首先,创建两个文件夹isouefi和tmp,其中,isouefi用来挂载设备,tmp文件夹用来临时存放文件以计算大小,然后在tmp文件夹下面创建EFI/BOOT和loader/entries目录,接着,将解压后的systemboot下面的uefi_boot/EFI/BOOT/BOOTx64.EFI文件拷贝到tmp/EFI/BOOT目录下面,如下图所示: 2、接着,在tmp/loader目录下面,创建文件loader.conf配置文件,第一行表示默认配置是entries目录下那个文件,第二行设置默认超时时间;然后在entries文件夹下面创建相应的配置文件,这里是mll-x86_64.conf,文件内容和bios的差不多,不在单独细说,最后再将前面准备好的内核和文件系统拷贝到tmp目录下面,如下图所示: 3、此时就可以根据tmp文件夹的总大小创建一个相同大小的img文件了,这里的tmp是11M,为了稳妥起见,这里创建一个12M的img文件,命令为truncate -s 12M uefi.img,然后使用losetup -f命令寻找一个当前未使用的逻辑设备,然后使用losetup命令将我们前面创建的img文件虚拟成改逻辑设备,接着利用mkfs.vfat将该设备格式化成vfat系统,接着使用mount命令将其挂载到isouefi文件夹下面,最后将tmp文件夹下面所有文件及其文件夹拷贝到isouefi目录下面,如下图所示: 4、接着利用umount命令取消挂载,这样我们就得到一个包含内核、文件系统等的img文件,接着创建一个iso文件夹,并且在该文件夹下面将创建一个boot文件夹,然后将img复制到iso/boot下面,最后利用xorriso工具生成iso文件即可,如下图所示: 5、最后,新建一个虚拟机,引导选择uefi,启动即可,如下图所示:六、相关链接 github链接:https://github.com/windy-purple/make_linux_iso 转载自https://www.jb51.net/LINUXjishu/798229.html
-
昨天晚上用手机上的畅连打开华为镜像网页(https://mirrors.huaweicloud.com/home)的时候,发现并没有兼容手机展示,还是展示的PC端的样子.只是想问下,对于华为来说,把这网页做一个手机兼容很难吗?就算用手机打开这网址的人数不算很多,就不用做兼容了吗?
-
有机会接触到华为的容器镜像制作开发移植的项目,从开始的一头雾水到后来熟练制作,每一遍的相似操作中总会有新的发现,整体做下来最大的收获就是对linux系统底层的运作又有了更加深刻的理解,相比技术性的提高更重要的是相关的专业素养得到增加,以及知识面得到拓广,并且和华为的合作给我留下了很愉快的回忆。 其实大部分人都习惯了使用windows系统,界面化的设计极大地贴近人们的使用习惯,让大多数人都习惯甚至依赖该系统,可是作为计算机专业的学习者,对底层更加了解会极大地帮助我们今后的专业学习,了解linux系统并熟练地使用,会让计算机专业相关的学习效率事半功倍。即使我们学习的内容可能并不涉及底层的相关知识,但是这会使我们的专业素养得到极大地提高,并不是一个只学习了一些计算机语言的码农。 这个项目的本质是新的生态系统向实际应用转化的过程中,对实际应用的适应的探索,尝试把现有的项目移植到新的系统中,测试项目在这个系统中存在的问题并且进行修补,以求对这个新的生态系统进行完善。对很多数人来说生态系统这个词可能很熟悉,但是并不真的了解构建新的生态系统的意义以及背后的困难。经历了米国的制裁,我们认识了华为鸿蒙系统,自然也知道了自主掌握底层系统技术以及拥有自己的系统,对一个企业和国家来说是多大的底气。国家的崛起很大一部分是技术的崛起,华为作为国内屈指可数的大企业,很佩服高层决策者的眼光和魄力来构建自己的生态环境,我们作为热门专业的学习者,很幸运能和华为合作,来提高自己的专业技能,同时为国家的发展尽了一份力,期待未来自己可以做的更多。 我们只知道在linux系统中只需要一句安装指令就可安装软件,顺带解决它依赖的软件,甚至都不需要指定安装的位置以及不需要设置安装变量,但是我们从来没想过深层的原因。为什么一句命令就能安装呢?为什么又有些软件安装不了呢?在linux中有自己的软件源,当用户提出需求的时候,linux会在自己的软件源里查找匹配的软件,并根据软件文件中的要求,查找安装依赖的软件。所以我们能不能安装自己的需求修改或者补充软件源呢?当然可以。软件源其实就是存放在固定位置的文件,按照一定的格式,记录了软件下载的网址。新的系统建立和完善自己的软件源非常重要,我们的工作很大一部分也是完善软件源,查漏补缺。 本次的项目进行的非常顺利,和华为的合作非常愉快,在遇到问题的时候,华为方面的专家都会很及时的给出指导意见并解决问题。除了技术性相关知识的学习,如何进行团队的沟通合作,以及如何理解项目的明确要求来学习相关知识以完成项目,对我来说都是很珍贵的记忆,构建的和谐融洽的团队氛围是大学中弥足珍贵的记忆。 武汉理工大学 - 智能计算系统研究团队 - 胡雅冰,指导老师:柳星老师
-
这个项目的主要目的就是将github上一些比较优秀的开源软件包中基础镜像为centos,fedora的Dockerfile移植到openeuler上,使其能够在openEuler的基础镜像中 (包括x86和arm架构)成功构建容器镜像,以解决原有的dockerfile只能在centos、fedora等基础镜像上进行构建的限制问题,使其可以适配openeuler的环境。项目起步阶段,华为专家组织召开开工培训会议,为我们详细介绍了这个项目的需求、目的以及验收标准等具体的项目信息。会后根据我们团队的实际情况提供了服务器以及相关技术指导,让我们可以专注于项目本身的开发。项目初期经历一段摸索期,大家合力完成一个Dockerfile的移植,记录中间遇到的问题并讨论相应的解决办法,就这样慢慢地总结出了一套通用的移植流程。中期大家就开始各自负责不同的repo,虽然repo不同,但是移植过程中遇到的很多问题是共通的,首次碰到问题的同学会把问题和相应解决方法记录到团队的共享文档上,当其他同学也遇到相同问题时,就可以按照前一个同学的解决思路来处理,如此极大地提高工作效率。当遇到棘手的新问题时,大家也会聚在一起讨论,群策群力,集思广益,就能很快地找到解决办法,因此通过团队成员的通力合作使得项目可以顺利完成,甚至实现提前结题。通过这个项目不仅让我对linux环境开发更加熟练,比如docker、shell脚本等,更对linux的软件源有了更深的理解。之前在linux上安装软件或者配置环境都是按照网上博客进行操作的,成功后并不会去关注每一步的原理。在项目移植过程中遇到各种软件源/包等问题对此有了更加清晰的认识,每次使用yum install指令时,它都会去yum服务器上搜索相应软件包信息,然后下载rpm包安装。那如果服务器上没有某个rpm包,我们该怎么安装,centos上很多软件源在openeuler上是没有的,或许这也是众智计划扩展生态的其中一个目的,去丰富openeuler的软件源。这个问题我们可以通过在一些开源的软件源网站上寻找类似的包源进行替换,那如果在网上也没有找到相应的rpm包,我们又该如何做,是否可以根据软件源码从头开始一步步编译和构建,这也是众智计划的另一个内容,构建适配openeuler的主流软件的rpm包。这个项目作为华为鲲鹏众智计划的其中一环,是华为对于繁荣软件产业生态这一目标的具体实施举措。其实中国不缺少类似鸿蒙、openeuler、红旗等基础设施,也不缺少类似mindspore、openGuass等优秀软件框架,但缺少相应生态的开发者。目前中国很多技术依赖的都是国外的生态环境,一旦国外企业对我们实施封锁,很多软件就无法继续使用,比如前一段时间谷歌对于安卓框架的限制。所以鲲鹏众智计划面向高校师生、企业和个人开发者,以项目合作的方式来邀请广大开发者加入到鲲鹏生态建设中。其实很佩服华为公司能够有决心去构建国内自主的生态环境,摆脱国外企业对我们的技术垄断。我也十分荣幸能够参与到这一个项目中来,能够贡献一份力量。武汉理工大学 - 智能计算系统研究团队 - 张敏杰指导老师:柳星老师
-
【问题现象】Ecf部署 安装运维容器失败【分析过程】一般来说先导出安装的日志看下报错信息排查查看日志没有发现明显报错,登录master节点执行kubectl get pod -necf kubectl descibe pod -necf dwsmonitorTOOL-xxxxxx 发现是镜像没有拉起来 ,先看node到拉镜像的IP网是不是通的:看region node到拉镜像的ip通不通:ping xxxxxxxx (如果是通的可以尝试手动拉起镜像);如果ip不通,需要找底座部署的人看下网络问题:Global区的DMZ_Service平面需与每个Region的RegionLB(OM_ECMP_VIP平面)互通
-
问题现象: 扩容在23%时失败,裸机频被繁备拉起释放又重试问题版本: HCSO DWS 8.1.1.100问题分析:1.登录后台数据库获取报错任务,jobId,Select task.* from taskmgr_task as task left outer join taskmgr_job as job on job.job_id = task.job_id where job.request like '%{clusterName}%' order by job_id, task_index asc;2.根据jobID 查看日志,具体参考: cid:link_0发现有错误编码:BMS.3037;3.bms同事定位,获取镜像安装系统盘失败,所需系统盘大于当前裸机磁盘问题原因: 获取镜像安装系统盘失败,所需系统盘大于当前裸机磁盘解决方法: 修改镜像为老的镜像id,进行扩容 rds_cluster.imageid
-
CCE最佳实践-游戏容器化改造提供的镜像有问题,烦请尽快更新镜像,急求提供镜像的联系人
cjq-chenjingqian
发表于2022-01-19 17:40:27
2022-01-19 17:40:27
最后回复
cjq-chenjingqian
2022-01-19 17:40:27
2426 0 -
【问题来源】【必填】 星网 【问题简要】【必填】uap9600第三方录音【问题类别】【必填】uap9600【AICC解决方案版本】【必填】v1r5c00【期望解决时间】【选填】尽快【问题现象描述】【必填】 第三方录音软件需要抓取uap9600的网络包进行录音,需要镜像哪些网卡呢,设备组网是2个PG0+2个PG2四台服务器,每个服务器4张网卡 【日志或错误截图】【可选】
-
>摘要:说起GitOps,可能很多朋友马上会联想到DevOps,那么GitOps和DevOps之间有什么关系、又有什么区别呢?本文分享自华为云社区[《浅谈GitOps》](https://bbs.huaweicloud.com/blogs/314858?utm_source=csdn&utm_medium=bbs-ex&utm_campaign=paas&utm_content=content),作者: 敏捷的小智。 # GitOps与DevOps 说起GitOps,可能很多朋友马上会联想到DevOps,那么GitOps和DevOps之间有什么关系、又有什么区别呢? # DevOps是一种文化 DevOps包含了Development和Operations两个部分,是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 如今很多团队当中都在践行着DevOps文化,其中核心的一条理念就是“自动化一切可自动化的”。而GitOps,也正是基于这种理念下而诞生的一种持续交付方式。 # GitOps是一种持续交付方式 GitOps核心思想是将应用系统的声明性基础架构和应用程序存放在Git版本库中。 将Git作为交付流水线的核心,每个开发人员都可以提交拉取请求(Pull Request)并使用Git来加速和简化应用程序部署和运维任务。通过使用Git,开发人员可以更高效地将注意力集中在创建新功能而不是运维相关任务上(例如,应用系统安装、配置、迁移等)。 同时,GitOps还是一整套CI/CD流水线方案。 在GitOps中可以自由地为流水线的不同部分选择最佳工具。可以从开源生态系统中选择一组工具,也可以从封闭源中选择一组工具,或者根据使用情况,甚至可以将它们组合在一起。  不过目前业界已经有了不少端到端的DevOps平台,华为云DevCloud就可以一站式端到端地覆盖CI/CD全流程。让开发者不必再纠结于如何选择流水线中的不同部分。从项目管理、代码开发,到编译构建、部署发布、测试运维,软件开发的全生命周期都可以在华为云DevCloud上完成。  当然,也可以只使用华为云DevCloud中的个别服务与已有流水线进行拼接,搭建成新的CI/CD流水线。例如,在DevCloud中可以由代码托管服务CodeHub来作为本期主题GitOps中的Git仓库。 # GitOps 流水线 GitOps 基于拉模式构建交付流水线。在DevCloud中以GitOps的方式搭建的交付流水线,流程如下:  1、 源码存储于CodeHub,开发人员推送提交包含新功能的代码到代码仓库的对应分支中;代码审核通过后将被合并至对应分支。 2、 合并请求通过后会触发构建(CloudBuild)并进行测试,构建好的镜像将被推送至镜像仓库SWR中。 3、 GitOps检测到有新的镜像,会提取最新的镜像标记,然后同步到 Git 配置仓库(Config)的清单中。 4、 GitOps检测到集群状态过期,会从配置仓库(Config)中拉取更新后的清单,并将包含新功能的镜像通过CloudDeploy部署到集群(CCE)里。 对于不同环境而言,可以在Config仓中创建多个子目录或者子分支管理不同环境对应的多个集群,从而实现多环境的GitOps。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签