1. 程式人生 > >在CentOS上安裝和配置OpenStack Nova

在CentOS上安裝和配置OpenStack Nova

因為 Python 的版本問題,在 CentOS 5.6 上安裝 OpenStack 不是件容易的事情,因為 OpenStack 是 Python 2.6 寫的,CentOS 5.6 上預設的是 Python 2.4 的環境,一些關鍵工具(比如 yum 等)和依賴關係都需要 2.4,不容易直接升級到 2.6,所以要在 CentOS 上安裝 OpenStack 的話簡單的辦法是直接用 CentOS 6.0(預設是 Python 2.6). OpenStack 的基本介紹以及如何在 Ubuntu 上安裝 OpenStack Nova 可以看:在 Ubuntu 上安裝和配置 OpenStack Nova

. 對雲端計算平臺感興趣的朋友可以看看另一個開源的雲端計算系統:在 CentOS 上安裝和配置 OpenNebula.

安裝和配置基本系統

在安裝完基本的 CentOS 6.0 系統後(最小化安裝)升級和更新整個系統,然後關閉 SELINUX 後重啟,為了簡單方便最好也關閉 iptables:

# yum update
# yum upgrade
# vi /etc/sysconfig/selinux
SELINUX=disabled
# chkconfig iptables off
# service iptables stop
# shutdown -r now

安裝 OpenStack Nova

下載和安裝 OpenStack 源:

# wget http://yum.griddynamics.net/yum/diablo-3/openstack/openstack-repo-2011.3-0.3.noarch.rpm
# rpm -ivh openstack-repo-2011.3-0.3.noarch.rpm

OpenStack Nova 需要在控制結點(Cloud Controller)和計算結點(Cloud Compute)上都安裝和啟用 libvirtd:

# yum install libvirt
# chkconfig libvirtd on
# service libvirtd start

如果伺服器用來做 Cloud Controller 結點需要安裝(OpenStack Nova 雲裡至少要有一臺伺服器作為控制結點):

# yum install euca2ools openstack-nova-node-full unzip

如果伺服器只是做計算結點則需要在每個 Cloud Compute 結點上都安裝(理論上 OpenStack Nova 雲裡可以有無數個計算結點):

# yum install euca2ools openstack-nova-node-full

配置 MySQL 資料庫

OpenStack Nova 需要資料庫的支援,這裡用的是 MySQL:

# service mysqld start
# chkconfig mysqld on
# service rabbitmq-server start
# chkconfig rabbitmq-server on

修改 MySQL 繫結地址,以便其他的節點伺服器也能訪問這個資料庫:

# vi /etc/my.cnf
...
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
...
# service mysql restart

建立一個名為 nova 的資料庫,並設定 root 從任何 IP 訪問的許可權和密碼:

# mysql -uroot -ppassword -e 'CREATE DATABASE nova;'
# mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON *.* TO \
'root'@'%' WITH GRANT OPTION;"
# mysql -uroot -ppassword -e "SET PASSWORD FOR \
'root'@'%' = PASSWORD('password');"

配置 Nova:

$ sudo vi /etc/nova/nova.conf
--verbose=false
--ec2_url=http://172.16.39.111:8773/services/Cloud
--s3_host=172.16.39.111
--cc_host=172.16.39.111
--rabbit_host=172.16.39.111
--sql_connection=mysql://nova:[email protected]/nova
--glance_api_servers=172.16.39.111:9292
--use_s3=true
--libvirt_type=kvm
--use_syslog=false
--node_availability_zone=nova
--logdir=/var/log/nova
--logging_context_format_string=%(asctime)s %(name)s: %(levelname)s [%(request_id)s %(user)s %(project)s] %(message)s
--logging_default_format_string=%(asctime)s %(name)s: %(message)s
--logging_debug_format_suffix=
--use_cow_images=true
--auth_driver=nova.auth.dbdriver.DbDriver
--network_manager=nova.network.manager.VlanManager
--scheduler_driver=nova.scheduler.zone.ZoneScheduler
--image_service=nova.image.glance.GlanceImageService
--use_ipv6=false
--ca_path=/var/lib/nova/CA
--keys_path=/var/lib/nova/keys
--images_path=/var/lib/nova/images
--buckets_path=/var/lib/nova/buckets
--instances_path=/var/lib/nova/instances
--networks_path=/var/lib/nova/networks
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--injected_network_template=/usr/share/nova/interfaces/
--libvirt_xml_template=/usr/share/nova/libvirt.xml.template
--vpn_client_template=/usr/share/nova/client.ovpn.template
--credentials_template=/usr/share/nova/novarc.template
--state_path=/var/lib/nova
--lock_path=/var/lib/nova/tmp
--vnc_enabled=true
--vncproxy_url=http://172.16.39.111:6080
--vncserver_host=0.0.0.0
--vnc_token_ttl=300

每次重啟一堆服務很麻煩,寫個指令碼方便重啟 nova 所有服務:

# vi nova-restart-all.sh
#!/bin/bash
for n in api compute network objectstore scheduler vncproxy; do service openstack-nova-$n restart; done
service openstack-glance-api restart
service openstack-glance-registry restart
# chmod +x nova-restart-all.sh
# ./nova-restart-all.sh

使用 Nova

接下來的步驟和在 Ubuntu 上安裝和配置 OpenStack Nova 差不多,這裡就不再贅述:

# nova-manage db sync
# nova-manage network create 192.168.0.0/24 1 255
# nova-manage floating create 10.10.10.2 10.10.10.224/27
# nova-manage user admin vpsee
# nova-manage project create mycloud vpsee

匯出許可權資訊:

# mkdir /home/vpsee/creds
# nova-manage project zipfile mycloud vpsee /home/vpsee/creds/novacreds.zip
# cd /home/vpsee/creds
# unzip novacreds.zip
# chown -R vpsee:vpsee /home/vpsee/creds/
# source /home/vpsee/creds/novarc

再次重啟 nova 相關的所有服務:

# ./nova-restart-all.sh

如果一切正常的話,應該可以看到下面的類似資訊,這樣 OpenStack Nova 就成功安裝了:

# euca-describe-availability-zones verbose
AVAILABILITYZONE nova available
AVAILABILITYZONE |- node00
AVAILABILITYZONE | |- nova-network enabled :-) 2011-08-16 19:28:13
AVAILABILITYZONE | |- nova-compute enabled :-) 2011-08-16 19:28:22
AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-08-16 19:28:14

啟動第一個例項

啟動例項之前需要先上傳一個系統模版(稱之為映象 image),自己製作 image 有點麻煩,可以參考:為 OpenStack Nova 製作 Ubuntu 映象 和 為 OpenStack Nova 製作 Windows 映象。

有了 image 後就可以啟動例項了,就像在 C++/Java 等面嚮物件語言裡面有了類(class)以後可以建立例項(instance)一樣,這裡有了 OS image 以後就可以建立 OS instance 了。啟動和訪問例項可以看這篇的相關部分。

【編輯推薦】

【責任編輯:李晶 TEL:(010)68476606】

相關推薦

CentOS安裝配置OpenStack Nova

因為 Python 的版本問題,在 CentOS 5.6 上安裝 OpenStack 不是件容易的事情,因為 OpenStack 是 Python 2.6 寫的,CentOS 5.6 上預設的是 Python 2.4 的環境,一些關鍵工具(比如 yum 等)和依賴關係都需要 2.4,不容易直接升級到 2.6

如何在CentOS 7安裝配置MySQL Cluster

翻譯&轉載:https://www.howtoforge.com/tutorial/how-to-install-and-configure-mysql-cluster-on-centos-7/   如何在CentOS 7上安裝和配置MySQL Cluster &nbs

CentOS 7.0 安裝配置 VNC 服務器

run 雙引號 我們 rhel 7 control linux fault 系統管理員 daemon 作為一個系統管理員,大多數時間是通過網絡管理服務器的。在管理服務器的過程中很少會用到圖形界面,多數情況下我們只是用 SSH 來完成我們的管理任務。在這篇文章裏,我們將配置

如何在CentOS 7安裝配置Nginx

1.安裝CentOS 7 EPEL倉庫 sudo yum install epel-release 2.安裝Nginx 現在Nginx儲存庫已經安裝在您的伺服器上,使用以下yum命令安裝Nginx : sudo yum install

centos 7 安裝配置vncserver

gre nta emc adding ncpa pass bsp dex des centos 7 安裝和配置vncserver 前期準備: 關閉防火墻,centos的防火墻是firewalld,關閉防火墻的命令 1 systemctl stop fi

【MySQL】centOS安裝配置MySQL

在MySQL的官方網站下載rpm包,地址為https://dev.mysql.com/downloads/repo/yum/ 也可以使用wget來下載 地址可以在網上找   然後輸入rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

如何在Ubuntu 18.04安裝配置Apache 2 Web伺服器

什麼是Apache Web Server? Apache或Apache HTTP伺服器是一個免費的開源Web伺服器,由Apache軟體基金(Apache Software Foundation)開發和維護。它的受歡迎程度可以通過以下事實來判斷:全球約有46%的網站由Apache提供支援。 Apache允許網

如何在 Ubuntu 18.04 安裝配置 Redis

Redis是一個開源的記憶體資料結構儲存。 它可以用作資料庫,快取和訊息代理,並支援各種資料結構,如字串,雜湊,列表,集等。 本教程介紹如何在 Ubuntu 18.04 伺服器上安裝和配置 Redis。 前提條件 在開始本教程之前,請確保以具有 sudo 許可權的使用者身份

在Ubuntu 16.04安裝配置Tomcat 8

出處:原始連結 簡介 Tomcat 是被廣泛使用的開源web伺服器,它具有輕量級、使用簡單靈活的優點,並且具有大量外掛的生態系統。本文帶你瞭解在Ubuntu 16.04上如何安裝和配置Tomcat 8。 你需要 Ubuntu 16.04伺服器 sudo許可權的非root使

【轉】Ubuntu 12.04安裝配置Postfix郵件服務詳細教程

原文網址 https://yq.aliyun.com/ziliao/29593 郵件伺服器配置之所以麻煩是因為需要了解很多東西,牽涉到域名服務 DNS/Bind,Web 收發郵件 Apache/PHP/MySQL/SquirrelMail,認證服務 LDAP, Ker

Windows作業系統安裝配置LDAP Server

1.雙擊程式包,出現安裝嚮導介面,單擊Yes     2.歡迎介面,單擊Next   3.勾選“I accept…”,單擊Next   4.點選Install,進入準備安裝介面    5.選擇安

在Debian 9安裝配置Observium網路監控

           Observium是一個免費的開源網路管理和監控工具,可用於監控所有的網路裝置,特別是交換機等網路裝置。 它是用PHP編寫的,使用SNMP從連線的裝置收集資料並使用Web介面監視它們。 Observium支援大量的網路硬體和作業系統,包括Linux,Wi

在Linux平臺安裝配置Ruby on Rails詳解

ruby on rails推薦的生產執行環境是Linux/FreeBSD/Unix,即Unix系列的作業系統,採用lighttpd+FCGI的解決方案。以下我將以Linux作業系統,lighttpd+FCGI,MySQL資料庫為例,從原始碼編譯安裝開始講解。 在安裝之前,應

在Ubuntu14.04安裝配置ROS Indigo

1. Ubuntu和ROS版本的對應關係 Ubuntu 和 ROS 都存在不同的版本,其對應關係如下:。 每一個 ROS 版本都對應著一個或兩個對應的 Ubuntu 版本 ROS釋出日期 RO

64位樹莓派安裝配置golang1.9.2

本文實戰了64位樹莓派環境下安裝和配置golang1.9.2的過程; 準備工作 安裝 注意要下載arm64格式的,如下圖紅框所示:注意要下載arm64格式的,如下圖紅框所示: 將下載好的go1.

安裝配置OpenStack客戶端(Jesse翻譯)

 安裝和配置OpenStack客戶端(Jesse翻譯)原文來自icehouse的OpenStack文件 回憶:在前面部分,你已經使用了keystone客戶端。 你必須安裝客戶端工具去完成剩餘的安裝工作 概述 你可以使用OpenStack命令列去執行

redhat安裝安裝配置jdk1.8詳細步驟

JDK介紹:        JDK是JAVA的開發編譯環境啊,裡面包含了很多類庫。即jar包。還有jre jvm 虛擬機器。 總而言之JDK 是java語言開發最基礎的工具包,是java程式執行的基

Centos 7安裝配置 ElasticSearch入門小白

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

Flutter系列之在 macOS 安裝配置 Flutter 開發環境

本文為Flutter開發環境在macOS下安裝全過程: 一、系統配置要求 想要安裝並執行 Flutter,你的開發環境需要最低滿足

CentOS 6.6 中jdk1.6的安裝配置方法

方法 too 生效 client uil 軟件 ted tsp term Linux中JDK1.6的安裝和配置方法 一、安裝 創建安裝目錄,在/usr/java下建立安裝路徑,並將文件考到該路徑下: # mkdir /usr/java 1、jdk-6u11-li