一、云環境如何選擇Linux發行版
?1.1、Linux在各個領域的發展
序號 | Linux發展領域 | 說明 |
1 | Linux在服務器領域的發展 | 目前Linux在服務器領域已經占據95%的市場份額,同時Linux在服務器市場的迅速崛起,已經引起全球IT產業的高度關注,并以強勁的勢頭成為服務器操作系統領域中的中堅力量。 |
2 | Linux在移動嵌入式領域的發展 | 目前Linux已廣泛應用于手機、平板電腦、路由器、電視和電子游戲機等領域。在移動設備上廣泛使用的。 Android操作系統就是創建在Linux內核之上的。目前Android已經成為全球最流行的智能手機操作系統。且目前國內較為火熱的Hormary OS也是基于Linux開發的。 |
3 | Linux在云計算/大數據領域的發展 | 云計算、大數據作為一個基于開源軟件的平臺, Linux占據了核心優勢;據Linux基金會的研究, 96%的企業已經使用Linux操作系統進行云計算、大數據平臺的構建。 |
?1.2、常用的Linux發行版本
????????目前市面上流行的發行版本是非常多的,誰也不敢保證給出一個準確的Linux發行版本詳情,但可以肯定的是Linux正在變得越來越流行。面對這么多的Linux系統版本,大家不免會有疑惑(我到底該如何學習Linux?學哪些版本?如何才能學好Linux?),因此我們在這里做一個拋磚引玉,指明一個方向,希望能夠啟發你選擇到合適的Linux。
序號 | 常用的Linux發行版本 | 說明 |
1 | Red Hat Enterprise Linux (簡稱 RHEL) | 是紅帽企業發行版,紅帽現在主要做的就是對企業版本Linux進行開發,他在版本上注重性能與穩定性以及對硬件的支持,由于企業版的操作系統開發周期比較長,注重性能與穩定性以及對服務端的支持,因此更新速度的比較慢的。 ? ? ? ? 紅帽的企業版Linux大概每三年發布一個版本(如紅帽7.1企業版是2015年發布的,最新的版本是紅帽10);是商業版本,專供Linux服務器,需要購買授權使用。 |
2 | Centos Linux | 是社區企業操作系統,特點是開源、免費使用;它是根據紅帽企業版本開放源代碼的規定,對紅帽開放的源代碼進行編譯產生的版本; ????????與紅帽企業版的區別是:不包含閉源軟件。 |
3 | SuSE Linux | 是德國著名的Linux發行版本,在歐洲占據大約80%的市場份額;是商業化版本; 若我們想要使用免費版本可以使用Open Suse。 |
4 | Ubuntu Linux | 主打桌面版的Linux,主要是為用戶提供最新、穩定且由自由軟件構成的桌面操作系統,它的社區十分火熱,用戶可以很方便的從它的社區獲取幫助; 也有服務器版本。 |
其它Linux的發行版本還有很多,比較常見的還有Debian、GNU/Linux、 Gentoo等,以及國產深度deepin Linux和中標麒麟 Linux系統基礎——是什么、適用在哪里、如何選 |
?1.3、Linux發行版選擇
序號 | Linux發行版選擇 | 說明 |
1 | 初學者入門首選——Centos系列 | CentOS現在擁有龐大的網絡用戶群體,網絡Linux資源基本80%都是基于CentOS發行版的,如果在學習過程中遇到任何問題,在網絡中可以較容易地搜索到解決方案。鑒于目前Centos已經不支持,但是可以找到其的代替系列(如:AlmaLinux、Rocky Linux) |
2 | 開發平臺首選——Ubuntu Linux | Ubuntu的安裝非常人性化,只需按照提示一步一步進行。 Ubuntu被譽為對硬件支持最好最全面的Linux發行版之一。 |
3 | 企業級應用首選——RHEL/Centos系列 | 企業級的應用追求的是可靠性和穩定性,這就要求構建企業級應用的系統平臺具有高可靠性和高穩定性。企業級Linux的發行版本就是解決的這個問題。 |
二、云主機操作系統
?2.1、如何選擇云主機操作系統
????????Linux和Windows是目前云主機提供的兩大操作系統,一般來說,如果你需要asp、asp.net+SQLServer 架構,則應該使用Windows系統;如果是PHP+MySQL架構,云服務器使用Linux系統比較好。
????????Linux系統擁有大量的發行版可用,每個發行版都提供了一個完整的服務器操作系統和一個管理器,常用的發行版(如:CentOS、Ubuntu和Debian)。云主機的系統決定于你的用途是什么,是需要根據你的使用情況去選擇的。
?2.2、云主機的快照功能
????????快照是一種基于時間點的數據拷貝技術,是數據備份領域的一個重要的概念,理解好快照,并且有效的管理快照,是磁盤管理中的重要一課。
????????快照的目的【在于能夠記錄出某一個時刻的數據信息并將其保存,如果之后發生某些故障需要數據恢復的時候,可以通過快照來將數據恢復到之前時間點的狀態,而該時間點之后的數據都會丟失】。備份系統是快照技術的主要應用領域之一,當備份軟件需要備份某些不能停止運行的關鍵業務的時候,利用快照技術可以將某時間點的所有數據信息保存并備份,不會影響到業務的正常運行。
?2.3、云主機的快照與鏡像
序號 | 云主機快照與鏡像的區別 |
1 | 鏡像是可以直接用來創建云主機實例的(只要導入鏡像就可以運行起來)。 快照則不可以(快照只是某一時刻的數據備份)。 |
2 | 鏡像一定是包含云主機實例系統盤的數據。 快照可以是云主機實例系統盤或數據盤的數據備份。 |
3 | 鏡像可以應用與當前主機實例、其他主機實例更換系統盤或者創建新的云主機實例。 快照只可以應用于當前云主機實例磁盤的數據恢復。 |
4 | 如果我們需要在其他地域恢復實例數據,可以使用自定義鏡像。 快照不可以跨地域去使用。 |
5 | 應用場景不同:我們只能使用自定義鏡像去備份數據。 |
序號 | 快照與鏡像 | 說明 |
1 | 快照和自定義鏡像的關系 | 《1》自定義鏡像必須通過已經創建成功的快照來創建;同時快照被用來創建自定義鏡像前不能被刪除。 《2》自定義鏡像的適用范圍僅限于【系統盤】;快照的適用范圍是【系統盤】【數據盤】。 《3》自定義鏡像在云主機或云服務器釋放后,只要不刪除,創建的CD鏡像會一直保留存在;快照只要云主機或云服務器被釋放后也會被自動刪除。 |
2 | 快照適用場景 | 《1》定期數據備份(按照設置的周期【每日、每周、每月】自動執行快照策略,對數據進行備份)。 《2》臨時數據備份(由系統更新、應用發布,為防止操作失誤,在執行變更前手工執行快照,對系統進行備份)。 《3》系統盤擴充前創建快照來備份數據。 《4》磁盤數據遷移(為磁盤創建一個快照,將磁盤作為另一個磁盤的基礎數據區使用)。 |
3 | 自定義鏡像適用場景 | 《1》備份短期內不會改變的系統(如:已經完成更新、發布的應用系統)。 《2》使用已經完成的系統或應用模板,創建新的云主機實例(如:批量部署應用)。 《3》系統級數據的遷移(如:將經典網絡的云主機遷移到VPC下)。 《4》跨可用區和地域的系統還原。 |
4 | 快照和鏡像的關系 | 使用實例創建自定義鏡像時,云主機會為實例的每個磁盤都創建快照及自定義鏡像包含(云主機實例和所有磁盤的快照)。 |
對于我們日常是使用云服務器的過程中,建議創建自定義快照策略,來定時對云服務器的文件進行備份,避免因誤操作導致的數據丟失 |
三、云主機選型
????????隨著云計算技術的發展,讓云主機成為很多企業部署網絡業務的首選,面對市場上各種各樣的云產品服務、云主機產品,我們在進行選擇的時候具體該如何來選擇呢?
?3.1、?從云主機配置進行選型
? ? ? ?云主機配置主要是指云主機的CPU、內存、操作系統、硬盤、帶寬網絡、地域等方面進行綜合考量:
序號 | 云主機的配置 | 說明 |
1 | 主機帶寬 | 在帶寬這里我們需要結合應用的【類型】【結構】【訪問量】等指標來選擇: 《1》若是一個新的一般的網站,在圖片不多,且做了處理的情況下,帶寬在2M-5M左右就可以滿足要求了,不夠的話隨時在增加即可,這樣比較穩妥;若是普通的網站(如:圖片、文字網站、論壇等)占用的帶寬也是比較小的,參照這個即可。 《2》根據網站訪問量(如:一天小于1萬訪問),則帶寬在5M-10M左右也就足夠了。 《3》若是視頻下載為主的這些應用,且同時有幾百人同時在線的話,此時我們的帶寬則必須在10M以上。 |
2 | 服務器CPU | 服務器CPU代表的是云服務器的運算能力,主要根據我們的【業務類型】【業務訪問量】指標來選擇: 《1》一般Web類型的業務系統,建議兩核以上的CPU。 《2》若網站或APP的流量比較大,或者動態請求頁面較多的情況下,建議CPU的核心在四核及其以上。 《3》若云主機跑的是數據庫服務,也是比較消耗CPU,建議CPU的核心在四核及其以上。 |
3 | 操作系統 | 主要是根據每個人對操作系統的熟悉程度、軟件開發環境指標來選擇: 《1》若自己熟悉Windows那么首選就是Windows;若熟悉Linux首選就是Linux。 《2》考慮軟件開發的環境(若:我們的應用程序是使用.NET開發的,則正常情況是放在Windows系統上。若我們的應用程序是使用Java、python、PHP等開發的則Linux系統就是首選了)。 建議:云主機操作系統選擇Linux,因為它占用的資源更少,更加穩定,整體上來說更加節省成本。 |
4 | 內存大小 | 內存是數據的中轉站,也是決定應用程序響應的一個重要因素,主機選用的內存越大,那么它可以使用的緩存就越多,那么運行速度就會越快,因此內存主要根據【應用類型】來選擇: 《1》如果是一般的個人博客、企業偏向展示類的網站,內存一般在4G足夠。 《2》如果是商城類應用、數據類的應用,內存在8G-16G左右也就足夠了。 《3》如果是純內存的數據庫(如:redis等)建議是16G及其以上的內存。 |
5 | 存儲硬盤 | 硬盤主要是用來存儲數據的,硬盤的大小根據網站的大小來決定;還需考慮【硬盤的剩余空間】【硬盤的IO讀取速度】: 《1》常規應用我們使用一般的機械硬盤即可。 《2》如果是一些特殊的應用(如:對讀寫要求比較高的應用),則建議選擇固態硬盤(SSD)。 |
6 | 機房線路 | 《1》如果是針對本地的用戶,則可以選擇單線路的云主機(如:我們的應用是面向某個區域的電信用戶,則我們只用選擇電信這條線路就可以了)。 《2》但是現在我們的很多用戶都是不固定的,所以多線路的網絡質量會更好;對于一個城市來說,帶寬會有電信、聯通、移動等多個網絡運營商,云服務所在的地區,最好選擇離你的目標用戶所在區域內最近的。 《3》若你的用戶是比較分散,在全國各個地方,這個時候建議選擇BGP機房的網絡,BGP機房的網絡可以在不同運營商之間打開的速度會快很多。 |
?3.2、基于應用場景選型云主機
序號 | 基于應用場景選型云主機 | 說明 |
1 | X86普通計算場景 | 《1》針對Web服務(如:Nginx、Apache等,主要是做計算處理)推薦使用一般計算型云主機即可,CPU與內存的配比一般為1:2。 《2》對于spring cloud、MQ這類中間件屬于計算和存儲都有的需求場景,推薦使用通用型配置CPU與內存的配比是1:4。 《3》對于redis、Memcached這類緩存應用對內存的要求比較高,推薦使用內存型的云主機,CPU與內存的配比是1:8。 《4》關系型數據庫直接使用內存型云主機,對CPU、內存、硬盤的要求都比較高,建議選擇多核、高頻的CPU、內存在16G及其以上,硬盤選擇固態硬盤SSD。 《5》Nosql建議使用本地的固態硬盤SSD,大內存云主機(如:4核32G)。 《6》大數據應用場景(如:ADFS、Spark等類型應用)需要專門的大數據型云主機,這類主機的特點是CPU的性能一定要好,內存足夠大,硬盤一般即可,但存儲空間要足夠大. 《7》最底層的機器學習來說(如:MXNet這種訓練框架)會有這種專門針對GPU計算的主機。 |
2 | GPU實例選型推薦 | GPU的使用場景主要分為兩大類: 《1》人工智能或者叫做機器學習,在這個場景里面還會分為【訓練】【推理】兩個場景: ? ? ? ? 大數據場景(如:Spark、hadoop這類大數據集群)搭建的時候,如果是我們自己手動搭建的, 會把過程分為三大模塊【集群的管理節點】對應的實例規格選型(直接選擇通用型云主機即可滿足要求)【集群的計算節點】的選型(主要是偏向于正常業務負載,可以把通用型云主機作為主要選擇,搭配上SSD云盤)【集群的數據節點】的選型(主要是對數據和網絡的吞吐有較高的要求,所以推薦大數據型云主機,搭配到本地的SSD云盤)。在大數據場景里面,不同的業務不有不同的特征,會選擇不同的實例規格。 《2》圖形圖像的處理 |
3 | 數據庫場景實例選型 | 《1》對于普通業務(負載比較輕的數據庫)推薦使用通用型系列的云主機或者內存型搭配高效云盤或SSD云盤就可以處理了,這樣搭配的性價比會比較高。 《2》對于業務負載較高的集群,推薦使用本地SSD或者SSD云盤實現,這種存儲可以實現較高的IOPF和低延時,能夠滿足重載數據庫的性能需求。 |
?3.3、云主機選型總結
????????第一個法則:相同大小的企業級的實例比入門級的實例性能更穩定,但是入門級的實例性價比更高,因為企業級的實例它是獨占了vCPU,不存在一個資源的爭搶,有性能的保障。
????????第二個法則:在相同的實例規格下,新一代的實例規格比老一代的實例規格性價比更高。
????????第三個法則:選型時不僅僅要選擇合適的實例規格,而且還需要搭載合適的塊存儲,才能夠讓云上的應用達到預期的性能。
?3.4、上云選型四步走
????????第一步:對自己的業務特征做一些分析,包括對性能的要求,對網絡的要求,形成一個基本的判斷。
????????第二步:針對業務特征來選擇對應的ECS實例規格。
????????第三步:選擇對應的一個付費方式,只有選擇最合適的付費方式,才能夠實現云上的成本最優。
????????第四步:選擇合適的交付方式,幫我們省時省力地完成資源的交付。