Openstack Newton 極速部署、快速入門

命名規則

OpenStack 由美國太空總署 NASA 和雲端服務提供商 Rackspace 共同發起,並取得業界廣泛認可,目前其支援者數量已達 100 多個,核心會員有 IBM、AT&T、Canonical、HP、Nebula、Rackspace、Red Hat 和 SUSE。和 Ubuntu 類似,其每半年發布一個版本,OpenStack 命名方式也比 Ubuntu 簡單,是以字母順序命名的,每次採用一個字母,N 在字母表中排名 14 位,2016 最新版本為 Newton。

核心組件

OpenStack 組件隨着發展越來越多,但重要的是核心組件。其中 Nova 可以管理雲中虛擬機器的整個生命周期,如虛擬機器的建立,啟動,掛起、關機、重啟以及虛擬機器之間的調度和協調。 Glance 管理虛擬機器映像檔,提供映像檔啟用,尋找和註冊服務,並且提供虛擬機器的快照和備份,以及建立虛擬機器範本等功能。此外,當核心組件服務 Nova 建立虛擬機器時,需要 Glance 提供相關映像檔支援。Neutron 負責網路虛擬化,網路服務和管理的組件,可以管理局域網中的虛擬局域網 VLAN,虛擬交換機和常用的二三層網路協議,如 DHCP,還可以定義網路、子網和路由器,快速配置內部拓撲,並分配相應 IP 位址和 VLAN,完全支援 IPv4 和 IPv6。Cinder 為虛擬機器提供塊儲存服務,基本服務單位是「卷」 Volume,在相應的虛擬機器中就是一塊虛擬硬碟。 Keystone 提供 OpenStack 內部各種認證和授權及權限管理服務,通過插件支援多種安全認證協議,如 PAM,OpenLDAP 等,幾乎所有的 OpenStack 組件和用戶的操作,都必須通過該組件的認證和授權才可以順利完成。 Horizon 則 是OpenStack的圖形用戶界面。其他組件有監控搜集統計數據 Ceilometer 組件,及提供對象儲存服務及充當 Glance 冗餘儲存的Swift組件等。

NTP 時間服務

OpenStack 運作起來要很多必須的服務,最最關鍵有 NTP 時間服務,DNS 服務以及網路自動部署服務。NTP 服務極為重要,因 OpenStack 通過 Kerberos 認證協議來統一管理用戶或租客(Tenant)及其組件,而 Kerberos 協議(常用的 Active Directory 就是基於此協議的)則規定了不同客戶端之間及 OpenStack 組件之間的時間差異,不能超過此協議所規定時間,通常是 5 到 10 分鐘,否則認證將會失敗。所以部署 OpenStack 前,一定要先部署好網路時間服務。NTP 及其他關鍵服務最好部署到單獨的伺服器,因為 OpenStack 極為耗費資源。需要特別提醒大家的是,所有服務都是架設在 CentOS/RHEL 7 X64 Minimal 版本之上的。先為 NTP 伺服器設置固定的 IP 位址、主機名稱或網域名稱,並確認區域和時區設置正確。
timedatectl status     (ENTER)
如果不正確,可以使用如下命令配置。
timedatectl list-timezones     (ENTER)
從結果中找到正確時區並記住或複製準確名稱,然後設定。
timedatectl set-timezone “TIMEZONE_NAME”     (ENTER)
或使用推薦的協調世界時UTC。
timedatectl set-timezone UTC    (ENTER)
設置好後即可安裝 NTP 服務安裝包。
yum install ntp -y     (ENTER)
然後從 NTP 官方取得準確的時間,使用 RHEL 可從 0.rhel.pool.ntp.org 取得。
ntpdate 0.centos.pool.ntp.org    (ENTER)
得到準確時間,再使用 clock 命令將時間同步到系統的軟硬體時鐘。
clock -w     (ENTER)
然後執行如下命令將 NTP 服務設置為自動啟動。
systemctl enable ntpd.service     (ENTER)
最後啟動 NTP 服務。
systemctl start ntpd.service     (ENTER)
NTP 預設端口為123,可以使用如下命令來檢查 NTP 執行狀態。
netstat -tlunp | grep ntp     (ENTER)
NTP 客戶端(通常是OpenStack所管理的虛擬機器)配置起來更加簡單,不過需要首先安裝 ntpdate 客戶端程式。
yum install ntpdate -y     (ENTER)
時間同步請參照 NTP 伺服器部分,然後在計划任務 cront 中加入自動同步時間命令。
crontab -e     (ENTER)
*/30 * * * * /usr/sbin/ntpdate 0.centos.pool.ntp.org; /usr/sbin/hwclock -w
NTP 客戶端每半小時同步 NTP 伺服器時間一次,NTP 服務 IP 可以自行制定。

DNS 及網路自動部署

網域名稱和郵件服務是 OpenStack 服務可以穩定工作的前提,使用 BIND 及 Postfix 來實現並不困難。系統安裝服務對於 IaaS 雲來說也是必不可少,可以通過 PXE 或 Cobbler 自動化安裝服務來實現,這裡筆者推薦使用 Cobbler。這裡採用 Packstack 來進行快速的 All in one 安裝。Packstack 是一個基於命令行的 OpenStack 部署工具,其實就是一個 Puppet 自動部署和配置腳本,用於實現 OpenStack 的快速自動部署。

硬體要求

對於硬體的要求需要特別需要注意的是,記憶體的最低要求是 4GB,最好 8GB,OpenStack 可是個計算機資源大鱷。學習環境配置推薦中央處理器支援硬體虛擬化命令集 VT,記憶體容量 4GB或者更大磁碟空間 50GB,網路卡用千兆網路卡,標準配置應至少為兩片。作業系統採用 Red Hat Enterprise 的社區版本 CentOS 了 X64 Minimal。CentOS7 軟體源中已經包含了打包好的 OpenStack-packstack 套件,主機名稱為 openstack.example.com,可在 DNS 伺服器中加入此記錄的解析,或在 /etc/hosts 中手動指定。IP 位址為 192.168.1.183/24。先要配置網路卡的橋接,此處採用單網路卡的最簡單設置。
yum install bridge-utils -y     (ENTER)
成功安裝網橋工具後便可開始配置橋接和網路卡了,進入網路設備目錄。
cd /etc/sysconfig/network-scripts/    (ENTER)
接下來配置網橋。
vi ifcfg-br0    (ENTER)
DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
NAME=br0
IPADDR=192.168.1.183
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
IP 位址,子網掩碼,網關和 DNS 伺服器地址可以根據實際情況設置。接下來配置網橋上的網路卡,指定網橋為 br0 。
vi ifcfg-eno16777736    (ENTER)
DEVICE=eno16777736
TYPE=Ethernet
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
NAME=eno16777736
最後使用如下命令重啟網路:
systemctl restart network.service     (ENTER)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。