耿航:開源雲技術如何在傳統企業落地

如今,互聯網企業依靠技術優勢,深刻影響和改變着人們的生活和工作,其中,開源技術孕育了互聯網企業發展。在雲計算、大數據、AI、IoT的背後,是OpenStack、容器、Hadoop等開源技術的支撐,在開源技術支撐下,互聯網企業如魚得水。

相比互聯網企業,傳統行業/企業用戶多采用IT服務外包的模式,主要依靠IT產品供應商、ISV、SI的技術能力,行業本身的技術實力和人才積累完全沒有辦法和互聯網企業相比,在這樣的情況下,傳統行業企業應該如何對待開源技術呢?

對此,中國開源雲聯盟副祕書長、Ceph中國社區聯合創始人耿航在2018中國數據與存儲峯會的主題演講中,給出了自己的見解。

耿航表示,適合自己的纔是最好的選擇。行業企業用戶可以根據自己的需要,選擇適合自己的雲平臺、存儲和網絡。開源產品的特點不同,適合的應用場景也不盡相同。以OpenStack爲例,它的特點是全面,相比CloudStack、ZStack就比較輕量,容易管理和使用,因此,特點不同,用戶的選擇也不用。

對於行業企業用戶來說,要能夠適應雲計算時代的特點和變化,用戶團隊需要做好以下幾件事情:

在耿航看來,這是一個可行的調整和變化。

此外結合行業實踐,針對Ceph部署中的網絡問題、磁盤問題、時間問題、資源獲取問題,以及應用場景的問題,耿航也進行了經驗分享。

以下爲演講全文:

耿航:大家下午好,我是今天最後一個講,很感謝大家堅持到最後。自我介紹一下我叫耿航,目前就職於中鐵信,社會職務就是中國開源雲聯盟副祕書長,也是Ceph中國社區的聯合創始人。今天主要講一下開源雲技術在傳統企業裏落地的建議以及思考。

首先分爲這幾個方面:首先介紹一下中國開源雲聯盟和Ceph基金會,後面會介紹到國內的一些開源生態的發展,還有包括對於開源雲技術的一些思考,最後會說到傳統的運維如何快速的學習,像Ceph或者是一些相關的雲方面的技術。

中國開源雲聯盟,目前掛靠在工信部下面的中國電子技術標準化研究院,主要是做國內的雲、標準、開源相關的產業,國內搞雲的企業現在都在裏面,包括說做一些開源的標準,或者是跟國際上的CNCF等國際上的基金會都是有交流的。

Ceph基金會,瞭解Ceph的話,Ceph在今年的上個月剛成立了Ceph基金會,Ceph基金會成立之後,對於Ceph來說是一個非常好的發展,因爲之前像Ceph成立於2004,Ceph到現在發展十來年了,但是之前呢一直在2014年的時候被Red Hat收購了,收購之後Ceph的軟件和社區都歸Red Hat所有,大家知道Ceph很火,很多的生態廠商參與,這樣對於Ceph未來的發展有瓶頸在裏面,不利用它未來的建設。在Ceph創始人的大力推動下,Ceph社區在今年11月份的時候成立了Ceph基金會,Ceph基金會掛靠在Linx基金會下面,跟CNCF基金會是同等級的。參與基金會的贊助商會有一些權益,比如:參與它活動的決策,包括說它今後的一些技術的發展等等。

下面介紹一下中國區的一些用戶,最上層是它的頂級的用戶,中國移動,包括ZTE、XSKY。第二個是企業級會員,包括滴滴、EasyStack、中國平安、QCT。第三層是SRIE中鐵信,是用戶、研究機構被特邀進去的,也是參與到基金會裏面的。

瞭解Ceph的話,或者瞭解OpenStack開源雲技術的話,知道我們舉辦了Cephalocon APAC2018年的大會,關注我們的公衆號(cephchina)可以獲取視頻以及一些信息。這個也是運作了好久纔在國內落地的,目前在開源雲技術方面,包括OpenStack開源雲技術領域的,沒有一個說首屆國際峯會是放在中國的,所以說我們這個也算是在國內開源雲技術方面起到了很大的促進作用,我們一直在跟國際的社區在交涉說,首屆國際峯會的一定落在北京,中國的用戶和開發者很多,最終功夫不負有心人落在了北京,然後來了很多的老外。下一屆的Summit是在巴塞羅那,跟CNCF的KubeCon在一起合辦。

說了一下背景和介紹,下面說一下國內的開源文化的發展趨勢。

首先開源不等於免費的思維轉變,像前幾年的時候,一提到開源首先想到的就是免費,但事實開源不等於免費,就跟農夫山泉似的,我們不生產水,但是我們是大自然的搬運工,是一個道理。到現在大家漸漸的逐漸接受了開源服務的理念和思維,剛纔前面Commvault的錢總也說到了用戶思維的轉變,大家現在開始逐漸的接受。

還有就是說開源不安全的思維轉變,以前一提說開源這個東西安不安全或者怎麼着,都會有這樣的考慮,可以這樣說這個世界上沒有絕對的安全,只有相對的安全,那開源項目就是一個相對安全很好的例子,至少它是公開的代碼誰都可以看、誰都可以改,所以它的安全性比閉源的要好一些。我這裏列了一些國內的一些用戶,包括一些運營商、互聯網、金融行業、遊戲行業。其實這些用戶也都在使用Ceph或者OpenStack等開源雲技術軟件。

還有一個擁抱開源開放的思維。以前的話大家都是在國內搞開源,在國內小打小鬧搞一個開源軟件,然後在國內推廣一下,都是在國內玩兒。現在可以看到,由國人開源的項目ApacheKylin、Habor、Tidb等等一些開源軟件逐步的推向國際的開源基金會,比如Habor加入了CNCF基金會,ApacheKylin、SS也是加入了Apache基金會,都相應的加入到國際開源基金會裏,開源文化從擁抱走向開放,從國內走向國際。

接下來說一下開源雲技術在傳統企業裏面的落地思考和建議,以及一些觀點這裏也是參考了很多圈內好友和企業的一些觀點,比如我的好友劉世民,某企業雲研發總監曾親身經歷了企業上雲轉型經歷,也是圈內技術網紅。

OK,回到正題,前面大家都說到了企業上雲,那麼未來企業上雲是常態,包括說未來提的很大的戰略,雲管邊端&雲數邊端也好在未來一切都是基於雲上來做。企業上雲是雲的常態我這兒說的是它的基礎設施的,基礎設施上雲和業務的上雲。基礎設施上雲很簡單,硬件的服務器、存儲上雲。業務上雲就是以前在本地的單機的業務應用遷到雲上面。

我這兒說的是它在技術軟件平臺方面選型的問題,就是說適用於自己的纔是最好的,有些是一些盲目的選型,現在雲平臺,現在最火的就是OpenStack,但是你不一定就選OpenStack,適用於自己的纔是最好的。當然有很多人說OpenStack架構非常重,這個東西怎麼說呢,開源的產品是大而全的東西,不能說有些功能它沒有,它有,但是能不能用是一回事了,開源產品跟實際的落地還不一樣,如果開源產品可以直接用,所有人不做產品了,直接做服務了。假設它有10個組件不一定10個組件都用,按照實際的應用場景來用,僅僅只是說私有云,用它核心的組件做私有云就行了。CloudStack跟Zstack的好處是簡單易用,它的組件相對於OpenStack來說少很多的,這也跟OpenStack的生態有關,爲什麼說OpenStack重,什麼都囊括,邊緣計算什麼的都囊括,也跟它的運營生態有關係,都囊括了,更多的廠商加入了才能把開源的項目盤活,有那麼多東西不見得你實際應用的時候都用上。

包括存儲的選型,最火的是Ceph,當然還有SheepDog、GlusterFS等,很多時候你選型存儲不一定非得用Ceph,當然用Ceph也有很多的好處,Ceph的生態有很多,從底層的硬件Intel、ARM,包括到上層的操作系統Red Hat、SUSE,再到上層的雲平臺OpenStack、CloudStack、Zstack都是支持Ceph的,包括說最上層的應用OwnCloud等。所以可以看到它從最底層到上層的應用都在支持Ceph,Ceph算是非常完善的開源生態、社區生態。其實在選擇開源軟件的時候,其實無非是這幾點,首先選擇開源生態,選擇開源生態無非就是省去人力、時間等等一些成本。

還有就是說網絡選型,有SDN、VXLAN、VLAN,其實我覺得私有云沒有必要用VXLAN,用了反而增加了運維的一些成本。本身VLAN就滿足了私有云的場景了,用上VXLAN就加大了難度,無非是給自己挖坑自己跳進去了,出了問題排錯也不好排。

像我之前在做公有云網絡調研開源軟件的時候也是一樣,我們選型有一家公司,它的軟件非常不錯,它可以完美的跟OpenStack相結合,替代了OpenStack裏面OVS,包括說它的高級功能,像什麼×××AAS、FWAAS等等功能,這個東西非常不錯,但是它沒有良好的開源生態,萬一這家公司死了,這個項目也就隨之而死了。無論國內在選型開源也好,國外也好,開源生態還是要非常考慮,包括爲什麼說SheepDog、GlusterFS很少用,因爲沒有很好的生態。

上雲只是起點而不是終點,因爲它涉及到技術因素、團隊因素、多個團隊相互配合,傳統企業裏很多的團隊,服務器運維、數據庫運維等等多團隊的相互配合。包括說一些遷移,剛纔也說到了數據的遷移,包括說虛擬機的遷移、V2V等等都是有很多的因素在裏面。

可以看到我PPT上寫了很多技術名詞,其實在上雲前期的話,其實也可以看做一個過度期,爲什麼這麼說呢,前期肯定是開源與商業相併存的狀態,就像剛纔EasyStack說到的,他們的存儲都是在商業存儲和分佈式存儲並存,逐漸的從商業的產品脫離到開源技術的產品。爲什麼說只是起點不是終點呢?因爲你要做的東西很多,這點剛纔EasyStack也說到了,他們將很多開源技術的搬到了傳統企業上,但是也一樣,你比如像DevOps 、CI/CD等技術概念炒的很火,但是傳統企業裏很難落地,DevOps、CI/CD非常不錯,理念也不錯,但是與實際相差有點大,這個東西完全是革新是改革,顛覆了以前開發的習慣,甚至說你以前思維的習慣,原來可能在本地操作,現在不一樣了,要集中進行。所以說它完全是一種顛覆,在傳統企業裏面是非常不好推動的,要推動無非幾個因素,首先這個東西肯定是自上而下的,包括說企業上雲也是自上而下的,如果是下邊進行推動實際上非常困難,當然了也不算百分百成功,自上而下有時候還有半途而廢的。

像前面剛纔說到的一些轉型,包括一些大的戰略(雲數邊端)。其實現在在鐵路上,也是一樣的,以云爲基礎,利用大數據、邊緣計算IOT等技術來進行更好的完善鐵路的一些系統,包括說鐵路現在在建設二級的管理模式,其實以前的話都是鐵總、鐵路局、鐵路段,現在其實也是逐漸的從三級變成二級,逐漸的把一些東西給管控起來,數據、資源給管控起來,其實也用到了剛纔說的一些技術,包括無人機的巡航、大數據的分析等等一些,更好的爲鐵路系統保駕護航。

數字化轉型的道路上有很多的企業,不光是鐵路,包括製造業,在國家的大方針下、政策下知道方向在哪兒,但是不知道怎麼做,據我瞭解石家莊就有一個軍需物資的國企,他們也是在尋求數字化轉型,尋求數字化轉型的時候他們不大懂,但他們想做卻不知道怎麼做,這個時候就缺乏一些指導,包括說一些諮詢方面的建議和落地。

剛纔也說到了,無非是主要幾點:首先肯定是需要一個合適的雲服務提供商,爲什麼這麼說呢,因爲服務提供商要非常非常的懂業務,只有瞭解你的業務、瞭解你的實際情況纔好制定相應的上雲的方案。第二,上雲需要多個相關技術團隊配合,不是說單純一個運維團隊就能搞定了,肯定也是說需要多個運維團隊進行相互合作參與的。第三,同時要評估上雲的方案和遷移工具的研發。第四,需要穩妥有序的推進,一步一步來推進,不能一蹴而就。第五,需要充分考量安全的問題,很多考慮上雲之後的安全問題。剛纔也說到了,基礎設施的上雲、服務器存儲包括安全的設備也是上雲,現在有很多的等等一些上雲的安全。第六,還要考慮說技術、成本、團隊培養、商務問題等等。第七,團隊培養主要說一下團隊的一些培養,在上傳統企業上雲的初期肯定是說,先找一家雲服務提供商快速的幫我把業務建起來,建立起來的同時也要建立自己的相關的雲的團隊,在這個其中相互磨合、相互學習,同時練兵把自己的人培養起來。培養起來到了中期的階段,中期的階段肯定是說自己的人接手一部分運維的事情,繼續練兵。後期團隊磨合差不多了,能夠具備一些相關的雲方面的開發和工作了,也就是自己能做的就自己做了,不能做的時候再採用外面的服務商。

最後呢說下傳統企業運維轉型Ceph時候遇到的一些問題,初學者玩Ceph會遇到網絡問題,因爲Ceph源在國外,看官方文檔也是用國外的源,國外的源就容易time out,怎麼辦呢,配上國內源,國內很多的阿里、網易、中科大等等國內有很多的源。還有一個問題就是磁盤的問題,磁盤這個問題怎麼說呢,其實我覺得是最不應該出現的吧,因爲你要玩一個存儲什麼的,你肯定盤要是乾淨的,包括說後面這個磁盤的問題,就是說新版的時候,因爲以前是可以基於目錄來做它的OSD,但是新版L版之後不允許這樣做了,因爲這個錯誤就是說不允許這樣做產生的,可能以前玩的,之後很長時間沒玩,玩新版的了,出現這個問題。這個問題怎麼解決呢?可以採用DD的方式,然後LOOP的方式掛到本地,但是不建議這樣做,這樣做可以解決問題,但是不建議這樣做,因爲這樣做的目的是爲了測試,測試選擇虛擬機、物理機,假設選擇虛擬機你是不缺盤的,不缺盤的情況下這個問題不會出現,所以說有些問題其實都是說它在自學過程中自己造成的,然後不小心掉進去了。

還有就是說,還有一個問題爲什麼會出現呢,因爲官方推薦三節點,但他非要單節點部署,那也會出現這樣那樣奇葩的問題,所以說你一定要按照官方的來,不要說按照自己的理解。

還有時間的問題,下面這個圖看到它進程還在的,但是狀態是down的,排查半天是時間的問題,時間節點不一致導致狀態是不一致的。還有一個情況就是網卡的情況,之前就遇到了,OSD狀態一會兒down一會兒up,網卡有問題的情況下也會出現這種情況。其實時間問題還有,比如Ceph有個組件叫,Monitor,Monitor對於時間要求非常強,一旦超過多少秒這個狀態就不健康了。

前面說了那麼多,我把一些問題的總結也看到,這是第一個問題,就是說它的國內鏡像源,還有就是國內的文檔包括社區的羣可以架一下,到裏面可以相關的諮詢它的問題,像OpenStack、K8S都是在擁抱Ceph。這一點怎麼說呢,很多人說Ceph這個支撐不好,其實也不能說Ceph對於K8S支撐不好,K8S對於所有塊都支持的不好,對於所有塊都不支持,只對分佈式文件存儲支持,現在國內玩兒K8S的有一部分是用的Ceph的RBD,Ceph的塊,還有用的CephFS,這塊還是不太建議用,因爲還是有很多坑,數據量大的時候就有很多的坑,剛纔選型忘說了。還有一些選型就是說,你是盲目選型,沒有充分的考慮業務實際情況的時候,盲目的選型了存儲軟件,舉個例子CephFS,國內很多的客戶可以用對象存儲解決問題,但是它選型用了FS,一定業務量之後遇到了問題,那它的被迫轉型到對象上,數據遷到對象上。還有就是之前也是一家公司選型錯了,用了FS,最後操作不當數據丟了,這些情況其實都是之前選型造成的一些問題。

接下來就是部署完了怎麼用呢,最典型的場景就是說塊狀的應用,剛纔對接的像Z Stack,它跟Cloud Stack很像,玩過Cloud Stack的就覺得ZStack很好玩。還有OpenStack,所有主流的版本Ceph它都兼容,爲什麼每次Ceph基金會發布調查報告的時候,Ceph永遠排在第一位,這是非常重要的一點,它的兼容性非常好,對於OpenStack社區的兼容性非常好,爲什麼比商業存儲還靠前呢,因爲商業存儲廠商它針對某些版本做driver版本的開發,有的用戶升級之後就會產生不兼容等等。這也是Ceph可以在OpenStack上排在第一的原因。

還有是基於OpenStack來做的公有云,甚至說私有云上面都有容量和性能盤的迷惑,上面創建盤的時候,會讓你選擇容量盤還是性能盤,這個怎麼實現的呢,基於Ceph非常簡單,因爲Ceph有一個算法叫做Crush算法,它有一個CrushMap可以編輯,把我實際物理機上的磁盤邏輯組成一個host,或者多個host,組成故障域,假設把所有SSD都歸成host,把幾個host跟SSD、SATA、Pool相關聯,Pool跟OpenStack的Cinder關聯,Cinder可以支持多個Type,支持多個後端,對應多個盤的類型,這也是一樣的,通過Ceph實現就是用CrushMap編輯實現的。Ceph故障域的概念,可以劃分你的數據是以盤還是以機器、機架分佈,可以通過這個進行調你想怎麼分,同時故障域的概念,你在故障域裏面down了一臺機器,別的是不受影響的。

我這裏有個Ceph的原生頁面,Ceph在L版之後纔出來的,L版本算是Ceph的一個里程碑版本,L版之前沒有良好的頁面,L版之後有非常完善的產品頁面,L版之後越來越產品化了,可以看到它非常完善,這個是主頁面,這是它的存儲的一些容量,包括說它的一些存儲Pools,包括它的一些日誌都是非常偏產品化,現在所有的開源分佈式存儲,它是沒有這樣比較完善的頁面的,包括可以看到它的集羣的一些節點,包括資源池,包括創建它的塊,包括刪除塊,包括給塊進行一些快照、刪除快照、快照鎖都可以實現,包括它的對象,Ceph是統一的分佈式存儲嘛,既提供塊又提供文件又提供對象,它對象呢就是創建Bucket操作等,創建用戶刪除用戶,包括AK/SK都可以在頁面上看到,以及命令行的操作解放出來放在頁面上操作,逐漸的走向產品化走向簡單。我這兒就不具體的播放了,主要的功能就是剛纔說的那些功能。

然後非結構化數據無處不在,其實現在都知道,移動端的一些直播之類的非常火,直播完之後它有回放功能,回放功能就是非結構化的數據,它存哪兒了,存在對象存儲上。國內的虎牙直播就是把視頻存在Ceph對象上,包括說Vphotos,其實就是雲拍照,現場拍了,經常參會的都知道,現場拍照片主辦方說你在哪兒就可以看到今天的照片,拍完照之後右下角會有這樣的一個logo,其實都是照片嘛,也是非結構化的數據,無處不在。

另外就是對象存儲的應用,Ceph對象存儲。Ceph對象存儲其實目前應用最廣的就是說,你像在玩兒遊戲,做備份文檔,包括前段時間在網易雲,網易幾乎所有的產品像考拉什麼的一些產品,都是用在對象存儲上。還有像攜程也在用對象存儲,包括今日頭條,它的一些視頻都是存在對象上,包括中國電信,是把用Ceph對接的CDN,對象對接的場景就是流媒體、轉碼存、網盤,包括一些網盤,最簡單的就是我剛纔說的Own cloud原生就是支持的。

說完之後呢,可能會有說既然是存儲肯定是要考慮它的災備情況了,這點呢剛纔也提到了Ceph可以基於機櫃做一些故障域,這個down機之後別的地方業務無感知的,對於業務沒有影響的。另外就是塊的一些災備,可以做跨集羣的複製。還有就是基於對象多站點的災備,可以多個站點的災備,可能會有人說,你只說到了塊跟對象,沒有說文件。剛纔也說到了,文件其實雖然說官方說可以用於生產,之前在L版之前都不建議生產,官方都說不建議生產,但是L版之後不建議生產這句話沒有了,但是依舊不建議上生態,因爲數據量大的時候產生的IO會比較多,包括你遷移的時候,其實它有很多的問題,沒有說滿足FS的一些特性,所以其實還不建議用,我就不推薦FS怎麼用了。

其實有很多的場景,像對象,其實可以完全替代文件的嘛,包括說像Ceph官方社區在對象存儲上轉換一下,轉換成NFS的接口你就可以用,對於業務應用來說它是個文件,存儲到後面是個對象,也可以這麼玩。包括社區最新的一些,剛纔提到混合雲的,也可以在你本地部署對象存儲之後,可以把你本地的數據通過最新的Cloud Sync 傳到公有云對象存儲上,當然也可以把他們的數據對象拉過來,也是數據管理和備份,可以備份到上面的數據。

說完了安裝、使用、災備,現在就是運維,運維我這裏推薦了一種,就是命令行的運維,包括有人說封裝了API,包括一些命令的工具,可以進行二次開發。監控方面很多用完之後不知道這個東西怎麼監控,我說了剛纔說的原生的Dashboard,有一些微觀的監控,可以看到OSG讀寫的狀態。還有Zabbix,有一個Ceph插件。另外一個就是Prometheus來玩兒,現在大部分都是用這個,也是用來監控Ceph。管理類的推薦兩個,這兩個也可以部署,這兩個玩兒Ceph的話算是比較良心的開源產品,前面這個PetaSAN在原生的Ceph上側重於塊,在原生的Ceph之上又做了一些工作,在塊方面做了一些工作,包括可以管理,可以帶一些弱化的監控,包括一些部署都可以玩兒。後面這個Proxmox類似於ESXI虛擬化,也可以管理添加刪除,這兩個產品都是開源的,看了它界面的話,比原生的好一些,這兩個產品算是業界良心的開源產品,跟社區版的話也還是跟的比較緊的。

後面推薦一本書,小白的話可以關注我們這本書《Ceph分佈式存儲實踐》,我也是這本書的主編和作者之一,這本書就是幫助Ceph小白和行外人快速瞭解Ceph是什麼東西,Ceph可以用來幹嗎,甚至說Ceph的應用場景、基本運維等都是有的。

還有就是一些學習途徑,剛纔說到一些人才培養的學習途徑,除了跟隨乙方的雲提供商團隊進行磨合,同時也可以通過外圍的網站、網校進行學校,通過網校學習+乙方雲提供商相互磨合,可以快速有效的幫助自己的團隊有效的建設。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章