新聞中心
Linux作為一種免費(fèi)的操作系統(tǒng),擁有著自由度高、靈活性強(qiáng)、安全性好等諸多優(yōu)點(diǎn),因此在服務(wù)器、嵌入式設(shè)備、工作站等場(chǎng)景下變得越來(lái)越流行。但與此同時(shí),由于其開(kāi)源特性,Linux內(nèi)核的維護(hù)也變得復(fù)雜而又繁瑣,這已經(jīng)成為了一個(gè)公認(rèn)的難點(diǎn)。為了讓內(nèi)核維護(hù)工作更加便利,開(kāi)源社區(qū)不斷地進(jìn)行創(chuàng)新,并不斷地拓展新的工具和方法,最終創(chuàng)造出了一種非常有特色的Linux內(nèi)核變種,那就是patchwork linux。

創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蓬安做網(wǎng)站,已為上家服務(wù),為蓬安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
Patchwork Linux的名稱便表明了其內(nèi)核的組織結(jié)構(gòu)和特性,它由多個(gè)補(bǔ)?。≒atch)進(jìn)行多次合并(Work)而成。這樣的內(nèi)核結(jié)構(gòu)帶給開(kāi)發(fā)者和維護(hù)者更方便的方式來(lái)處理代碼合并。開(kāi)發(fā)者們將對(duì)以下兩個(gè)問(wèn)題得到釋放:如何更好地跟蹤上游內(nèi)核代碼的變化以及如何將自己的特性進(jìn)行整合。
現(xiàn)在,讓我們一起來(lái)了解更多關(guān)于Patchwork Linux的具體特點(diǎn)和使用。
特點(diǎn)
交互式Web界面:Patchwork Linux通過(guò)交互式Web界面來(lái)進(jìn)行代碼管理。這個(gè)界面可以讓你更清楚地看到提交的補(bǔ)丁,及其狀態(tài)。開(kāi)發(fā)者們可以通過(guò)該界面查看每個(gè)裁決的結(jié)果,并進(jìn)一步地采取行動(dòng)。這讓Patchwork Linux的管理變得非常直觀和人性化。
郵件列表管理:郵件列表也是Linux開(kāi)發(fā)的一個(gè)重要組成部分,同樣,Patchwork Linux在郵件列表的管理方面也做得非常出色。它在將新的郵件列表添加到Web界面時(shí)自動(dòng)處理整個(gè)過(guò)程,無(wú)需開(kāi)發(fā)者進(jìn)行繁瑣的手動(dòng)配置或者編寫腳本。
即時(shí)通知:通過(guò)即時(shí)通知,開(kāi)發(fā)者可以立即得到裁定的信息,無(wú)論是有關(guān)已經(jīng)接受還是拒絕提交的代碼,都能從這里得到及時(shí)的通知。
分發(fā)管理:分發(fā)管理涉及到如何處理代碼變更的分支(branches),提交(commits)和版本控制。Patchwork Linux內(nèi)核能夠自動(dòng)處理這一過(guò)程,而且具有松耦合性,這為開(kāi)發(fā)者和維護(hù)者們提供了更多的靈活性。
使用方法
Patchwork Linux的使用非常簡(jiǎn)單,需要用戶在開(kāi)始使用前進(jìn)行安裝和配置環(huán)境。一般情況下,Patchwork Linux可以運(yùn)行在常見(jiàn)的Linux系統(tǒng)上,比如常見(jiàn)的Debian或者CentOS。安裝過(guò)程中需要注意配置相關(guān)的數(shù)據(jù)庫(kù)和Web服務(wù),例如MySQL或者Apache。
安裝好Patchwork Linux后,同時(shí)需要安裝GIT和如下其他工具:pysqlite,vpath,Werkzeug,F(xiàn)lask,Netmiko等。具備這些條件后,就可以愉快地開(kāi)始開(kāi)發(fā)或者進(jìn)行維護(hù)工作了。
開(kāi)始使用Patchwork Linux時(shí),需要先在其Web界面上添加郵件列表,然后通過(guò)GIT工具將代碼上傳到內(nèi)核中,再在Web界面上進(jìn)行提交。提交成功后,用戶在Web界面上方能看到代碼的狀態(tài)。通過(guò)即時(shí)通知,Patchwork Linux會(huì)及時(shí)地發(fā)送通知給開(kāi)發(fā)者,十分方便。
最后提醒大家,在使用Patchwork Linux過(guò)程中需要注意盡可能避免多重判斷和多個(gè)App進(jìn)行沖突。若出現(xiàn)錯(cuò)誤,可以通過(guò)Web界面獲得相應(yīng)的幫助和調(diào)試信息。
Patchwork Linux之所以備受歡迎,除了其交互式操作界面外,還有其支持多線程同時(shí)操作的優(yōu)點(diǎn),這意味著更多的開(kāi)發(fā)者可以同時(shí)貢獻(xiàn)其代碼。Patchwork Linux減輕了內(nèi)核維護(hù)的負(fù)擔(dān),使開(kāi)發(fā)者的生活變得更加便利。
在新的需求和用戶需求的不斷增加下,其未來(lái)發(fā)展?jié)摿€不清楚,但Patchwork Linux已經(jīng)成為了Linux內(nèi)核維護(hù)的重要工具之一。未來(lái),我們可以預(yù)見(jiàn)的是它不斷地向更方便、更高效的方向發(fā)展。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
edgemesh利用iptables劫持流量時(shí)遇到的問(wèn)題分析
kubeedge相比kubernetes,主要的提供了跨子網(wǎng)構(gòu)建集群的方案;其最強(qiáng)大的特點(diǎn)就是讓kubernetes不在局限于一個(gè)物理機(jī)房之內(nèi);集群中的則悉主機(jī)節(jié)點(diǎn)可以在不同的私有局域網(wǎng)內(nèi)。
不同私有網(wǎng)絡(luò)之下的主機(jī)要進(jìn)行相互通信,最主要的就是受限于防火墻NAT形態(tài):
上面的各組網(wǎng)方案之中,依次安全性增強(qiáng),在對(duì)稱錐形的網(wǎng)絡(luò)中,所有主機(jī)都在各自的防火墻背后,直接穿透訪問(wèn)就非常困難,所以直接edgemesh提供了兩種穿透訪問(wèn)方案:
edgemesh-server: Deployment 云端
edgemesh-agent: DaemonSet 云端+邊緣
對(duì)于全錐形孫腔乎NAT、受限性NAT、部分端口受限錐形NAT訪問(wèn)可以直接采用如下方案;
對(duì)于直接穿透訪問(wèn)不了的請(qǐng)求,edgemesh-agent就會(huì)將流量轉(zhuǎn)發(fā)到edgemesh-server上進(jìn)行中繼,因?yàn)樗械膃dgemesh-agent在啟動(dòng)后,就會(huì)于云端的edgemesh-server建立一圓咐個(gè)隧道網(wǎng)絡(luò);
在kubernetes+kubeedge組成的邊緣云集群上,無(wú)論云端or邊緣主機(jī),都部署了edgemesh-agent,其有兩個(gè)主要功能:
環(huán)境:
mkedge3 10.136.77.2 北四環(huán)辦公室邊緣盒子 edgemesh-agent
role
: edgenode
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkedge2 10.201.82.131 天壇機(jī)房 edgemesh-agent
role
: edgenode
kernel
: 4.15.6-1.el7.elrepo.x86_64
用例:
在mkedge2上啟動(dòng)tcp-echo-cloud容器,通過(guò)mkedge3上的busybox容器進(jìn)行遠(yuǎn)程telnet tcp-echo-cloud 2701
說(shuō)明:
從實(shí)際流量抓包看來(lái)看,從辦公室機(jī)房能夠直接訪問(wèn)到天壇機(jī)房主機(jī),不需要中繼;
mkedge3發(fā)起請(qǐng)求tcp抓包
mkedge2上接收載荷tcp抓包
環(huán)境:
mkmaster1 10.200.50.118 國(guó)貿(mào)機(jī)房 edgemesh-server, edgemesh-agent
role
: master
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkworker3 10.202.42.112 亦莊機(jī)房 edgemesh-agent
role
: cloudnode
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkedge3 10.136.77.2 北四環(huán)辦公室邊緣盒子 edgemesh-agent
role
: edgenode
kernel:
3.10.0-514.el7.x86_64
用例:
在mkworker3 上啟動(dòng)tcp-echo-cloud容器,通過(guò)mkedge3上的busybox容器進(jìn)行遠(yuǎn)程telnet tcp-echo-cloud 2701
說(shuō)明:
從實(shí)際流量抓包看來(lái)看,從辦公室機(jī)房不能直接訪問(wèn)到亦莊機(jī)房主機(jī),需要國(guó)貿(mào)機(jī)房的edgemesh-server中繼;
mkedge3發(fā)起請(qǐng)求tcp抓包
mkmaster1進(jìn)行中繼tcp抓包
mkworker3上接收載荷tcp抓包
先說(shuō)結(jié)論,懷疑主機(jī)默認(rèn)內(nèi)核
4.15.6-1.el7.elrepo.x86_64
(centos7) 存在調(diào)用系統(tǒng)內(nèi)核函數(shù)getsockopt的嚴(yán)重bug?。。?/p>
環(huán)境:
mkmaster1 10.200.50.118 國(guó)貿(mào)機(jī)房 edgemesh-server, edgemesh-agent
role
: master
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkworker1 10.201.82.139 天壇機(jī)房 edgemesh-agent
role
: cloudnode
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkworker2 10.201.83.74 天壇機(jī)房 edgemesh-agent
role
: cloudnode
kernel
: 5.2.14-1.el7.elrepo.x86_64
mkedge1 10.201.82.148 天壇機(jī)房 edgemesh-agent
role
: edgenode
kernel
: 4.15.6-1.el7.elrepo.x86_64
mkedge2 10.201.82.131 天壇機(jī)房 edgemesh-agent
role
: edgenode
kernel
: 4.15.6-1.el7.elrepo.x86_64
mkedge3 10.136.77.2 北四環(huán)辦公室邊緣盒子 edgemesh-agent
role
: edgenode
kernel:
3.10.0-514.el7.x86_64
用例:
在mkworker1、mkworker2、mkedge1、mkedge2上啟動(dòng)同時(shí)啟動(dòng)tcp-echo-cloud容器,通過(guò)mkedge1上的busybox容器進(jìn)行遠(yuǎn)程訪問(wèn)這些服務(wù),發(fā)現(xiàn)一個(gè)都不通;
現(xiàn)狀:
從實(shí)際流量抓包看來(lái)看,從業(yè)務(wù)容器發(fā)送請(qǐng)求給到edgemesh-agent:40001端口,之后流量就不見(jiàn)了蹤影;
究竟是Go的版本不對(duì)?容器鏡像問(wèn)題?逐個(gè)進(jìn)行了排查:
給edgemesh-agent:proxy.go的Run()函數(shù)中,realServerAddress(&conn)調(diào)用之前,增加了打印日志,同時(shí)在這個(gè)函數(shù)調(diào)用中,增加了一些日志輸出標(biāo)記位,重新制作容器進(jìn)行測(cè)試,發(fā)現(xiàn)輸出日志 555 ,但未輸出 666 ,同時(shí)進(jìn)程狀態(tài)異常變?yōu)榱?D :
然后就開(kāi)始懷疑是這個(gè)內(nèi)核調(diào)用出現(xiàn)了問(wèn)題,先編寫了一個(gè)go程序:
如下是在mkedge3宿主機(jī)上,
kernel:
3.10.0-514.el7.x86_64,一個(gè)終端上先將程序啟動(dòng)監(jiān)聽(tīng)18011端口,然后在另外一個(gè)連接mkedge3終端上,直接telnet這個(gè)端口,程序能夠正確通信,并輸出打印日志 address: 192.168.127.1:18011
如下是在mkedge1上測(cè)試,
kernel
: 4.15.6-1.el7.elrepo.x86_64, 發(fā)現(xiàn)telnet之后,無(wú)法輸出打印日志,并且程序在第三個(gè)終端窗口里也無(wú)法 kill -9 ,并且進(jìn)程狀態(tài)變?yōu)榱?D ;
不死心
,程序在mkedge2上依然如上;
不死心
,找了臺(tái)內(nèi)核升級(jí)為
kernel
: 4.19.12-1.el7.elrepo.x86_64的主機(jī),結(jié)果是正確的;
不死心:
雖然嚴(yán)重懷疑了
kernel
: 4.15.6-1.el7.elrepo.x86_64,那么就近是Go的問(wèn)題,還是系統(tǒng)內(nèi)核的問(wèn)題呢?于是又寫了一個(gè)C程序來(lái)測(cè)試: ,在compile-on-kernel4.15.6分支的/sockopt/sockoptchk.c
依然出現(xiàn)了上面出現(xiàn)的問(wèn)題,說(shuō)明應(yīng)該就是kernel的問(wèn)題了,需要推薦運(yùn)維以后不要安裝這個(gè)版本的內(nèi)核了,目前看4.19.12以上的版本或者干脆就是3.10的內(nèi)核都是打過(guò)patch的。
http:/
關(guān)于patchwork linux的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡(jiǎn)稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開(kāi)通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問(wèn)快、穩(wěn)定!
網(wǎng)頁(yè)名稱:拼布般的Linux:PatchworkLinux(patchworklinux)
文章位置:http://www.5511xx.com/article/djedijp.html


咨詢
建站咨詢
