中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

LXD容器配置

注意配置事项

  • 使其他用户有perf采集权限。

    echo "-1">/proc/sys/kernel/perf_event_paranoid

    仅运行HPC应用分析任务和进程线程任务不需要执行此操作,但是echo后的参数不能为“3”,且需要在宿主机上进行更改。

  • 开启特权容器配置。

    lxc config set template security.privileged=true

    宿主机同目录的文件从nobody变为有权限;仅运行HPC应用分析任务和进程线程任务不需要执行此操作。

    开启特权容器时,会将所有内核功能赋予容器,容器可执行主机层面的大部分事件,可能会给系统带来安全风险,建议用户针对容器做好安全加固,且使用完容器后恢复配置。

    图1 开启权限
  • 修改容器配置,使/sys/kernel/debug下文件有访问权限,并使/proc/kcore文件可读。

    lxc config edit template

    图2 修改配置
    (base)root@hpc005:/var/snap/lxd/common/lxd/logs/ubuntu# ls  
     console.log forkexec.log forkstart.log lxc.conf lxc.log lxc.log.old

    修改配置后,查看/sys/kernel/debug下文件的访问权限。

    图3 权限示意

    仅运行HPC应用分析任务和进程线程任务不需要执行此操作,需要重新启动容器,lxc stop后再lxc start

  • 安装libunwind工具。

    由于libunwind是工具安装的必须包,目前CentOS源有问题,可临时通过手动的方式安装,复制libunwind到容器环境中,编译安装即可,此处使用1.5.0版本。

    tar -zxvf libunwind-1.5.0.tar.gz

    cd libunwind-1.5.0/

    ./configure --prefix=/usr/lib64/

    make && make install

网络环境配置-路由方式

该方式须宿主机和agent服务器在同一网段。

图4 查看网段

在需要访问的LXD容器的服务器上执行:route add -net 10.*.*.*/24 gw 90.*.*.*

图5 检验连通性

网络环境配置-桥接方式

以下宿主机为Ubuntu 20.04,LXD容器使用CentOS 8。

  1. 宿主机网络配置。
    1. 修改宿主机网络配置文件。

      vim /etc/netplan/00-installer-config.yaml

      图6 修改前
      图7 修改后
    2. 使配置生效。

      sudo netplan apply

      图8 查看网络配置
  2. lxd容器添加网卡。
    1. 绑定网卡

      sudo lxc network attach 宿主机网卡名 容器名称

      图9 查看容器网卡
    2. 重启容器。

      lxc restart 容器名

  3. LXD容器网络配置。
    1. 进入容器。

      lxc exec 容器名 /bin/bash

    2. 容器中修改对应网卡配置。

      vi /etc/sysconfig/network-scripts/ifcfg-eth1

      注意该地址为宿主机局域网上一个未使用的地址,且容器掩码和宿主机掩码需保持一致。

      图10 修改后文件
    3. 容器内重启网络。

      systemctl restart network.service

    4. 在宿主机查看地址。

      lxc list

      图11 查看网络地址