更新ID(KYUA-202412-1055)
- 更新簡(jiǎn)述:
- arpcheck組件增加重復(fù)探測(cè)功能
- 影響操作系統(tǒng)版本:
- 銀河麒麟高級(jí)服務(wù)器操作系統(tǒng) V10 SP3 2403
- 更新類(lèi)型:
- 功能增強(qiáng)
- 發(fā)布時(shí)間:
- 2024-12-04
- 更新描述:
- 影響軟件詳情(產(chǎn)品名稱 對(duì)應(yīng)架構(gòu) 軟件包 修復(fù)版本)
銀河麒麟高級(jí)服務(wù)器操作系統(tǒng) V10 SP3 2403 loongarch64 initscripts 10.04-4.p03.a.ky10
銀河麒麟高級(jí)服務(wù)器操作系統(tǒng) V10 SP3 2403 aarch64,x86_64 initscripts 10.04-4.p03.ky10
詳細(xì)介紹
1.問(wèn)題復(fù)現(xiàn)方法:
(1)新建bond接口,bond模式為Mode4(802.3ad);
(2)停止NetwokManager服務(wù);
(3)使用network服務(wù)進(jìn)行網(wǎng)絡(luò)管理,使用systemctl restart network重啟網(wǎng)絡(luò)服務(wù);
(4)使用echo $? 命令查看返回結(jié)果;
(5)有較低概率發(fā)生命令返回結(jié)果不為0的情況,network服務(wù)重啟失??;
2.問(wèn)題分析結(jié)果:
(1)查看系統(tǒng)日志,network服務(wù)有報(bào)錯(cuò),對(duì)應(yīng)的代碼在/etc/sysconfig/network-scripts/ifup-eth文件中,由于arping命令調(diào)用sendto函數(shù)返回值不為0導(dǎo)致報(bào)錯(cuò)。
(2)在內(nèi)核bond_3ad_xor_xmit函數(shù)中,如果當(dāng)前沒(méi)有可用的slave設(shè)備可以發(fā)送,則會(huì)執(zhí)行bond_tx_drop,并返回NET_XMIT_DROP。
(3)在驅(qū)動(dòng)設(shè)置完bond設(shè)備的Link狀態(tài)后,調(diào)度延遲工作隊(duì)列到工作隊(duì)列得到執(zhí)行,這部分會(huì)有調(diào)度延遲,具體和系統(tǒng)當(dāng)前負(fù)載有關(guān)。另外rtnl_lock是個(gè)全局的互斥鎖,如果系統(tǒng)有其他進(jìn)程剛好在持有這個(gè)鎖操作網(wǎng)卡設(shè)備,這個(gè)地方很可能會(huì)獲取鎖失敗,至少會(huì)再延遲10ms,才會(huì)去完成更新slave_arr指針。而在slave_arr指針完成更新之前,這個(gè)時(shí)候通過(guò)bond接口去發(fā)送報(bào)文就會(huì)返回-1。
(4)為解決上述問(wèn)題,修改核外組件ifup-eth腳本,將ARPCHECK的邏輯改為: 如果bond設(shè)備發(fā)送ARP失敗,則延遲0.5秒后重新嘗試ARP探測(cè); 如果超過(guò)5秒且ARP探測(cè)請(qǐng)求仍不成功,則返回錯(cuò)誤碼并退出。
3.補(bǔ)丁及下載地址:
從軟件倉(cāng)庫(kù)更新
4.修復(fù)和更新方法:
銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10 SP3 2403需要升級(jí)到network-scripts-10.04-4.p03或以上版本。
更新軟件包后需重啟network服務(wù)。。