【銀河麒麟高級服務器操作系統實例】虛擬機橋接網絡問題分析及處理

?更多銀河麒麟操作系統產品及技術討論,歡迎加入銀河麒麟操作系統官方論壇

https://forum.kylinos.cn


了解更多銀河麒麟操作系統全新產品,請點擊訪問

麒麟軟件產品專區:https://product.kylinos.cn

開發者專區:https://developer.kylinos.cn

文檔中心:https://document.kylinos.cn
?


服務器環境以及配置

系統環境

物理機/虛擬機/云/容器

虛擬機

網絡環境

外網/私有網絡/無網絡

私有網絡

硬件環境

機型

-

處理器

鯤鵬920

內存

DDR4

整機類型/架構

arm

軟件環境

具體操作系統版本

銀河麒麟高級服務器操作系統 V10SP2

內核版本

4.19.90-24.4.v2101.ky10.aarch64

現象描述

銀河麒麟高級服務器操作系統V10SP2系統,使用kvm運行虛擬機,如果是物理機兩個網口做成一個team,然后team接網橋,虛擬機再通過這個網橋連接網絡,這種方式網絡會有問題。

本地環境驗證,使用配置方式一直有問題,采用nmcli如下配置:

物理機:

1、創建team及slave

# nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "roundrobin"}, "link_watch": {"name": "ethtool"}}'

# nmcli connection add type team-slave con-name team1-port1 ifname ens224 master team1

# nmcli connection add type team-slave con-name team1-port2 ifname ens256 master team1

2、創建網橋

# mcli connection add type bridge con-name br1 ifname br1

配置網橋IP

3、添加team1到br1

# nmcli c mod team1 master br1

4、激活網絡

# nmcli connection up team1

# nmcli connection up team1-port1

# nmcli connection up team1-port2

# nmcli connection up br1

虛擬機連接br1

圖形化操作

實際測試下來,確實會發現網絡不通,此時如把team1從網橋刪掉,換成物理網口,網絡就可以正常使用,單獨配置team,也可以正常使用。

現象分析

  1. 針對該問題,做了以下測試。
  2. 啟動虛擬機1,在宿主機上tcpdump分別在team1-slave1,team1-slave2,vnet0三個口抓icmp報文,虛擬機1里啟動ping 網關ip,發現team1-slave1、team2-slave2幾乎同時收到arp reply報文,但是vnet0沒有收到該報文,只有arp request報文,所以虛擬機網絡一直不正常。
  3. 在宿主機做ifconfig team1-slave1 down,虛擬機網絡恢復正常。
  4. 在宿主機做ifconfig team1-slave1 up,虛擬機網絡異常。
  5. 在宿主機做ifconfig team1-slave2 down,虛擬機網絡正常。
  6. 宿主機把team1從網橋踢出,將一物理網卡加入網橋,虛擬機網絡正常。

分析總結

根據上述分析結果,梳理網絡拓撲,本地搭建環境復現問題,發現Linux bridge的fdb表存在問題:

圖1 虛擬機mac地址

圖二 宿主機mac地址

圖三 網橋fdb表

由圖三可見,虛擬機的mac地址,應與vnet0同屬同一port,但實際卻與team網卡同屬同一port。故報文在二層即無法到達vnet0,符合上節的抓包現象。

進一步分析fdb表為何不對,梳理網絡拓撲及報文路徑:


由此可知,由于使用team0(roundrobin )模式,虛擬機arp廣播報文,經vnet0進入網橋,此時網橋mac學習到虛擬機的mac地址對應vnet0的port,此時fdb表是正確的。arp廣播報文通過team網卡發出,由于是輪詢模式,此時兩個物理網卡均會發送arp廣播報文。交換機收到物理網卡的廣播報文后,會向所有端口進行轉發,此時也會轉發到team的另一slave網卡。此時網橋會收到該arp廣播報文,并進行mac地址學習,記錄虛擬機的mac地址對應team的port,此后fdb表便一直為錯誤的,后續報文均不通。

分析結果

通過上述分析,需要限制交換機將廣播報文發回聚合端口,當服務器設置為mode0時,交換機需要設置為手動聚合模式。

后續計劃與建議

如果使用mode0模式需要配置交換機為手動聚合模式,或者設置Linux網橋強制泛洪;如果使用mode1模式,交換機側無需任何修改。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71733.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用騰訊ncnn加速推理yolo v9對比opencv dnn

前面博客 【opencv dnn模塊 示例(25) 目標檢測 object_detection 之 yolov9 介】 紹了 yolov9 詳細使用方式,重參數化、導出端到端模型,使用 torch、opencv、tensorrt 以及 paddle 的測試。 由于存在移動端推理部署的需求,需要進行加速處理&…

前端小食堂 | Day10 - 前端路由の時空裂隙

??? 今日穿梭指南:兩種維度の路由宇宙 1. Hash 模式:錨點の量子隧道 // 手動創建路由監聽器 window.addEventListener(hashchange, () => {const path = location.hash.slice(1) || /; console.log(進入哈希宇宙:, path); renderComponent(path); }); // 編程…

C語言學習筆記-進階(7)字符串函數3

1. strstr的使用和模擬實現 char * strstr ( const char * str1, const char * str2); Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1. (函數返回字符串str2在字符串str1中第?次出現的位置&#x…

HarmonyOS Next 屬性動畫和轉場動畫

HarmonyOS Next 屬性動畫和轉場動畫 在鴻蒙應用開發中,動畫是提升用戶體驗的關鍵要素。通過巧妙運用動畫,我們能讓應用界面更加生動、交互更加流暢,從而吸引用戶的注意力并增強其使用粘性。鴻蒙系統為開發者提供了豐富且強大的動畫開發能力&…

PHP:phpstudy無法啟動MySQL服務問題解決

文章目錄 一、問題說明二、解決問題 一、問題說明 我的Windows10系統,之前安裝過MySQL5.7的版本。 然后,用phpstudy安裝MySQL8,并啟動MySQL8。 發生無法啟動的情況。 二、解決問題 1、刪除本地MySQL7的服務 net stop MySQL //這里的服務名…

Nginx(基礎安裝+配置文件)

目錄 一.Nginx基礎 1.基礎知識點 2.異步非阻塞機制 二.Nginx安裝 2.1安裝nginx3種方式 1.包管理工具安裝(yum/apt) 2.本地包安裝(rpm/dpkg) 3.源碼編譯安裝 3.1 源碼編譯安裝nginx流程(ubuntu) 1.…

C++ Windows下屏幕截圖

屏幕截圖核心代碼(如果要求高幀率,請使用DxGI): // RGB到YUV的轉換公式 #define RGB_TO_Y(r, g, b) ((int)((0.299 * (r)) (0.587 * (g)) (0.114 * (b)))) #define RGB_TO_U(r, g, b) ((int)((-0.169 * (r)) - (0.331 * (g)) …

修改jupyter notebook的工作空間

今天,我之前R配置jupyter工作空間,講了各種語言內核分配不同的工作空間,雖然是方便管理,但有個問題就是需要每次都進入C盤的配置文件找到notebook的工作空間設置路徑打開修改嘛。 因此,今天我編寫了一個python腳本&am…

江科大51單片機筆記【9】DS1302時鐘可調時鐘(下)

在寫代碼前,記得把上一節的跳線帽給插回去,不然LCD無法顯示 一.DS1302時鐘 1.編寫DS1302.c文件 (1)重新對端口定義名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;(2)初始化 因為…

電商行業門店管理軟件架構設計與數據可視化實踐

一、行業痛點與核心訴求 在電商多平臺運營成為主流的背景下,企業普遍面臨三大管理難題: ?數據碎片化:某頭部服飾品牌2023年運營報告顯示,其分布在8個平臺的162家門店,日均產生23萬條訂單數據,但財務部門需要5個工作日才能完成跨平臺利潤核算。?成本核算失真:行業調研…

創新算法!BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測

創新算法!BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測 目錄 創新算法!BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測預測效果基本介紹BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測一、引言1.1、研究背景和意義1.2、…

leetcode 95.不同的二叉搜索樹 Ⅱ

首先分析一下什么是二叉搜索樹。因為我本科學習數據結構的時候就是單純背了一下題庫,考試非常簡單。現在額外補充學一些之前自己沒有學過的內容。有序向量可以二分查找,列表可以快速插入和刪除。二叉搜索樹可以實現按照關鍵碼訪問。call by key .數據表現…

數據安全防線:備份文件的重要性與自動化實踐

在數字化時代,信息已成為企業運營和個人生活的核心資源。無論是企業的核心數據、客戶的敏感信息,還是個人的珍貴照片、重要文檔,這些數據一旦丟失或受損,都可能帶來不可估量的損失。因此,備份文件的重要性不言而喻&…

碰一碰發視頻系統之寫卡功能開發了,支持OEM

一、引言 在碰一碰發視頻系統中,NFC(Near Field Communication,近場通信)技術扮演著關鍵角色。其中,寫卡功能是實現用戶與系統便捷交互的重要環節,通過將特定的視頻相關信息寫入 NFC 標簽,用戶…

【數據結構初階第十八節】八大排序系列(上篇)—[詳細動態圖解+代碼解析]

看似不起眼的日復一日,總會在某一天讓你看到堅持的意義。??????云邊有個稻草人-CSDN博客 hello,好久不見! 目錄 一. 排序的概念及運用 1. 概念 2. 運用 3. 常見排序算法 二. 實現常見排序算法 1. 插入排序 (1&…

python爬蟲系列課程8:js瀏覽器window對象屬性

python爬蟲系列課程8:js瀏覽器window對象屬性 一、JavaScript的組成二、document常見屬性對象三、navigator對象一、JavaScript的組成 JavaScript可以分為三個部分:ECMAScript標準、DOM、BOM。 ECMAScript標準:即JS的基本語法,JavaScript的核心,描述了語言的基本語法和數…

快速使用PPASR V3版不能語音識別框架

前言 本文章主要介紹如何快速使用PPASR語音識別框架訓練和推理,本文將致力于最簡單的方式去介紹使用,如果使用更進階功能,還需要從源碼去看文檔。僅需三行代碼即可實現訓練和推理。 源碼地址:https://github.com/yeyupiaoling/P…

cannon g3810打印機設置

現在AI這么厲害,是不是很少人來這里搜索資料了。 不過我還是寫一下。 買了一臺cannon g3810打印機。一直都用USB打印,今天突然想用手機打印。于是又折騰了兩個小時,終于折騰完了。 步驟如下: [1]打開官網,下載佳能…

使用 Arduino 和 ThingSpeak 通過 Internet 進行心跳監測

使用 Arduino 和 ThingSpeak 通過 Internet 進行心跳監測 在這個項目中,我們將使用 Arduino 制作一個心跳檢測和監測系統,該系統將使用脈搏傳感器檢測心跳,并在與其連接的 LCD 上顯示 BPM(每分鐘心跳次數)讀數。它還將使用 Wi-Fi 模塊ESP8266將讀數發送到 ThingSpeak 服務…

vulnhub靶場之【digitalworld.local系列】的snakeoil靶機

前言 靶機:digitalworld.local-snakeoil,IP地址為192.168.10.11 攻擊:kali,IP地址為192.168.10.6 kali采用VMware虛擬機,靶機選擇使用VMware打開文件,都選擇橋接網絡 這里官方給的有兩種方式&#xff0…