KAE在Docker中的使用
KAE支持在Docker中使用,使用前要求HostOS上已经建立Docker容器,且已经安装KAE,最后在HostOS上完成相关配置后方可使用。
加速器设备遵循PCIe规范,在操作系统内呈现为PCIe设备,并支持SR-IOV能力。每个加速器提供了1024个队列,单个PF默认使用256个队列,其余768个队列预留给VF使用。VF队列数量 = (1024-PF队列数量) / VF个数,余数队列会加到最后一个VF上。推荐一个PF虚拟化出8个VF数目。
在HostOS上进行虚拟化配置
- 查询HostOS环境中安装的加速器和对应的bdf号。
1
ls -al /sys/class/uacce
- 虚拟化加速器VF(以hisi_sec设备为例,各虚拟出3个VF,对应hisi_sec - 8 ~ hisi_sec - 13)。
1 2
echo 3 > /sys/devices/pci0000:74/0000:74:01.0/0000:76:00.0/sriov_numvfs echo 3 > /sys/devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/sriov_numvfs
- 启动Docker容器,并给容器分配加速器VF。
1
docker run -it -v /usr/:/usr/ --device=/dev/hisi_sec-8:/dev/hisi_sec-2:rwm -m 8192m --cpuset-cpus="4-7" 90b5058926a2 /bin/bash
- I:使Docker分配一个伪终端并绑定在容器的标准输入上。
- t:使容器的标准输入保持打开。
- v:使宿主机的目录挂载到镜像里,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
--device:指定容器使用宿主机的设备,冒号前为宿主机上创建的VF设备,冒号后为容器内目录,r,w,m使容器拥有对设备的读、写、创建设备文件的权限。
-m:限制容器使用最大内存数量。
--cpuset-cpus:指定容器在哪些CPU内核上运行。
90b5058926a2:为镜像id,也可换成镜像名,查看命令为:docker images。
/bin/bash:启动容器的bash。
父主题: KAE的应用