您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)linux升級(jí)內(nèi)核的原因,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
由于現(xiàn)在需要使用docker,部分功能在低版本的linux不支持,如namesapce,cgroup等 。因此需要升級(jí)內(nèi)核.
為什么要升級(jí)內(nèi)核?
是的,非常多人并不允許這樣的觀點(diǎn)??赡芩麄冇X得使用內(nèi)核提供的最持久最穩(wěn)定的接口就已經(jīng)足夠,多數(shù)的定制特性須要自己在用戶空間開發(fā)。當(dāng)然這也符合UNIX的哲學(xué),而且,他們覺得用戶態(tài)寫自己的so而不是bash。python腳本會(huì)提高自己軟件的競(jìng)爭(zhēng)力。由于你看不到源碼。一個(gè)so就能實(shí)現(xiàn)OpenVPN的負(fù)載均衡,你又不知道他是怎么做的,所以這樣的神奇感的背后,人們會(huì)覺得其技術(shù)及其高深。反之。假設(shè)使用了內(nèi)核提供的特性,他們便會(huì)覺得這樣的技術(shù)誰(shuí)都能夠使用,并非自己獨(dú)占獨(dú)享的。做出來(lái)的東西便失去了競(jìng)爭(zhēng)力。
這樣的觀點(diǎn)是徹頭徹尾錯(cuò)誤而且及其錯(cuò)誤且幼稚的。
關(guān)鍵不是你保留了多少別人不知道的技術(shù)細(xì)節(jié)。關(guān)鍵在于你能多快推出一個(gè)能夠使用的五臟俱全的最簡(jiǎn)版本號(hào),而且能以多快的頻率持續(xù)更新,持續(xù)優(yōu)化,而這一切非常大的分量上并非你自己閉門頓悟的。而是來(lái)自使用者的反饋。快。才是根本!
怎么才干快?
簡(jiǎn)單,能不自己寫的就直接拿來(lái),能利用的現(xiàn)成特性就直接用。這樣就節(jié)省了自己非常大的工作量。要把心思花在怎樣簡(jiǎn)單地?cái)U(kuò)展功能滿足需求上,而不是花在鉆研某個(gè)技術(shù)細(xì)節(jié)上。
難道你用C寫so的時(shí)候,不也是調(diào)用了人家C庫(kù)以及第三方(甚至是你的同事寫的)庫(kù)提供的API么?這不也是拿來(lái)?你隱藏的不過怎樣組裝這一切的細(xì)節(jié),而這不過一條路而已,沒人在乎你是怎樣將組件組裝成功能的,用戶在乎的是能夠使用。
舉例來(lái)講。
我在Linux 2.6.32內(nèi)核上吭哧幾個(gè)星期也搞不定怎樣讓多個(gè)OpenVPN進(jìn)程共享一塊TUN網(wǎng)卡,其實(shí)我改寫過TUN驅(qū)動(dòng),可是沒有經(jīng)過穩(wěn)定性壓力測(cè)試,所以能不能用還不知道。我所完畢的可能不過可行性預(yù)研罷了,后來(lái)由于沒有項(xiàng)目或者個(gè)人原因推動(dòng),這樣的成果也只能停留在紙面上??墒悄钱吘瓜牧宋业臅r(shí)間和精力,盡管我沒有占用我的工作時(shí)間(到了后期就不一樣了),那個(gè)時(shí)候老婆和女兒又長(zhǎng)期不在身邊。就我自己在家,我下班后或者周末有的是時(shí)間??墒钱吘褂捎诟氵@個(gè)東西讓我直到如今還欠了幾部關(guān)于古羅馬的紀(jì)錄片沒有看!我花了非常長(zhǎng)時(shí)間研究怎樣實(shí)現(xiàn)UDP服務(wù)的并發(fā),《UNIX網(wǎng)絡(luò)編程》上的方案也看過,對(duì)于OpenVPN這樣的服務(wù)而言根本不切實(shí)際,我想過通過fork讓子進(jìn)程繼承父進(jìn)程的UDP描寫敘述符,可是會(huì)有驚群?jiǎn)栴},我知道有SO_REUSEPORT這個(gè)option,可是Linux的實(shí)現(xiàn)并不能滿足我的需求(這是實(shí)現(xiàn)問題,而不是接口問題),于是我又花了非常長(zhǎng)實(shí)現(xiàn)寫出了UDP多port的負(fù)載均衡內(nèi)核模塊,同一時(shí)候想出了利用iptables的random DNAT方案。然而只要我將內(nèi)核版本號(hào)升級(jí)到3.9.6這個(gè)版本號(hào)或者以上,全部問題都攻克了,我只須要在UDP socket上設(shè)置一個(gè)SO_REUSEPORT選項(xiàng)就可以,同一時(shí)候我也不再須要寫代碼了。
高版本號(hào)的內(nèi)核具有三方面的效用,更高效,很多其它新的特性。
以前bug的修復(fù),可是對(duì)于新引入的特性,可能會(huì)引入新的bug。不過你只須要謹(jǐn)慎使用新特性就能夠了。舉例來(lái)講。我實(shí)際中會(huì)使用到的功能,比方TCP的Fast open,網(wǎng)絡(luò)的命名空間,多隊(duì)列的TUN網(wǎng)卡,這些在2.6.32內(nèi)核上就不支持(命名空間有是有??墒墙涌谑褂脮r(shí)太不方便)。你是想花一月時(shí)間自己寫一個(gè)多隊(duì)列的TUN驅(qū)動(dòng)呢?還是希望有一個(gè)直接能夠用的呢?誠(chéng)然,高版本號(hào)內(nèi)核自帶的TUN驅(qū)動(dòng)不是你寫的,不能代表你的實(shí)力。不能給你帶來(lái)競(jìng)爭(zhēng)力,可是你的目的決不不過用上一個(gè)多隊(duì)列的TUN而已,你的目標(biāo)可能是搞一個(gè)另類的OpenVPN。別人不曾想到的那些易用的功能,你自己提煉出來(lái)的可能的新的需求。這些才是競(jìng)爭(zhēng)力,而不是其實(shí)現(xiàn)。我通過阿皮亞大道到達(dá)羅馬。而你輾轉(zhuǎn)阿爾卑斯山,是的,你比我更能體現(xiàn)什么是力量和毅力??墒?。我先到了。
看完上述內(nèi)容,你們對(duì)linux升級(jí)內(nèi)核的原因有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。