借**生蛋,使用fnos的openvswitch打通dockerPVE网络

发表于:2025-1-21 19:20:43 技术整活 340

<br /> <br />

前言

本次fnOS更新了OVS相关的支持,于是乎docker PVE的网桥就有着落了 免费的ovs网桥不用白不用 (这里配一张更新的图) 之前已经写过docker PVE相关的文章,本次就这飞牛OS的更新同步修正一下 由于之前为适配前期,故此文章会有一些谬误,如果操作与本文冲突请以本文为准

之前飞牛相关的docker PVE文章

在飞牛私有云fnOS公测版中使用docker跑PVE

在docker PVE中使用nVidia vGPU

开启ovs

在不同版本的fnOS中,有不同的开启方法,请根据你的版本选择合适的方法

fnos 0.8.35

这个版本飞牛官方很听劝,虽然之前说只有虚拟机应用才会用到ovs不需要单独的入口 但还是很听劝的加上了不用虚拟机应用就能开启的途径 打开系统设置,点击左边的网络设置 随后点击网口右侧的三个点,在展开的下拉菜单中,点击启用ovs

20250118182710.png

fnos 0.8.31

该版本未进行发布,删去这一小节

部署docker-compose

yaml文件

这个是yaml文件,需要进行修改的部分在本节会说明

services:
  pve:
    image: makedie/proxmox_ve:8.3.2
    container_name: pve-8.3.2
    tty: true
    environment:
      root_password: "root"
      port: 9527
    devices:
      - /dev/dri
      - /dev/fuse
      - /dev/kvm
      - /dev/nvidia0
      - /dev/nvidiactl
      - /dev/nvidia-uvm
      - /dev/nvidia-uvm-tools
      - /dev/nvidia-vgpu1
    cap_add:
      - NET_ADMIN
    network_mode: host
    volumes:
      - /sys/fs/fuse:/sys/fs/fuse
      - /dev/vfio:/dev/vfio
      - /var/run/openvswitch:/host/var/run/openvswitch
      - /vol1/1000/pve/pve-cluster:/var/lib/pve-cluster
      - /vol1/1000/pve/vz:/var/lib/vz
    tmpfs:
      - /tmp
      - /var/run
      - /var/cache
      - /run/lock
    extra_hosts:
      - "shop.maurer-it.com:127.0.0.1"
      - "pve:175.45.176.54"
    hostname: pve
    stop_grace_period: 2m
    privileged: true

指定PVE端口

由于fnOS官方应用会使用8006端口,因此需要做出避让 如下所示,本compose会使用9527替代之 如果你有其他需要可以自行修改该端口为其他数值

environment:
      port: 9527

修改持久化存储位置

如图所示,我在存储空间1创建了一个pve文件夹 并建立了两个子文件夹 分别是虚拟机配置,以及虚拟机磁盘、ISO镜像等 你需要根据你的实际情况修改此处 后续你在dockerPVE的虚拟机会持久化固定在这里 当然你也可以自行映射其他文件夹,并在dockerPVE内配置目录存储

volumes:
      - /vol1/1000/pve/pve-cluster:/var/lib/pve-cluster
      - /vol1/1000/pve/vz:/var/lib/vz

20250102234257.png

指定PVE使用的IP

如图所示,我访问fnos的IP是175.45.176.54 你需要将docker-compose的IP自行更换成你访问fnOS的IP

extra_hosts:
      - "pve:175.45.176.54"

20250102234335.png

启动docker PVE

如果compose文件无误,你就可以启动compose的构建了 耐心等待几分钟,docker PVE会自行启动 如果docker拉取失败,请检查你的网络是否能正常连接国际互联网 20250102234510.png

等待几分钟后,待docker容器成功运行起来 观察到日志的端口为8006,但因为避让飞牛官方应用,我们修改了端口 观察docker配置,我们使用的是9527端口,因此也需要用这个端口访问 20250102234741.png

使用docker PVE

正常使用 https://175.45.176.54:9527 访问即可

观察生效的ovs-bridge

如正常的PVE后台一样,点击节点后,观察系统下的网络 注意是否有OVS Bridge类别的网桥,且状态必须是运行中的 20250102235029.png 如果没有,那说明操作有误,需重新检查前面的操作

使用ovs-bridge创建虚拟机

与正常PVE创建虚拟机一致,但网络处选择桥接接口时,应选取运行中的ovs网桥 20250102235158.png

启动虚拟机

正常开启虚拟机,并使用命令观察即可看见,虚拟机已经接入了ovs网桥中 20250103010900.png

随后可以再简单验证一下网络是否联通、CPU性能是否正常 由于目标机器在传东西,带宽被占用,故此数据不大好看 不过只是为了验证网络是否接通因此就不再去关下载截图了 CPU的损失基本不大,可以视为硬件虚拟机KVM正常运作 20250103000952.png

画饼预告

直通N100核显

后续看看什么时候有空,可以写一篇直通N100核显的 操作跟正常的PVE是一模一样,其实不写也行,看别人写好的就好 20250118182044.png

后话

在适配docker PVE的过程中,我感受到了飞牛官方对开发者的包容与配合 希望其他nas厂商也可以像飞牛一样配合我们第三方开发者,能提供一定的帮助 国产NAS生态的维护,若厂商与开发者能双向奔赴,我认为是最好的未来 冷冰冰的拒绝,只会寒了第三方开发者的心 20250103004440.jpg

收藏
送赞 6
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

发表回复

评论列表(1)

大佬**,虽然看不懂但是支持了
2025-1-21 23:04:31 回复