• [问题求助] 在300I推理卡上启动算法容器如何指定device?
    目前有已经开发好的算法镜像,受算法中权限的限制,启动容器时需要使用特权模式,也就是docker run的时候要添加--privileged参数。当前的需求是要指定容器使用特定的device,我查阅文档的结果是使用-e ASCEND_VISIBLE_DEVICES=x,其中x是device id。我试用的结果是不使用特权模式时,此指令可以正常生效,使用特权模式的话,此指令就不生效了。由于必须要使用--privileged,那么在使用特权模式的基础上要如何指定算法容器使用某个device呢?注:在宿主机上是以root权限启动的镜像,个人测试结果为:受privileged参数影响,-e ASCEND_VISIBLE_DEVICES=x参数失效。
  • [开发环境] 【CodeLab】【CodeLab】开发环境有点老,有计划更新吗
    如果手工创建Notebook,可以看到镜像环境是比较新的,比如Pytorch 是1.4和1.8. 没有1.0 ![image.png](https://bbs-img.huaweicloud.com/blogs/img/20220630/1656541595234109350.png) 而在CodeLab里,pytorch是1.0 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/30/1656542323010800999.png) 包括镜像里的OS环境,前面是ubuntu18.04, 而CodeLab里是ubuntu16.04,CodeLab里也是比较老的。 太老的环境不利于开发者使用,所以请问一下是否有计划可以更新Codelab里的镜像环境呢?
  • [技术干货] 【Devcloud】npm构建之下载依赖报错篇
            大家好,沉寂了多日,我静下心来梳理高频报错,发现npm构建中的一个小问题屡屡映入眼帘,这个可恨的报错卡点,今天就让我们将他连精神带肉体统统扫进历史的大垃圾箱中!       首先我们看一下报错现象~:       npm ERR! notarget No matching version found for @vue/babel-preset-app@^4.5.19   日志显示,我们找不到这个依赖包,可是不科学啊,我的任务明明几个小时前还完全正常,并且我没有改动过任何代码,怎么会找不到呢?相信电视机前的小伙伴内心都会跟我产生同样的疑惑!下面我来为大家答疑解惑!以下是排查并解决问题的几个步骤~1.我们去浏览器里访问npm的官网:https://www.npmjs.com/,找到我们的当事人:@vue/babel-preset-app ~把这个组件名称输入进去如图:2.点击下图标红位置,查看该组件的版本发布历史,原来npm官网上4个小时前更新了这个包的版本!找到原因啦,因为直接从npm官网下载镜像会很慢,所以我们在华为云devcloud云端编译构建的时候,默认使用的是我们华为云的开源镜像站,以便于提高用户的构建速度!但是这个包官方刚刚才更新,我们的华为云镜像站还没有同步这个镜像。3.好的,既然原因我们已经找到了,那该如何解决呢?答:最快速简单的办法,就是把版本号往前移一位。换一个稍微旧点的版本,我们拿这个5.0.6的版本来代替。另外我们可以通过这种方式来查看我们华为云上当前提供的最新镜像版本:https://mirrors.huaweicloud.com/repository/npm/“组件名称”,比如这样:方法一:找到我们的代码仓库-package.json文件~ 进行如下修改:方法二:进入我们的编译构建任务-npm构建的命令行内增加这个命令:npm install @vue/babel-preset-app@5.0.64.执行构建查看结果,ok,构建成功~这类问题大家学会了嘛?小伙伴们,我们下期再见!
  • [技术干货] 【atlas200dk分设】【samples环境】【docker镜像】atlas200dk制作含sample运行环境dock镜像
    # 场景描述 altas 200dk RC ubuntu18.04 分设模式下 + 参考Ascend/samples v0.6.0+(不过目前环境指导没啥变化。之后版本应当也可以)开发c++和python应用 之前都是装在物理机上的,但是目前出现了docker的场景,但官方提供的镜像貌似有问题,且不包含python和C++环境,于是产生制作一个docker镜像的想法,搭建支持samples c++和python样例的环境,达到开箱即用,之前也没学过docker,现在正好学习一下。我这里的docker使用的都是root用户,望周知。 官方文档参考连接: https://support.huawei.com/enterprise/zh/doc/EDOC1100191942/f3364285 # 前置条件 1. 已经包含驱动和固件的一台atlas 200dk物理机(配置正常联网,apt镜像源)。 2. 已经在物理机正确的搭建一次samples的环境,样例测试无误,准备好第三方依赖包和driver包。主要是为了保证第三方依赖安装的没有问题,环境搭建中涉及到的编译的文件只需要拷贝和解压,节省时间。 3. 准备Ascend-cann-nnrt_5.0.3.1_linux-aarch64.run安装包 # 安装过程 ## 一. 安装docker>18.03 在物理机上 ```shell su root apt remove docker docker-engine docker-ce docker.io apt update apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt update apt install docker-ce systemctl status docker ``` 检查一下docker版本: ```shell docker -v ``` ## 二. 准备以下文件 >Ascend-cann-nnrt_5.0.3.1_linux-aarch64.run >Dockerfile >ascend_install.info >3rdenv.tar.gz >driver.tar.gz >install.sh >version.info 统一放置在同一目录。其中: 1. Ascend-cann-nnrt_5.0.3.1_linux-aarch64.run 不必多说 2. Dockerfile docker镜像制作操作文件,内容如下 ```Dockerfile #操作系统及版本号,根据实际修改 FROM ubuntu:18.04 #设置离线推理引擎包参数 ARG NNRT_PKG #设置环境变量 ARG ASCEND_BASE=/usr/local/Ascend ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ASCEND_BASE/nnrt/latest/lib64:/usr/lib64 ENV ASCEND_AICPU_PATH=$ASCEND_BASE/nnrt/latest #设置进入启动后的容器的目录,本示例以root用户运行为例,如果想使用非root用户运行,可将命令改为WORKDIR /home WORKDIR /root ENV DEBIAN_FRONTEND=noninteractive #拷贝离线推理引擎包c79_withruntime:0.6.0 COPY 3rdenv.tar.gz . COPY driver.tar.gz . COPY install.sh . #配置样例主要环境变量 ENV CPU_ARCH=aarch64 ENV THIRDPART_PATH=/root/Ascend/thirdpart/${CPU_ARCH} ENV INSTALL_DIR=$ASCEND_BASE/nnrt/latest ENV PYTHONPATH=${THIRDPART_PATH}/acllite:$PYTHONPATH ENV LD_LIBRARY_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}/lib:$LD_LIBRARY_PATH # 运行环境安装脚本 RUN sh install.sh && \ rm install.sh #创建驱动进程访问目录 RUN mkdir -p /usr/slog RUN mkdir -p /run/driver RUN mkdir -p /var/driver #修改目录权限(非root用户运行时需要修改) #RUN chown -R HwHiAiUser:HwHiAiUser /usr/slog/ #RUN chown -R HwHiAiUser:HwHiAiUser /var/driver/ #USER HwHiAiUser ``` 3. ascend_install.info 软件包安装日志文件,拷贝从host拷贝“/etc/ascend_install.info”文件。 4. 3rdenv.tar.gz对应安装样例环境时的Ascend/thirdpart,不过为了不进行移动操作,我在外面套了一个Ascend文件然后压缩,这样镜像制作过程中解压就完成了环境的安装。 5. driver.tar.gz 对应安装样例时的${INSTALL_DIR}/driver/,这里镜像制作过程中解压后到${INSTALL_DIR}/driver/就完成安装 6. install.sh为安装样例环境的主要shell命令操作,安装样例环境的主要环境变量配置操作,我放到了Dockerfile中 主要内容如下: ```shell #!/bin/bash echo ". /usr/local/Ascend/nnrt/set_env.sh" >> ~/.bashrc echo "export ASCEND_GLOBAL_EVENT_ENABLE=0" >> ~/.bashrc source ~/.bashrc apt update # v0.6.0 sample c++ ENV cd /root tar xvf 3rdenv.tar.gz rm 3rdenv.tar.gz mkdir -p ${INSTALL_DIR}/driver tar xvf driver.tar.gz -C ${INSTALL_DIR}/driver apt-get install libopencv-dev python3.6 python3-pip -y python3.6 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # v0.6.0 sample python ENV python3.6 -m pip install Cython numpy tornado==5.1.0 protobuf apt-get install python3-opencv -y apt-get install -y libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev apt-get install pkg-config libxcb-shm0-dev libxcb-xfixes0-dev -y python3.6 -m pip install av==6.2.0 apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk -y python3.6 -m pip install Pillow ``` 7. version.info是驱动版本文件,从host拷贝"/var/davinci/driver/version.info"文件。 ## 三 开始构建 ```shell su root chmod 600 Dockerfile chmod 600 install.sh docker build -t 镜像名称:tag号 --build-arg NNRT_PKG=nnrt软件包名称 . ``` 镜像名称:tag号 镜像名称与标签,用户可自行设置。 --build-arg 指定dockerfile文件内的参数。 NNRT_PKG=软件包名称 举个例子 ```shell docker build -t nnrt5.0.3_sample0.6:0.1 --build-arg NNRT_PKG=Ascend-cann-nnrt_5.0.3.1_linux-aarch64.run . ``` 中间会持续一段时间,耐心等待即可 当出现“Successfully built xxx”表示镜像构建成功。 然后我们可以查看一下image信息 ```shell docker images ``` ## 创建容器实例 执行下列操作,不过中间的镜像和tag号要对应修改 ```shell docker run -it --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/svm0 --device=/dev/log_drv --device=/dev/event_sched --device=/dev/upgrade --device=/dev/hi_dvpp --device=/dev/memory_bandwidth --device=/dev/ts_aisle -v /usr/local/Ascend/driver/tools:/usr/local/Ascend/driver/tools -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi -v /var/hdc_ppc:/var/hdc_ppc -v /etc/hdcBasic.cfg:/etc/hdcBasic.cfg -v /etc/rc.local:/etc/rc.local -v /sys:/sys -v /usr/bin/sudo:/usr/bin/sudo -v /usr/lib/sudo/:/usr/lib/sudo/ -v /etc/sudoers:/etc/sudoers/ -v /etc/sys_version.conf:/etc/sys_version.conf 镜像名称:tag号 /bin/bash -c "/usr/local/Ascend/driver/tools/minirc_container_prepare.sh;/bin/bash" ``` 进入后 我们用vgg测试,和C++样例测试一下。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/29/1656476154768639828.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/29/1656476221824715775.png)
  • [其他] 从0到1制作自定义镜像并创建训练作业(CPU/GPU)
    使用自定义镜像创建训练作业时,需要您熟悉 docker 软件的使用,并具备一定的开发经验。详细步骤如下所示:准备工作制作自定义镜像上传镜像至SWR服务创建训练作业准备工作已注册华为云账号,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。当前账号已完成访问授权的配置。如未完成,请参考使用委托授权。针对之前使用访问密钥授权的用户,建议清空授权,然后使用委托进行授权。已在OBS服务中创建桶和文件夹,用于存放样例数据集以及训练代码。如下示例中,请创建命名为“test-modelarts”的桶,并创建如表1所示的文件夹。创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。训练脚本 pytorch-verification.py 文件,请上传至对应文件夹下。pytorch-verification.py 文件内容如下import torch import torch.nn as nn x = torch.randn(5, 3) print(x) available_dev = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") y = torch.randn(5, 3).to(available_dev) print(y)制作自定义镜像目标:构建安装好如下软件的容器镜像,并使用ModelArts训练服务运行。ubuntu-18.04cuda-10.2python-3.7.13pytorch-1.8.1本示例使用Dockerfile文件定制自定义镜像。以linux x86_x64架构的主机为例,您可以购买相同规格的ECS或者应用本地已有的主机进行自定义镜像的制作。安装Docker。以linux x86_64架构的操作系统为例,获取Docker安装包。您可以使用以下指令安装Docker。curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh         如果docker images命令可以执行成功,表示Docker已安装,此步骤可跳过。2.准备名为 context 的文件夹。mkdir -p context3.准备可用的pip源文件pip.conf 。本示例使用华为开源镜像站提供的 pip 源,其 pip.conf 文件内容如下。[global] index-url = https://repo.huaweicloud.com/repository/pypi/simple trusted-host = repo.huaweicloud.com timeout = 1204.下载 torch*.whl 文件。在网站 https://download.pytorch.org/whl/torch_stable.html 搜索并下载如下 whl文件。torch-1.8.1+cu102-cp37-cp37m-linux_x86_64.whltorchaudio-0.8.1-cp37-cp37m-linux_x86_64.whltorchvision-0.9.1+cu102-cp37-cp37m-linux_x86_64.whl5.下载 Miniconda3 安装文件。使用地址https://repo.anaconda.com/miniconda/Miniconda3-py37_4.12.0-Linux-x86_64.sh, 下载 Miniconda3 py37 4.12.0 安装文件(对应 python 3.7.13)。6.将上述pip源文件、torch*.whl 文件、 Miniconda3 安装文件放置在 context 文件夹内,context 文件夹内容如下。context ├── Miniconda3-py37_4.12.0-Linux-x86_64.sh ├── pip.conf ├── torch-1.8.1+cu102-cp37-cp37m-linux_x86_64.whl ├── torchaudio-0.8.1-cp37-cp37m-linux_x86_64.whl └── torchvision-0.9.1+cu102-cp37-cp37m-linux_x86_64.whl7.编写容器镜像 Dockerfile 文件。在 context 文件夹内新建名为 Dockerfile 的空文件,并将下述内容写入其中。# 容器镜像构建主机需要连通公网 # 基础容器镜像, https://github.com/NVIDIA/nvidia-docker/wiki/CUDA # # https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds # require Docker Engine >= 17.05 # # builder stage FROM nvidia/cuda:10.2-runtime-ubuntu18.04 AS builder # 基础容器镜像的默认用户已经是 root # USER root # 使用华为开源镜像站提供的 pypi 配置 RUN mkdir -p /root/.pip/ COPY pip.conf /root/.pip/pip.conf # 拷贝待安装文件到基础容器镜像中的 /tmp 目录 COPY Miniconda3-py37_4.12.0-Linux-x86_64.sh /tmp COPY torch-1.8.1+cu102-cp37-cp37m-linux_x86_64.whl /tmp COPY torchvision-0.9.1+cu102-cp37-cp37m-linux_x86_64.whl /tmp COPY torchaudio-0.8.1-cp37-cp37m-linux_x86_64.whl /tmp # https://conda.io/projects/conda/en/latest/user-guide/install/linux.html#installing-on-linux # 安装 Miniconda3 到基础容器镜像的 /home/ma-user/miniconda3 目录中 RUN bash /tmp/Miniconda3-py37_4.12.0-Linux-x86_64.sh -b -p /home/ma-user/miniconda3 # 使用 Miniconda3 默认 python 环境 (即 /home/ma-user/miniconda3/bin/pip) 安装 torch*.whl RUN cd /tmp && \ /home/ma-user/miniconda3/bin/pip install --no-cache-dir \ /tmp/torch-1.8.1+cu102-cp37-cp37m-linux_x86_64.whl \ /tmp/torchvision-0.9.1+cu102-cp37-cp37m-linux_x86_64.whl \ /tmp/torchaudio-0.8.1-cp37-cp37m-linux_x86_64.whl # 构建最终容器镜像 FROM nvidia/cuda:10.2-runtime-ubuntu18.04 # 安装 vim / curl 工具(依然使用华为开源镜像站) RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak && \ sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list && \ sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list && \ apt-get update && \ apt-get install -y vim curl && \ apt-get clean && \ mv /etc/apt/sources.list.bak /etc/apt/sources.list # 增加 ma-user 用户 (uid = 1000, gid = 100) # 注意到基础容器镜像已存在 gid = 100 的组,因此 ma-user 用户可直接使用 RUN useradd -m -d /home/ma-user -s /bin/bash -g 100 -u 1000 ma-user # 从上述 builder stage 中拷贝 /home/ma-user/miniconda3 目录到当前容器镜像的同名目录 COPY --chown=ma-user:100 --from=builder /home/ma-user/miniconda3 /home/ma-user/miniconda3 # 设置容器镜像预置环境变量 # 请务必设置 PYTHONUNBUFFERED=1, 以免日志丢失 ENV PATH=$PATH:/home/ma-user/miniconda3/bin \ PYTHONUNBUFFERED=1 # 设置容器镜像默认用户与工作目录 USER ma-user WORKDIR /home/ma-user确认已创建完成Dockerfile文件。此时 context 文件夹内容如下。context ├── Dockerfile ├── Miniconda3-py37_4.12.0-Linux-x86_64.sh ├── pip.conf ├── torch-1.8.1+cu102-cp37-cp37m-linux_x86_64.whl ├── torchaudio-0.8.1-cp37-cp37m-linux_x86_64.whl └── torchvision-0.9.1+cu102-cp37-cp37m-linux_x86_64.whl9.确认 Docker Engine 版本。执行如下命令。docker version | grep -A 1 Engine以 Docker Engine 18.09.0 版本为例,上述命令回显示意如下。10.构建容器镜像。在 Dockerfile 文件所在的目录执行如下命令构建容器镜像 pytorch:1.8.1-cuda10.2# 要求 Docker Engine 版本 >= 17.05 docker build . -t pytorch:1.8.1-cuda10.2上传镜像至SWR服务登录容器镜像服务控制台,选择区域。图1 容器镜像服务控制台单击右上角“创建组织”,输入组织名称完成组织创建。您可以自定义组织名称,本示例使用“deep-learning”。图2 创建组织单击右上角“登录指令”,获取登录访问指令。图3 登录指令以root用户登录本地环境,输入登录访问指令。上传镜像至容器镜像服务镜像仓库。使用docker tag命令给上传镜像打标签。sudo docker tag pytorch:1.8.1-cuda10.2 swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:1.8.1-cuda10.2使用docker push命令上传镜像。sudo docker push swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:1.8.1-cuda10.2完成镜像上传后,在“容器镜像服务控制台>我的镜像”页面可查看已上传的自定义镜像。“swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:1.8.1-cuda10.2”即为此自定义镜像的“SWR_URL”。创建训练作业登录ModelArts管理控制台,在左侧导航栏中选择“训练管理 > 训练作业 New”,默认进入“训练作业”列表。在“创建训练作业”页面,填写相关参数信息,然后单击“下一步”。创建方式:选择“自定义算法”镜像来源:选择“自定义”镜像地址:“swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:1.8.1-cuda10.2”代码目录:设置为OBS中存放启动脚本文件的目录,例如:“obs://test-modelarts/deep-learning/pytorch/code/”启动命令:“/home/ma-user/miniconda3/bin/python ${MA_JOB_DIR}/code/pytorch-verification.py”资源池:选择公共资源池类型:选择GPU或者CPU规格。永久保存日志:打开作业日志路径:设置为OBS中存放训练日志的路径。例如:“obs://test-modelarts/deep-learning/pytorch/log/”在“规格确认”页面,确认训练作业的参数信息,确认无误后单击“提交”。训练作业创建完成后,后台将自动完成容器镜像下载、代码目录下载、执行启动命令等动作。训练作业一般需要运行一段时间,根据您的训练业务逻辑和选择的资源不同,训练时间将耗时几十分钟到几小时不等。训练作业执行成功后,日志信息如下所示。图4 GPU 规格运行日志信息图5 CPU 规格运行日志信息至此,从0到1制作自定义镜像并创建训练作业(CPU/GPU)整个流程结束
  • [环境搭建] 【FI8.1.2】【华为云镜像库】黄区下载华为云镜像库中依赖包,有时候可以,有时候不行
    【功能模块】maven仓,加华为云镜像,下载华为云依赖包【操作步骤&问题现象】1、pom文件中加https://repo1.maven.org/maven2/https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/ 【截图信息】一开始正常下载依赖包,最近不能下载【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【atlas200】【docker镜像】】镜像设备加载错误
    参考 [ascend_hub docker镜像仓](https://ascendhub.huawei.com/#/detail/ascend-infer) 使用其中的5.0.3 + ubuntu 18.04 docker镜像 根据镜像概述进行操作,最后启动容器 ```shell docker run -it -e ASCEND_VISIBLE_DEVICES=0 3046e9e0aab5 /bin/bash ``` 进入后检查/usr/local/Ascend存在nnrt相关文件,检查env,后进行gitee/sample v6.0 cpp环境和python环境安装,并进行相关样例测试 无法找到libascend_hal.so slog c_sec等库 前者在环境变量中加入 /usr/local/Ascend/nnrt/5.0.3.1/arm64-linux/aarch64-linux/devlib/ 解决 后者从物理环境中docker cp相关驱动文件后,解决。 但之后运行出现设备加载错误: ```log >>> import acl [ERROR] DRV(26,python3):2022-06-27-18:48:25.112.126 [devdrv_manager.c:160][devmng] [devdrv_open_device_manager 160] open device manager fail,name=/dev/davinci_manager,ret_fd=-1,old_fd=-1,err=2. [ERROR] DRV(26,python3):2022-06-27-18:48:25.112.821 [devdrv_info.c:1098][devmng] [dmanage_get_container_flag 1098] open davinci manager failed. [ERROR] DRV(26,python3):2022-06-27-18:48:25.112.898 [devdrv_manager.c:2215][devmng] [drvManagerInit 2215] get container flag failed. [ERROR] DRV(26,python3):2022-06-27-18:48:37.114.024 [hdc_core.c:389][hdc] [hdcPcieInit 389] HDC init fail, driver may not load. ``` 启动镜像没有检查npu-smi,检查一下npu-smi,也出现上述错误 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/28/1656384630654554242.png) 而镜像描述中: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/28/1656384723747950907.png) 能否帮忙分析问题所在
  • [技术干货] 虚拟机创建与qcow2镜像导入
    #安装依赖yum -y install *libvirt* *qemu* *spice* edk2-devel gnutls-devel ibvirt-daemon-kvm.x86_64 iperf3 libcap-ng-devel numactl numactl-devel openssl openssl-devel python2-paramiko qemu-guest-agent qemu-kvm qemu-kvm-tools spice-server traceroute virt-install virt-manager virt-viewer xorg-x11-drv-qxl#重编qemutar -xf qemu-4.2.1.tar.bz2cd qemu-4.2.1/export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfigvi configure #将nopie替换为no-pie./configure --prefix=/usr/local/qemu --enable-debug --enable-vnc --enable-kvm  --enable-spice  --enable-gnutlsmake && make installln -s /usr/local/qemu/bin/qemu-system-x86_64 /usr/bin/qemu-kvmln -s /usr/local/qemu/bin/qemu-system-x86_64  /usr/libexec/qemu-kvm#镜像导入virt-install --name VM01 --ram 8192 --vcpus=8 --disk path=/path/to/xxx.qcow2  --force --import --autostartvirsh listvirsh console VM01
  • [问题求助] 【atlas200dk】dd镜像后设备无法启动
    你好,本来我用SD卡1时,板子可以正常启动,为了备份我现在的系统状态,我根据https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=139685&ordertype=2&page=1贴子中的方法,将SD卡1制作了镜像。为测试我制作的镜像是否可用,我用Etcher将镜像烧录到了SD卡2,然后将SD卡2插到开发板上,系统启动失败,只亮3559的LED1和LED2两个灯。然后我将SD卡换回SD卡1时,发现还是启动失败,也是只亮LED1和LED2两个灯。请问这是怎么回事,我未对SD卡1进行过任何改动,它本来是好用的
  • [安装] 【MindSpore】【安装】镜像内安装1.7.0版本,执行check报错,错误码507033
    环境:Ubuntu18.04镜像MindSpore版本:1.7.0配套驱动版本:执行check报错:plog报错内容:
  • [Atlas500] 【A500】【Webui 部署镜像】 容器运行异常
    【功能模块】webui界面部署基础镜像【操作步骤&问题现象】1、添加服务实例2、启动服务实例3、出现容器运行异常【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [经验案例] A500 webui 容器部署失败
    在web ui中部署镜像,镜像能够成功部署,但是始终不能运行,更换多个基础镜像都是如此
  • [问题求助] 【华为云产品】【镜像源升级问题】镜像更新源全部不可用----技术支持在混饭吃吗!
    【功能模块】DEBIAN/CENTOS等 镜像的源更新全部无法使用【操作步骤&问题现象】1、debian10 apt-get update报 404 错误2、CentOS 7.6 yum update 报错【截图信息】【日志信息】(可选,上传日志内容或者附件) debian源换了中科大的解决问题,centos源换了阿里源解决问题,DEBIAN 源的帮助里面,用户在 2020 年的留言到现在都不解决,请问这是你们做好云产品的初心和决心吗?
  • [技术干货] barbor的编译安装
    操作系统centos7.6cpu :arm64服务器:taishan200 生成证书:创建根证书在/home/lai/certification目录下生成证书## 创建CA私钥openssl genrsa -out ca.key 2048## 制作CA公钥openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj /C=CN/ST=BJ/L=BeiJing/O=BTC/OU=MOST/CN=zhang/emailAddress=ca@test.com  证书签发## 创建私钥openssl genrsa -out httpd.key 1024## 生成签发请求openssl req -new -key httpd.key -out httpd.csr -subj "/C=CN/ST=BJ/L=BeiJing/O=BTC/OU=OPS/CN=zhang/emailAddress=zhang@test.com"## 使用CA证书进行签发openssl x509 -req -sha256 -in httpd.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 36500 -out httpd.crt## 验证签发证书是否有效openssl verify -CAfile ca.crt httpd.crt生成结果如下图:证书的签发参考:4.1 Docker-ce 安装安装指定版本的方法是:软件名称-版本.软件后缀,如下:# yum install docker-ce-3:19.03.8-3.el7.aarch64步骤 5 启动 Docker。# systemctl start docker步骤 6 Docker 自启动# systemctl enable docker 安装docker-compose参考:https://support.huaweicloud.com/prtg-kunpengmm/dockercompose_01_0001.html把生成的可执行文件docker-compose-Linux-aarch64  复制到/usr/bin/中并且修改命名为:docker-compose。因为安装harbor的脚本会根据docker-compose来判断是否已经安装docker-compose。make install GOBUILDIMAGE=golang:1.12.12 VERSIONTAG=v1.10.2 PKGVERSIONTAG=v1.10.2 UIVERSIONTAG=v1.10.2 BASEIMAGETAG=v1.10.24.3 Harbor 安装步骤 1 Harbor 源码下载解压。# wget https://github.com/goharbor/harbor/archive/v1.10.2.tar.gz # tar –zxvf v1.10.2.tar.gz # cd harbor-1.10.2步骤 2 编辑 Makefile 文件,启动编译组件功能。# vi Makefile ... 82 BUILDBIN=true ...99 REGISTRYVERSION=v2.7.1步骤 3 编辑 harbor.yml 文件。修改 hostname 和 https 配置,本文档屏蔽了 https 的使用,如需使用 https,请生成证书 并配置到对应路径下。# vi make/harbor.yml           需要修改harbor.yml文件中hostname为自己的主机名 步骤 4 编辑文件,将 X86 的源镜像修改为 arm64 的镜像。1.修改make/photon文件夹下各个模块的Dockerfile中的photon:2.0为photon:3.0由于这几个模块的Dockerfile都是基于photon2.0的镜像,而photon2.0不支持arm64,执行过程中会出现如下photonde 库列表匹配不到linux/arm64的报错而photon3.0已经支持arm64,所以需要提前将这些Dockerfile中的photon:2.0改为photon:3.0如下命令:# find ./ -type f|grep "Dockerfile$"|grep -v "\.D"|xargs sed -i "s#photon:2.0#photon:3.0#g"# sed -i "s/goharbor/liar/g" ./make/photon/log/Dockerfile # find ./make/photon -type f|grep "Dockerfile$"|grep -v "\.D"|xargs sed -i "s/goharbor/glongzh/g"步骤 5 拉取 golang 1.12.12 官网镜像。# docker pull golang:1.12.12步骤 6 编译、安装和启动 harbor 服务。(如果因为网络原因导致断开安装失败请多次执行这条语句。)#make install GOBUILDIMAGE=golang:1.12.12 VERSIONTAG=v1.10.2 PKGVERSIONTAG=v1.10.2 UIVERSIONTAG=v1.10.2 BASEIMAGETAG=v1.10.2编译成功:更多参考:https://ic-openlabs.huawei.com/chat/download/Harbor%201.10.2%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%AF%BC%E4%B9%A6-CentOS%207.6.pdf浏览器访问:http://IP地址,使用用户 admin/Harbor12345 登录验证但是仓库还不能使用,因为证书是自己签发的,docker还没有信用,故要执行如下操作,把上面创建签发的证书cp到/etc/docker目录下问题2:再次访问报如下错误 mkdir /etc/docker/cert.dcp /home/lai/certificate/ca.crt /etc/docker/cert.d/cp /home/lai/certificate/httpd.crt /etc/docker/cert.d/  在/etc/docker/daemon.json添加多如下内容。{"insecure-registries": ["10.10.18.88"]}重启dockersystemctl restart docker重新登录:harbor镜像的启动和重启进入到harbor编译的make目录下docker-compose downdocker-compose up –d 
  • [已解决问题归档] 操作系统是否能安装suse12 sp2原版镜像
    【问题来源】【必填】    【可选问题来源:某地12345新建AICC项目】【问题简要】:AICC系统能否安装suse12 sp2原版镜像【问题类别】    【可选问题分类:AICC平台】【AICC解决方案版本】【必填】    【AICC可选择版本:AICC 8.15.0】    【UAP可选择版本:UAP9600 V100R005C00SPC018】    【CTI可选择版本:ICD V300R008C23】【期望解决时间】越快越好【问题现象描述】【必填】         某地12345需要新建一套AICC系统,采用入驻式模式,虚拟化安装人员告知不能安装定制化suse12 只能安装原版的suse12 sp2版本,对AICC是否有影响?