成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenStack 學習有哪些難點?需要哪些知識儲備?

云計算 OpenStack
很多人都反饋學習OpenStack困難重重,本文作者也經歷了從部署到運維OpenStack的一路艱辛,為此,作者將自己學習OpenStack中的難點和關注點與讀者分享,介紹了OpenStack要著重學習的重點領域和知識,希望對大家有所幫助。

很多人都反饋學習OpenStack困難重重,本文作者也經歷了從部署到運維OpenStack的一路艱辛,為此,作者將自己學習OpenStack中的難點和關注點與讀者分享,介紹了OpenStack要著重學習的重點領域和知識,希望對大家有所幫助。

前言

隨著云計算技術的發展,技術的不斷成熟,越來越多的企業開始在公司內部部署私有云計算平臺。處于成本考慮,開源的云計算管理平臺OpenStack也正在被更多的技術人員所學習及部署。云計算雖然具備很多好處,比如靈活性、伸縮性和按需分配等特性,但是在部署上卻需要一個對開源研究頗深的團隊來進行部署和管理。OpenStack組件眾多,部署較為困難,出了問題,排錯較難。由于其每半年更新一次版本,較為頻繁。企業不太可能每半年就更新一次云平臺版本,所以會造成版本間隙過大。

[[244025]]

圖片來自包圖網

雖然其發展勢頭強勁,但是無可避免的問題就是部署OpenStack需要較為資深的開源技術能力和團隊。學習OpenStack和掌握OpenStack中的難點也就成為了IT技術人員較為關心的話題了。

概念回顧

為了讓讀者更好的學習OpenStack,我們簡單的回顧一下它的基本概念。OpenStack是一個開源的具有高可用性及擴展性的云計算平臺。支持管理大部分主流的hypervisors,如KVM,Xen Server,VMware,Oracle VM,Xen等。 同時OpenStack是一個開源云計算解決方案。可以加速高伸縮性的公共和私有云(IaaS)的部署、管理、配置。使用OpenStack作為基礎,數據中心操作者可以快速方便的通過現存基礎架構創建云服務。讓IT管理人員使用計算資源像使用電力水利那樣,按需隨時獲得,并對使用量進行付費,完全顛覆了傳統數據中心建設和運維模式。通過上面的簡單介紹,我們知道OpenStack可以建立私有云、公有云以及混合云,是一個提供IAAS層服務的基礎設施云計算管理平臺。OpenStack本身是由多個功能組件組成,來共同完成以上功能。由于OpenStack處于社區維護,各個組件功能也在各大企業和社區的支持下不斷的完善,新的功能組件也在不斷的涌現。目前OpenStack常用的組件主要有以下幾類:

認證模塊(Keystone)

代號為Keystone,在OpenStack框架中主要負責管理身份驗證、服務規則和服務令牌功能的模塊。用戶訪問資源需要驗證用戶的身份與權限,服務執行操作也需要進行權限檢測,這些都需要通過 Keystone 來處理。Keystone類似一個服務總線, 或者說是整個OpenStack框架的注冊表, 其他服務通過keystone來注冊其服務的Endpoint(服務訪問的URL),任何服務之間相互的調用, 需要經過Keystone的身份驗證, 來獲得目標服務的Endpoint來找到目標服務。

計算模塊(Nova)

代號為Nova,主要負責管理計算資源、網絡資源、存儲資源等可擴展性的平臺,是OpenStack中的計算資源控制模塊。Nova自身并沒有提供任何虛擬化能力,需要通過相關受支持的驅動與各種Hypervisors交互,比如KVM、Power VM、VMware等。

鏡像模塊(Glance)

代號為Glance,主要負責管理OpenStack鏡像服務,用來注冊、登陸和檢索虛擬機鏡像。服務提供了一個REST API,能夠查詢虛擬機鏡像元數據和檢索的實際鏡像。通過鏡像服務提供的虛擬機鏡像可以存儲在不同的位置,從簡單的文件系統對象存儲到類似OpenStack對象存儲系統。

Dashboard模塊(Horizon)

代號為Horizon,是OpenStack的Dashboard,提供了一個基于web圖形的用戶操作界面,大多數針對對象的操作都可以通過其來完成。通過此界面,管理員可以較快的上手OpenStack,執行常規的操作。

塊存儲模塊(Cinder)

代號為Cinder,主要負責OpenStack中塊存儲的管理。為VM提供持久化的存儲服務。在F版之后,從Nova-volume中分離出來,立項名為Cinder,獨立提供塊存儲服務。

網絡模塊(Neutron)

代號為Neutron,主要負責OpenStack中的網絡管理,也是所有組件中最為復雜的模塊。它管理OpenStack中的所有虛擬網絡和物理網絡接入與轉發行為,提供防火墻及隔離等方面的高級網絡管理能力。

對象存儲模塊(Swift)

代號為Swift,是OpenStack中提供的一個對象存儲系統,也是所有組件內名氣相對較小的一個,為什么會這樣呢,估計是因為采用Restful Http接口,主要為互聯網提供服務的原因吧,還沒有大規模的被眾多的企業所接受。

學習難點

很多人都反饋學習OpenStack困難重重,部署過程中,“坑”不是一般的多,實在是繁瑣。而且出了問題還需要很強的排查錯誤的能力,對Linux自身的技能要求頗高。由于OpenStack是開源產品,企業可以根據自身實際需求進行定制化,所以也要求技術人員具備編程基礎,有助于環境的搭建和后期的運維。前面已經談過,網絡模塊應該算是OpenStack中最為復雜的模塊了,結構復雜,概念較多,沒有一定的網絡基礎還真不能玩轉OpenStack。

我本身從事OpenStack工作雖然不是太久,但是也經歷了從部署到運維OpenStack的一路艱辛。學習的過程中,更是從一個坑跳到了另一個坑,感覺就從沒有上岸過。大家都知道OpenStack就是一整套云計算的解決方案的框架,里面集合了包括存儲、計算、網絡、Web、數據庫等多種技術,這種方式即保證了服務的靈活性,能夠適應不同的應用場景,同時也加大了學習的難度。借著TWT的優秀平臺,將自己學習OpenStack中的難點和關注點與各位分享,希望可以對大家有幫助,同時讓自己學習更多。

1、自動化知識的儲備

要想學習好OpenStack就必須具備自動化腳本或者簡單開發的知識。眾所周知OpenStack的部署和運維過程中,需要用到很多的開源技術支持。比如高可用方面需要用到keepalived、pacemaker、HAproxy等軟件。運維中需要用到puppet、ansible或者saltstack等軟件。OpenStack的部署很復雜,如果手動部署那絕對是災難的,而且也容易出錯。所以一般都會采用自動化部署腳本方式進行自動部署,減少人為的干預,降低錯誤率。在這方面,建議搭建可以主要學習一下python和bash shell,畢竟OpenStack很多代碼是用python所寫。在業余時間【一天一次】,建議多閱讀一下OpenStack的源碼,不懂不要緊,邊學邊讀,這樣有助于后期的知識消化和理解。

2、數據庫知識的儲備

OpenStack中除了Dashboard意外,其他的組件都需要數據庫的支持。無論是MySQL還是MariaDB,或者其他數據庫。很多情況下,用戶通過界面對OpenStack進行操作,如果出現需要修改數據庫的問題,就必須要具備數據庫的排錯能力了,至少具備熟練的操作能力。舉個例子,有個時候我們在界面上發出刪除主機的指令,但是由于某種情況不能被成功操作。這時候就需要在后臺的Nova數據庫中找到相關的記錄,將其通過update語句改為已刪除,避免統計錯誤。當然這只是一個普通的實例,以后大家在學習OpenStack的路上估計會經常與數據庫打交道,不要嫌煩,要建立開源理念。

3、網絡知識的儲備

OpenStack中最為復雜、惱人等組件就是網絡模塊【Neutron】了。不夸張的說,你如果跨過了網絡模塊這個大坑,你就算是學會了OpenStack的60%了。很多人都在OpenStack的學習道路上,折在網絡大坑的不在少數。從網絡的物理設備到網絡的邏輯配置,甚至架構都要熟悉。比如要知道簡單的VLAN、Flat、DHCP、Bridge(Linux bridge或者ovs)、NAT以路由,甚至是SDN等技術。OpenStack中關于網絡的指令很多,功能異常復雜。要學會常用的一些指令,比如neutron net-list用于查看當前租戶的所有網絡信息,加上—all-tenant就可以list出所有的。Neutron net-show NETID查看某個網絡的詳細信息。Neutron net-create創建網絡,net-delete刪除玩了過等等。更多的指令,建議大家去OpenStack官網看一下。

4、存儲知識的儲備

OpenStack經過近10年的發展已經對業界常用的存儲類型進行了支持。無論是NFS、SAN還是local方式。從功能上Open Stack常用的存儲有Swift對象存儲,類似于AWS的S3服務,不過Swift具備更強的擴展性、冗余和持久性,當然了,也兼容S3 API。Cinder塊存儲,提供類似于AWS的EBS塊存儲服務,可以通過界面操作掛載到虛擬機上,提供持久化的數據存儲。存儲知識的存儲有利于我們合理的規劃OpenStack的存儲用途。分布式存儲已經占據了OpenStack的大部分市場,比如Ceph、GPFS等。熟悉哪些存儲的配置和備份技能,來從側面保障OpenStack存儲方面的穩定和數據可靠。

5、虛擬化知識的儲備

OpenStack支持KVM、Hyper-V、VMWare、Xen、Docker等主流虛擬化技術。可以看到,OpenStack主要是利用Libvirt進行的虛擬機操作,但是也支持直接調用原生的API進行操作。要理解虛擬化的功能是什么?Hypervisor可以對下層(Host OS)硬件資源(物理CPU、內存、磁盤、網卡、顯卡等)進行封裝、隔離,抽象為另一種形式的邏輯資源,再提供給上層(Guest OS)使用。所以你可以理解Hypervisor其實就是聯系Host OS和Guest OS的一個中間件,當然虛擬化可以將一份資源抽象為多份,也可以將多份資源抽象為一份。

典型場景解析

場景一、安裝OpenStack之前的基礎環境準備

OpenStack是一個開源的架構平臺,需要較多的開源軟件進行輔助支撐。所以在安裝OpenStack之前要提前做好以下準備工作:

1、 下載好相關的開源軟件,或者搭建解決依賴關系的YUM本地源。依據個人經驗,建議大家提前準備YUM源,便于順利安裝開源軟件,無需人工參與。

2、 DNS上提前注冊好相關管理節點的FQDN名

3、 確保網絡環境暢通,通過網絡隔離出管理VLAN和虛擬機VLAN

4、 提前準備群集IP

5、 系統環境準備,比如關閉防火墻及Selinux功能

場景二、自動化配置工具的準備

目前部署OpenStack都是采用自動化的方式部署,簡單不易出錯,比如Mirantis的Fuel工具,或者其他IT廠商自研的工具。但是后期具體的配置變更,就要需要使用方根據自身習慣自行決定了。我們采用的是Salt Stack作為批量配置工具。

1、 在一個獨立虛擬機中安裝Salt Stack主控節點

2、 所有的管理及計算節點安裝Salt Stack客戶端

3、 配置客戶端Salt Stack配置文件,指向主控服務器

4、 通過Salt ‘’ –A命令接受所有客戶端管理

5、 發布Salt ‘’ test.ping確定環境正常

場景三、OpenStack的聯調測試

安裝好OpenStack之后,需要驗證其環境是否可以正常工作。一般可以通過以下步驟逐級查看。

1、 查看所有組件的日志,查看是否有錯誤信息

2、 登陸Dashboard,對所有組件進行瀏覽

3、 創建一臺虛擬機,并針對虛擬機執行各種常規操作,如刪除、修改配置、冷熱遷移等

4、 物理將某臺計算節點down掉,查看是否可以在另外的節點啟動VM(如果做了高可用的話)

5、 所有計算節點之間模擬傳輸大文件

總結

以上是對OpenStack學習中的關注點的說明,指出了OpenStack要著重學習的重點領域和知識。通過以上的介紹,讀者可以認識到OpenStack的由來和功能,部署需要做哪些準備,最常見的疑難問題發生在哪個部分。當然我自己也在學習OpenStack的路上,也是按照這個思路來學習。遇到問題也會經常在TWT尋找大咖的支持和解答。大家可以多瀏覽TWT和OpenStack官方網站,學習新的知識點,解決更多的難點。再次希望這篇文章可以對大家在學習OpenStack的道路上有所幫助。

作者:張志強,多年的云計算、虛擬化架構設計、企業信息化建設、自動化運維經驗。熟練掌握X86、Power、存儲、虛擬化等硬件設備調優與配置。擁有豐富的混合元架構及管理經驗,信息安全及網絡架構的設計與運維。

責任編輯:武曉燕 來源: talkwithtrend
相關推薦

2011-05-31 11:24:11

SEO

2021-10-09 21:00:15

人工智能AI

2019-08-02 11:53:50

Android開發學習

2021-04-22 22:26:13

Java語言IT

2017-02-27 14:24:12

機器學習深度學習數學

2020-09-29 16:48:13

大數據IT技術

2017-10-30 13:27:35

緩存代碼解決

2018-04-16 11:00:48

云計算互聯網基礎設施

2019-02-14 14:44:44

云計算云應用挑戰

2017-10-24 06:12:50

機器學習數據集編程

2009-08-18 17:02:45

Django入門

2019-10-08 16:35:53

Java網絡爬蟲webmagic

2020-12-28 11:11:26

前端開發語言

2013-04-27 10:56:07

Ubuntu

2021-09-08 15:43:03

在線寫作協作文檔辦公軟件

2022-01-04 12:11:42

自動駕駛數據人工智能

2020-04-06 14:57:34

人工智能技術互聯網

2016-01-21 09:37:19

OpenStack容器編排引擎Docker

2022-10-28 16:08:22

Java開發語言

2015-07-28 10:39:34

程序員知識
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频久久| 亚洲一区二区三区视频 | 国产精品久久国产精品久久 | 91亚洲免费 | 国产免费一区二区三区 | 欧美一区二区大片 | 99久久久久久久久 | 欧美精品一区在线 | 日韩一区二区在线看 | 国产精品精品久久久 | 精品欧美一区二区在线观看 | 亚洲国产精品视频一区 | 成人在线视频网址 | 国产精品色| 毛片视频观看 | 精品国产伦一区二区三区观看体验 | 日一区二区 | 国产不卡在线观看 | 成人精品视频99在线观看免费 | 男女爱爱网站 | 天天操夜夜骑 | 久久国产区 | 中文字幕在线观看视频一区 | 成人二区| 97久久超碰 | 欧美一级二级三级视频 | 国产欧美视频一区二区三区 | 亚洲在线一区 | 成人在线观看免费爱爱 | 日韩一区二区三区在线 | 欧美日韩中文在线 | 日本在线看 | 国产性生活一级片 | 久热精品在线播放 | 久久久久久国产免费视网址 | 丝袜 亚洲 欧美 日韩 综合 | 日本国产欧美 | 黄在线免费观看 | 日韩视频在线免费观看 | 精品一二区| 99在线精品视频 |