回覆列表
  • 1 # 運維蟲子

    看來前面的幾個回答發現講的都是假大空或者是把openstack舊版本的東西複製過來的!

    透過本文的方法可以直接把openstack(版本為O版,現在最新版為Q版)搭建出來進行學習。當然主要針對實驗環境,生產環境要複雜的多。

    再搭建之前,我先說一下我的看法(針對於沒有畢業但是日後要想從事相關工作的建議)

    1.熟悉linux,最好能用linux作為桌面,增加你使用linux的時間,有條件參加紅帽的證書認證2.使用Git,最佳的方式就是在github做一個blog,記錄自己日常的經驗和教訓,這個非常重要,掌握學習方法比你懂啥更加重要3.配置管理工具:ansible4.熟悉KVM,linux Bridge,這都是基礎。5.網路如果可以達到CCNA的水平,因為openstack的網路比較難。

    關於openstack的介紹,網上有很多都講的不錯,因此我就不累贅了。

    本文主要是來說一下關於如何搭建openstack雲平臺?

    openstack的簡述

    openstack的作用是什麼?相信基本聽過這個詞的人都知道openstack是虛擬化,是雲計算,是高新技術。但是我這裡要糾正一下openstack只是相當於一個管理平臺,如果正式一點來講的話,openstack是一個開源的雲計算管理平臺。

    openstack主要分為控制,計算,網路,儲存四大部分(關於各個的作用下面會慢慢提到)。

    搭建openstack之前

    在搭建之前,首先要考慮的是,要部署單節點還是多節點。

    如果是單節點的話(也就是常說的all in one,有時候也可以說AIO),這種方式只需要一臺伺服器就可以滿足。所有的元件都安裝在一個伺服器上。

    如果是多節點的話,就要考慮規劃上面提到的四大塊了。因為openstack的耦合性,控制,計算,網路,儲存是可以在不同或者相同的伺服器上的。在實際環境中,一般會在控制節點透過keepalived方式實施高可用(HA),如果叢集規模大的話,網路節點也需要進行高可用。

    搭建openstack的方法

    在做任何事情的時候,我認為如果不去做只是一味的去想的話,最終也做不成。

    openstack的學習一樣如此,要想了解openstack,那就先部署一套出來,只有當你部署出來的時候,你才會對openstack有了比較深的認識。因為openstack是一個開源的專案,更新速度遠遠超過書本產出。如果只是看書本的話,最終會出現跟不上新版本。

    我總結了以下幾個部署的方法及其優缺點:

    1.手動部署

    openstack官網有詳細的指導和部署方法。

    這種部署的好處是可以直接透過官網部署最新版的openstack,壞處就是對英文不好的不友好(不過一般聽過這個的英文都不差),如果安裝官網的部署會發現有很多坑等著你去踩。

    2.fuel部署

    fuel由Mirantis公司開發,他是社群貢獻排名前5名中唯一一個靠軟體和服務吃飯的公,Fuel的版本節奏很快,平均每兩個月就能提供一個相對穩定的社群版。

    fuel優點為:

    a.節點的自動發現和預校驗

    b.配置簡單、快速

    c.支援多種作業系統和發行版,支援HA部署,最關鍵的一點是fuel支援openstack健康度檢查。

    至於缺點的話:個人認為,對伺服器網絡卡要求有點嚴格,還有就是網路的VLAN劃分是難點。

    3.Devstack

    這種部署方式直接git原始碼,進行安裝,目的是讓開發者可以快速搭建一個環境,如果是第一次用可以嘗試這種方法。

    優點為:安裝簡單,只需要git下原始碼,然後直接進行安裝就可以

    缺點為:不支援新增和減少單個元件。只能將整個環境解除安裝再重新安裝。

    4.kolla

    這種方式是利用了docker技術,完美的承載了openstack,可以說是開創了全新高效的方法。基於ansible和Docker容器部署OpenStack,所需軟體包被封裝到專門的Docker映象中,安裝速度很快,半個鐘頭左右就能安裝完成。

    優點:基本可以說是顛覆了之前所有的部署方式,而且在實際操作中遠遠超過了其他的部署方式,同時也解決了之前openstack在版本升級的時候的難點。也遠遠簡化了openstack部署的複雜程度,大大降低了openstack的部署難度,從而使部署openstack降到了安裝系統的難度。

    缺點:無,個人暫時沒發現什麼問題,在1000個以下的節點,可以完美承載openstack。

    openstack元件介紹

    控制節點,負責對其餘節點的控制,包含虛擬機器建立,遷移,網路分配,儲存分配等等

    計算節點,主要為虛擬機器提供計算環境(CPU,記憶體)

    網路節點,負責網路與內網之間的通訊

    儲存節點,負責為虛擬機器提供儲存資源

    openstack(Pike,簡稱P版)安裝方法(kolla)

    本文的openstack部署方法採用kolla-ansible,後端儲存採用ceph!!!

    準備環境:系統選擇為centos7.4,網絡卡需要倆個

    以下為安裝方法:

    1.修改主機名:hostnamectl set-hostname pike

    2.關閉NetworkManager,firewalld,selinux

    3.檢視是否開啟虛擬化

    egrep "vmx|svm" /proc/cpuinfo

    4.配置docker

    可以直接用yum install docker 來安裝

    如果想要安裝docker-CE版的話,可以去網上找下教程。順便提醒一下,最後去阿里上面配置好自己的加速服務(主要是為了加速下載映象,不然速度能坑死)

    5.安裝ansible

    yum -y install ansible -y

    預設docker的registry是使用5000埠,對於OpenStack來說,有埠衝突,所以將埠改成了4000。

    6.下載PIKE版的官方映象

    7.下載kolla-ansible

    8.如果是實體機可以忽略,如果是虛擬機器一定要注意,新建/etc/kolla/config/nova/nova-compute.conf

    然後在該檔案下加入下面的內容:

    [libvirt]

    virt_type=qemu

    cpu_mode = none

    因為預設是KVM,如果是虛擬機器需要修改成qemu。

    9.給儲存打標籤

    作用是方便kolla進行安裝的時候自動識別分割槽,

    KOLLA_CEPH_OSD_BOOTSTRAP 這種代表常規磁碟

    KOLLA_CEPH_OSD_BOOTSTRAP_J 這種代表日誌盤,主要作用是為了加快讀寫,加入了固態

    快取記憶體層。

    10.配置最關鍵的檔案 global檔案。

    下面的網路介面一定要和你伺服器的網絡卡名字統一。

    11.建立ceph副本數配置檔案(ceph是一個分散式儲存,以後有機會會提到)

    在/etc/kolla/config/ceph.conf加入下面的內容:

    [global]

    osd pool default size = 1

    osd pool default min size = 1

    其中的size取決於硬碟數量,或者說是叢集的規劃,這裡設定為1即可。

    12.修改密碼檔案passwords.yml

    vim /etc/kolla/passwords.yml

    找到keystone_admin_password:這裡填寫你自己的密碼。

    13.執行檢查工具,檢查是否有問題。

    如果這個檢查透過,代表可能會安裝成功,如果不透過,後面百分百安裝不成功。

    命令為:kolla-ansible prechecks

    14.安裝部署

    命令為:kolla-ansible deploy,這個時候就開始安裝了,我們也可以去喝杯茶,然後看個報紙等待安裝結束。

    15.生成admin-openrc.sh檔案

    該檔案包含了keystone驗證資訊。

    kolla-ansible post-deploy

    經過以上15步的操作,完整的P版openstack就安裝成功了,是不是很簡單??

    結束

    透過以上的方法,我們就可以獲得一個標準的openstack。

    訪問方式為在瀏覽器直接輸入你的伺服器IP,就可以訪問。

    部署完成以後,就可以著手研究openstack的各個元件了。

    本文主要講了如何部署一個openstack,為什麼不說怎麼學習呢?我認為如果你能獨立部署一個單節點openstack,那麼你對openstack也有一定的認識了。

    開源才是王道。

  • 中秋節和大豐收的關聯?
  • 鄉鎮衛生院,職工可有休息但院長要求全年無休,怎麼去解決,大家出出主意?