凯发k8国际娱乐官网入口-k8凯发> 镜像服务 ims> > > 如何设置镜像的网卡多队列属性?
更新时间:2023-04-24 gmt 08:00

如何设置镜像的网卡多队列属性?-凯发k8国际娱乐官网入口

操作场景

随着网络io的带宽不断提升,单核cpu处理网络中断存在瓶颈,不能完全满足网卡的需求,通过开启网卡多队列功能,您可以将弹性云服务器中的网卡中断分散给不同的cpu处理,以满足网卡的需求,从而提升网络pps和带宽性能。

网卡多队列支持列表

网卡多队列的支持情况和实例规格、虚拟化类型、镜像的操作系统有关,只有同时满足这些要求,云服务器才能开启网卡多队列功能。

  • 支持网卡多队列的实例规格请参见“”。

    网卡多队列数为大于1的值,表示支持网卡多队列。

  • 虚拟化类型必须为kvm,xen类型不支持网卡多队列。
  • 表2所列的linux公共镜像,支持网卡多队列。
    • linux操作系统弹性云服务器建议将操作系统内核版本升级至2.6.35及以上,否则不支持网卡多队列。

      建议您使用命令uname -r查询内核版本,如果低于2.6.35请联系凯发k8国际娱乐官网入口的技术支持升级内核。

表1 windows云服务器网卡多队列支持列表

类别

镜像

是否支持多队列

windows

windows server 2008 web r2 64bit

可通过私有镜像支持

windows server 2008 enterprise sp2 64bit

可通过私有镜像支持

windows server 2008 r2 standard/datacenter/enterprise 64bit

可通过私有镜像支持

windows server 2008 r2 enterprise 64bit_withgpudriver

可通过私有镜像支持

windows server 2012 r2 standard 64bit_withgpudriver

可通过私有镜像支持

windows server 2012 r2 standard/datacenter 64bit

可通过私有镜像支持

表2 linux云服务器网卡多队列支持列表

类别

镜像

是否支持多队列

是否默认开启多队列

linux

ubuntu 14.04/16.04 server 64bit

opensuse 42.2 64bit

suse enterprise 12 sp1/sp2 64bit

centos 6.8/6.9/7.0/7.1/7.2/7.3/7.4/7.5/7.6 64bit

debian 8.0.0/8.8.0/8.9.0/9.0.0 64bit

fedora 24/25 64bit

euleros 2.2 64bit

操作说明

假设以下场景所述的云服务器满足规格和虚拟化类型要求:

将外部镜像文件导入镜像服务控制台

将外部镜像文件导入镜像服务控制台,详细操作请参见“”。导入完成后,在镜像详情页查看“网卡多队列”参数取值。

为镜像添加网卡多队列标签

windows操作系统暂未商用支持网卡多队列,如果对windows操作系统镜像添加网卡多队列标签,开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。

用户可以选择以下任意一种方式设置镜像的网卡多队列属性。

方式1
  1. 登录ims控制台。
    1. 登录管理控制台。
    2. 选择“计算 > 镜像服务”。

      进入镜像服务页面。

  2. 单击“私有镜像”页签,在对应镜像所在行的“操作”列下,单击“修改”。
  3. 设置镜像的网卡多队列属性。
方式2
  1. 登录ims控制台。
    1. 登录管理控制台。
    2. 选择“计算 > 镜像服务”。

      进入镜像服务页面。

  2. 单击“私有镜像”页签,在镜像列表中,单击镜像名称,进入镜像详情页面。
  3. 单击右上角的“修改”,在弹出的“修改镜像”对话框中,设置镜像的网卡多队列属性。

方法3:通过api为镜像添加网卡多队列标签hw_vif_multiqueue_enabled

  1. 获取token的方法请参考“”。
  2. “更新镜像信息”的api使用方法请参考“”。
  3. 在请求消息头中增加“x-auth-token”。

    “x-auth-token”的取值为步骤1中获取的token。

  4. 在请求消息头中增加“content-type”。

    “content-type”取值为application/openstack-images-v2.1-json-patch

    请求的uri格式为:

    patch /v2/images/{image_id}

    请求的body体如下所示。
    [       
             { 
              "op":"add",
              "path":"/hw_vif_multiqueue_enabled", 
              "value": "true" 
             } 
     ]

    支持网卡多队列修改样例如图1所示。

    图1 支持网卡多队列修改样例

使用私有镜像创建云服务器

使用注册好的私有镜像创建云服务器,详细操作请参见“自定义购买弹性云服务器”。在配置参数时,需要注意以下两点:
  • 区域:必须选择私有镜像所在的区域。
  • 镜像:选择“私有镜像”,并在下拉列表中选择需要的镜像。

执行网卡多队列的配置脚本

windows操作系统暂未商用支持网卡多队列,如果对windows操作系统镜像添加网卡多队列标签,开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。

针对linux操作系统,镜像服务提供了自动开启网卡多队列功能的配置脚本。如果弹性云服务器有多张网卡,执行配置脚本后,所有网卡均会自动开启多队列。

  1. 登录弹性云服务器,查看网卡支持和已开启的队列数。

    ethtool -l 网卡

    示例:

    [root@localhost ~]# ethtool -l eth0   #查询网卡eth0的队列数
    channel parameters for eth0:
    pre-set maximums:
    rx:               0
    tx:               0
    other:            0
    combined:         4   #表示此网卡最多支持设置4个队列
    current hardware settings:
    rx:               0
    tx:               0
    other:            0
    combined:         1   #表示当前已开启的是1个队列

    如果返回信息中,两个“combined”字段取值相同,则表示网卡已开启多队列,无需执行以下操作。

  2. 执行以下命令,下载配置脚本“multi-queue-hw”。

    wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw

    其中,下载地址为:

  3. 执行以下命令,添加执行权限。

    chmod x multi-queue-hw

  4. 执行以下命令,将脚本“multi-queue-hw”放到目录/etc/init.d下。

    mv multi-queue-hw /etc/init.d

    如果出现如下提示信息,请输入“y”。

    mv: overwrite '/etc/init.d/multi-queue-hw'?
  5. 执行以下命令,运行脚本“multi-queue-hw”。

    /etc/init.d/multi-queue-hw start

    运行脚本后,立即生效。但关机弹性云服务器后,网卡多队列功能将自动失效。

  6. 为了使网卡多队列功能开机自动生效,各个os需要增加开机启动配置:
    • centos/red hat/fedora/euleros/suse/opensuse使用如下命令,增加开机启动项,使网卡多队列配置开机:

      chkconfig multi-queue-hw on

    • ubuntu使用如下命令,增加开机启动项:

      update-rc.d multi-queue-hw defaults 90 10

    • debian使用如下命令,增加开机启动项:

      systemctl enable multi-queue-hw

分享:

more

网站地图