欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于openstack安裝部署私有云詳細圖文教程

 更新時間:2017年02月04日 08:46:53   作者:朱培  
本文中作者通過自身基于OpenStack搭建私有云平臺的實戰(zhàn)經(jīng)驗,對OpenStack實施私有云落地的需求進行梳理,綜合產(chǎn)生個人的觀點和評價并和讀者分享。

本文主要分享的是云計算、openstack的使用、私有云平臺建設(shè)、云服務(wù)器云硬盤的構(gòu)建和使用。從基本概念入手到私有云建設(shè),信息量非常大。對于openstack的安裝部署都是從官方文檔中一步步的介紹,內(nèi)容非常詳細。

一、云計算 基本概念

云計算(cloud computing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法。過去在圖中往往用云來表示電信網(wǎng),后來也用來表示互聯(lián)網(wǎng)和底層基礎(chǔ)設(shè)施的抽象。因此,云計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這么強大的計算能力可以模擬核爆炸、預測氣候變化和市場發(fā)展趨勢。用戶通過電腦、筆記本、手機等方式接入數(shù)據(jù)中心,按自己的需求進行運算。

云計算分類

簡單來說,就是把應(yīng)用程序和數(shù)據(jù)都放在由大量服務(wù)器組成的云中,用戶需要什么只要購買相應(yīng)服務(wù)并使用即可。

云計算分為私有云、公有云、混合云。

云計算的服務(wù)分類:基礎(chǔ)設(shè)施即服務(wù)、平臺即服務(wù)、軟件即服務(wù)。

  1. 超大規(guī)模?!霸啤本哂邢喈?shù)囊?guī)模,Google云計算已經(jīng)擁有100多萬臺服務(wù)器,亞馬遜、IBM、微軟和Yahoo等公司的“云”均擁有幾十萬臺服務(wù)器?!霸啤蹦苜x予用戶前所未有的計算能力。
  2. 虛擬化。云計算支持用戶在任意位置使用各種終端獲取服務(wù)。所請求的資源來自“云”,而不是固定的有形的實體。應(yīng)用在“云”中某處運行,但實際上用戶無需了解應(yīng)用運行的具體位置,只需要一臺筆記本或一個PDA,就可以通過網(wǎng)絡(luò)服務(wù)來獲取各種能力超強的服務(wù)。
  3. 高可靠性?!霸啤笔褂昧藬?shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)可互換等措施來保障服務(wù)的高可靠性,使用云計算比使用本地計算機更加可靠。
  4. 通用性。云計算不針對特定的應(yīng)用,在“云”的支撐下可以構(gòu)造出于變?nèi)f化的應(yīng)用,同一片“云”可以同時支撐不同的應(yīng)用運行。
  5. 高可伸縮性?!霸啤钡囊?guī)??梢詣討B(tài)伸縮,滿足應(yīng)用和用戶規(guī)模增長的需要。
  6. 按需服務(wù)?!霸啤笔且粋€龐大的資源池,用戶按需購買,像自來水、電和煤氣那樣計費。
  7. 極其廉價。“云”的特殊容錯措施使得可以采用極其廉價的節(jié)點來構(gòu)成云;“云”的自動化管理使數(shù)據(jù)中心管理成本大幅降低;“云”的公用性和通用性使資源的利用率大幅提升;“云”設(shè)施可以建在電力資源豐富的地區(qū),從而大幅降低能源成本。

 二、Openstack基本概念

OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成

具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、

可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺。OpenStack通過各種互補的

服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個服務(wù)提供API以進行集成。

常見組件:

  • Dashboard(web項目)
  • Keystone(權(quán)限管理)
  • Nova(管理虛擬機)
  • Nova-network(管理網(wǎng)絡(luò)流量和ip)
  • Glance(鏡像管理項目)
  • Cinder(磁盤管理)
  • Swift(網(wǎng)盤,對象)

基礎(chǔ)的系統(tǒng)圖

Openstack安裝部署

下面來說一說openstack的安裝部署。首先說明openstack的整體安裝非常復雜,文末提供官方安裝文檔下載,我就是根據(jù)這個英文的官方文檔來安裝部署的。以下內(nèi)容是參照官方文檔“openstack-install-guide-yum-icehouse.pdf”來的。

首先需要準備3臺linux的機器。我這里選用的是centos6.6的64位的系統(tǒng)。配置IP地址,關(guān)閉防火墻,修改主機名。

• Controller Node: 1 processor, 2 GB memory, and 5 GB storage

• Compute01: 1 processor, 512 MB memory, and 5 GB storage

• Compute02 Node: 1 processor, 2 GB memory, and 10 GB storage

我這里controller的ip地址是:192.168.44.147

computer01:192.168.44.148

computer02:192.168.44.149

基本環(huán)境配置

以下內(nèi)容是在controller機器上配置的。

1、數(shù)據(jù)庫安裝。

因為需要一個數(shù)據(jù)庫,所以這里選用了mysql數(shù)據(jù)庫。

yum install mysql mysql-server MySQL-python

編輯/etc/my.cnf文件,在里面添加如下內(nèi)容,主要意思就是設(shè)置編碼為utf-8。

default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

然后啟動服務(wù),開機啟動。

# service mysqld start
# chkconfig mysqld on
# mysql_install_db
# mysql_secure_installation

賦權(quán),使其可以遠程登錄。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'a';

2、openstack基本包安裝。

# yum install yum-plugin-priorities

# yum install http://repos.fedorapeople.org/repos/openstack/openstackicehouse/rdo-release-icehouse-3.noarch.rpm

# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.
noarch.rpm

# yum install openstack-utils

# yum install openstack-selinux

3、安裝消息隊列

yum install qpid-cpp-server

啟動服務(wù)

service qpidd start
chkconfig qpidd on

權(quán)限認證服務(wù)(keystone)

安裝權(quán)限認證服務(wù):

yum install openstack-keystone python-keystoneclient -y

創(chuàng)建用戶,寫入到配置文件中:

openstack-config --set /etc/keystone/keystone.conf \
database connection mysql://keystone:KEYSTONE_DBPASS@controller/keystone

創(chuàng)建keystone數(shù)據(jù)庫表:

$ mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
mysql> exit

自動生成表:

su -s /bin/sh -c "keystone-manage db_sync" keystone

設(shè)置用戶環(huán)境變量:

ADMIN_TOKEN=$(openssl rand -hex 10)
echo $ADMIN_TOKEN
openstack-config --set /etc/keystone/keystone.conf DEFAULT \
admin_token $ADMIN_TOKEN

# keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
# chown -R keystone:keystone /etc/keystone/ssl
# chmod -R o-rwx /etc/keystone/ssl

啟動keystone服務(wù):

service openstack-keystone start
chkconfig openstack-keystone on

將admin_token設(shè)置到環(huán)境變量中去。

export OS_SERVICE_TOKEN=$ADMIN_TOKEN
export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

創(chuàng)建管理員用戶,默認的用戶名為admin,密碼為ADMIN_PASS,你可以自定義修改:

[root@controller keystone]# keystone user-create --name=admin --pass=ADMIN_PASS --email=ADMIN_EMAIL
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | ADMIN_EMAIL|
| enabled | True |
|id| 332f5ecb18c64bf687b154facd629fb6 |
| name | admin |
| username | admin |
+----------+----------------------------------+
[root@controller keystone]# keystone role-create --name=admin
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
|id| ab5da2c50d7443efb0514e84c2b4adb7 |
| name | admin |
+----------+----------------------------------+
[root@controller keystone]# keystone tenant-create --name=admin --description="Admin Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Admin Tenant |
| enabled | True |
| id | b89723a38b154eeea6416a83b293b0ad |
| name| admin |
+-------------+----------------------------------+
[root@controller keystone]# keystone user-role-add --user=admin --tenant=admin --role=admin
[root@controller keystone]# keystone user-role-add --user=admin --role=_member_ --tenant=admin
[root@controller keystone]#

創(chuàng)建一個權(quán)限認證服務(wù),因為我這里的主機名是controller,所以下面有 http://controller:35357/v2.0 這些信息,可以自定義修改:

[root@controller keystone]# keystone service-create --name=keystone --type=identity \
> --description="OpenStack Identity"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description |OpenStack Identity|
| enabled | True |
| id | 4bfd5f39b86c45edb92d5c0488987dd8 |
| name| keystone |
| type| identity |
+-------------+----------------------------------+
[root@controller keystone]# keystone endpoint-create \
> --service-id=$(keystone service-list | awk '/ identity / {print $2}') \
> --publicurl=http://controller:5000/v2.0 \
> --internalurl=http://controller:5000/v2.0 \
> --adminurl=http://controller:35357/v2.0
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://controller:35357/v2.0 |
| id | 0350b72901a141498fe48304b13a1b98 |
| internalurl | http://controller:5000/v2.0|
| publicurl | http://controller:5000/v2.0|
|region |regionOne |
| service_id | 4bfd5f39b86c45edb92d5c0488987dd8 |
+-------------+----------------------------------+
[root@controller keystone]# keystone user-create --name=demo --pass=DEMO_PASS --email=DEMO_EMAIL
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email |DEMO_EMAIL|
| enabled | True |
|id| b44a9a1462d74f4e928b3b339289a2ae |
| name | demo |
| username | demo |
+----------+----------------------------------+
[root@controller keystone]# keystone tenant-create --name=demo --description="Demo Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Demo Tenant|
| enabled | True |
| id | 7bd79509ee184a2098ca0644679b60a8 |
| name| demo |
+-------------+----------------------------------+
[root@controller keystone]# keystone user-role-add --user=demo --role=_member_ --tenant=demo
[root@controller keystone]#

為了方便我們?nèi)〉絫oken,我們可以vi admin-openrc.sh,然后添加如下內(nèi)容:

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller:35357/v2.0

在每次關(guān)機重啟之后都要重新執(zhí)行下面的命令,讓環(huán)境變量起作用。否則會報”Expecting an auth URL via either –os-auth-url or env[OS_AUTH_URL]”的錯誤:

source admin-openrc.sh

我們可以使用下面的命令查看keystone目前的用戶有哪些:

keystone user-list

測試效果:

打開restclient-ui-3.5-jar-with-dependencies.jar來測試效果:

url地址是: http://192.168.44.147:5000/v2.0/

訪問成功。

配置鏡像服務(wù)(glance)

在controller服務(wù)器中安裝服務(wù):

yum install openstack-glance python-glanceclient


openstack-config --set /etc/glance/glance-api.conf database \
connection mysql://glance:GLANCE_DBPASS@controller/glance


openstack-config --set /etc/glance/glance-registry.conf database \
connection mysql://glance:GLANCE_DBPASS@controller/glance

在mysql數(shù)據(jù)庫中創(chuàng)建glance數(shù)據(jù)庫:

$ mysql -u root -p
mysql> CREATE DATABASE glance;
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';

flush privileges;

自動生成表:

su -s /bin/sh -c "glance-manage db_sync" glance

在keystone上創(chuàng)建用戶:

keystone user-create --name=glance --pass=GLANCE_PASS --email=glance@example.com
$ keystone user-role-add --user=glance --tenant=service --role=admin

配置授權(quán)服務(wù):

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_uri http://controller:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_host controller
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_port 35357
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_protocol http
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_tenant_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_user glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_password GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy \
flavor keystone
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
auth_uri http://controller:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
auth_host controller
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
auth_port 35357
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
auth_protocol http
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
admin_tenant_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
admin_user glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken \
admin_password GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy \
flavor keystone

啟動服務(wù):

service openstack-glance-api start
# service openstack-glance-registry start
# chkconfig openstack-glance-api on
# chkconfig openstack-glance-registry on

創(chuàng)建服務(wù):

$ keystone service-create --name=glance --type=image \
--description="OpenStack Image Service"


$ keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ image / {print $2}') \
--publicurl=http://controller:9292 \
--internalurl=http://controller:9292 \
--adminurl=http://controller:9292

[root@controller ~]# keystone service-create --name=glance --type=image \
> --description="OpenStack Image Service"
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
 _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Image Service |
| enabled | True |
| id | a45f77cfc12c42d19a45a6ea12cdfc51 |
| name| glance |
| type| image |
+-------------+----------------------------------+
[root@controller ~]# keystone endpoint-create \
> --service-id=$(keystone service-list | awk '/ image / {print $2}') \
> --publicurl=http://controller:9292 \
> --internalurl=http://controller:9292 \
> --adminurl=http://controller:9292

+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://controller:9292 |
| id | 75deb2d2f85e4b7b88fe18bf5fca1a87 |
| internalurl | http://controller:9292 |
| publicurl | http://controller:9292 |
|region |regionOne |
| service_id | a45f77cfc12c42d19a45a6ea12cdfc51 |
+-------------+----------------------------------+

創(chuàng)建鏡像,先將下載好的cirros-0.3.2-x86_64-disk.img放置在/root目錄下,然后執(zhí)行下面的命令:

復制代碼 代碼如下:

glance image-create --name "cirros-0.3.2-x86_64" --disk-format qcow2 \
--container-format bare --is-public True --progress < cirros-0.3.2-x86_64-disk.img

查看鏡像列表:

glance image-list

在前面我們已經(jīng)對kvm虛擬化有所了解,所以我們現(xiàn)在知道qcow2就是一個鏡像文件。

服務(wù)器管理(Nova)

對于虛擬機管理我們需要從controller和computer01進行配置。

先來看controller的配置:

yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor \
openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler \
python-novaclient

$ mysql -u root -p
mysql> CREATE DATABASE nova;
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';

openstack-config --set /etc/nova/nova.conf database connection mysql://nova:NOVA_DBPASS@controller/nova

openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid
openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller

openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.44.147
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 192.168.216.210
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.44.147


openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password NOVA_PASS



$ keystone user-create --name=nova --pass=NOVA_PASS --email=nova@example.com
$ keystone user-role-add --user=nova --tenant=service --role=admin


$ keystone service-create --name=nova --type=compute \
--description="OpenStack Compute"
$ keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ compute / {print $2}') \
--publicurl=http://controller:8774/v2/%\(tenant_id\)s \
--internalurl=http://controller:8774/v2/%\(tenant_id\)s \
--adminurl=http://controller:8774/v2/%\(tenant_id\)s

然后是computer01的配置:

yum install openstack-nova-compute

 openstack-config --set /etc/nova/nova.conf database connection mysql://nova:NOVA_DBPASS@controller/nova
 openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000
 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller
 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
 openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
 openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
 openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password NOVA_PASS

 openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid
 openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller


 openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.44.148
 openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True
 openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
 openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.44.148
 openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://controller:6080/vnc_auto.html


openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller

openstack-config --set /etc/nova/nova.conf libvirt virt_type kvm

啟動服務(wù):

service libvirtd start
 service messagebus start
 service openstack-nova-compute start
 chkconfig libvirtd on
 chkconfig messagebus on
 chkconfig openstack-nova-compute on

網(wǎng)絡(luò)服務(wù)配置

在controller端:

openstack-config --set /etc/nova/nova.conf DEFAULT \
network_api_class nova.network.api.API

openstack-config --set /etc/nova/nova.conf DEFAULT \
security_group_api nova

在computer01端:

yum install openstack-nova-network openstack-nova-api


# openstack-config --set /etc/nova/nova.conf DEFAULT \
network_api_class nova.network.api.API
# openstack-config --set /etc/nova/nova.conf DEFAULT \
security_group_api nova
# openstack-config --set /etc/nova/nova.conf DEFAULT \
network_manager nova.network.manager.FlatDHCPManager

# openstack-config --set /etc/nova/nova.conf DEFAULT \
firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver

# openstack-config --set /etc/nova/nova.conf DEFAULT \
network_size 254
# openstack-config --set /etc/nova/nova.conf DEFAULT \
allow_same_net_traffic False
# openstack-config --set /etc/nova/nova.conf DEFAULT \
multi_host True
# openstack-config --set /etc/nova/nova.conf DEFAULT \
send_arp_for_ha True
# openstack-config --set /etc/nova/nova.conf DEFAULT \
share_dhcp_address True
# openstack-config --set /etc/nova/nova.conf DEFAULT \
force_dhcp_release True
# openstack-config --set /etc/nova/nova.conf DEFAULT \
flat_network_bridge br100
# openstack-config --set /etc/nova/nova.conf DEFAULT \
flat_interface eth1
# openstack-config --set /etc/nova/nova.conf DEFAULT \
public_interface eth0

nova network-create demo-net –bridge br100 –multi-host T \

–fixed-range-v4 88.8.8.16/28

然后使用nova net-list來查看:

創(chuàng)建虛擬機

1、配置ssh密碼登錄:

ssh-keygen

2、增加公鑰到openstack環(huán)境中:

nova keypair-add --pub-key ~/.ssh/id_rsa.pub demo-key

3、驗證是否配置成功:

nova keypair-list

nova flavor-list

4、創(chuàng)建實例:

復制代碼 代碼如下:
nova boot --flavor m1.tiny --image cirros-0.3.2-x86_64 --nic netid=DEMO_NET_ID\
--security-group default --key-name demo-key demo-instance1

說明:

DEMO_NET_ID:指的是nova net-list的ID。

demo-instance1指的是虛擬機的名字。

例如我的成功執(zhí)行如下:

nova boot --flavor m1.tiny --image cirros-0.3.2-x86_64 --nic net-id=55fc305f-570f-4d4f-89d0-ce303e589f20 \
--security-group default --key-name demo-key tfjt

5、使用nova list進行查看。

從這里我們看到我這上面有一個ip地址192.168.44.17.這個地址就是浮動IP。

6、配置浮動IP

浮動ip

nova-manage floating create --ip_range=192.168.44.16/28

查看可用地址

nova-manage floating list

nova floating-ip-create

給創(chuàng)建的虛擬機綁定浮動ip,這個7bc0086…就是我之前創(chuàng)建的虛擬機的ID。后面接上IP地址即可。

nova add-floating-ip 7bc00086-1870-4367-9f05-666d5067ccff 192.168.44.17

監(jiān)聽

cpdump -n -i eth0 icmp

在controller上:

nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

7、使用下面的命令可以輸出一個url地址:

nova get-vnc-console tfjt novnc

8、我們可以在瀏覽器中進行訪問。

到這里為止,我們的云服務(wù)器就算完成了。可以在瀏覽器上訪問我們的云服務(wù)器,怎么樣是不是很激動。

界面服務(wù)(dashboard)

上面我們可以看到很多操作是在終端進行的,那么肯定是有界面版的,所以我們在computer02中進行配置。

1、安裝服務(wù)

yum install memcached python-memcached mod_wsgi openstack-dashboard

2、文件配置。

在controller中

配置/etc/openstack-dashboard/local_settings。修改為如下內(nèi)容。

ALLOWED_HOSTS = ['*']


CACHES = {
'default': {
'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION' : '127.0.0.1:11211'
}
}

OPENSTACK_HOST = "controller"

3、連接

setsebool -P httpd_can_network_connect on

service httpd start
# service memcached start
# chkconfig httpd on
# chkconfig memcached on

4、瀏覽器中訪問。

http://192.168.44.147/dashboard/project/

 

用戶名就是我們之前配置的admin,密碼是ADMIN_PASS

在這個界面版里面的各種操作我這里就不細說了,可以自己去體驗。

在這里可以看到我們的云服務(wù)器實例。

云硬盤服務(wù)(cinder)

了解過阿里云或者騰訊云的就知道,里面都有一個云硬盤服務(wù),可以給我們的機器增加磁盤。

在controller端:

yum stall openstack-cinde

openstack-config --set /etc/cinder/cinder.conf \
database connection mysql://cinder:CINDER_DBPASS@controller/cinder

mysql> CREATE DATABASE cinder;
mysql> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'CINDER_DBPASS';
mysql> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY 'CINDER_DBPASS';

創(chuàng)建數(shù)據(jù)庫表:

# su -s /bin/sh -c "cinder-manage db sync" cinder

創(chuàng)建用戶并賦予角色:

$ keystone user-create --name=cinder --pass=CINDER_PASS--email=cinder@example.com
$ keystone user-role-add --user=cinder --tenant=service --role=admin

權(quán)限控制配置:

# openstack-config --set /etc/cinder/cinder.conf DEFAULT \
auth_strategy keystone
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_uri http://controller:5000
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_host controller
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_protocol http
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_port 35357
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_user cinder
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_tenant_name service
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_password CINDER_PASS

消息隊列配置:

# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rpc_backend qpid
# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT qpid_hostname controller



$ keystone service-create --name=cinder --type=volume --description="OpenStack Block Storage"
$ keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ volume / {print $2}') \
--publicurl=http://controller:8776/v1/%\(tenant_id\)s \
--internalurl=http://controller:8776/v1/%\(tenant_id\)s \
--adminurl=http://controller:8776/v1/%\(tenant_id\)s


$ keystone service-create --name=cinderv2 --type=volumev2 --description="OpenStack Block Storage v2"
$ keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ volumev2 / {print $2}') \
--publicurl=http://controller:8776/v2/%\(tenant_id\)s \
--internalurl=http://controller:8776/v2/%\(tenant_id\)s \
--adminurl=http://controller:8776/v2/%\(tenant_id\)s


service openstack-cinder-api start
# service openstack-cinder-scheduler start
# chkconfig openstack-cinder-api on
# chkconfig openstack-cinder-scheduler on


cinder service-list
openstack-config --set /etc/cinder/cinder.conf \
DEFAULT qpid_hostname controller

cinder --debug list

keystone user-create --name=cinder --pass=CINDER_PASS --email=cinder@example.com


openstack-config --set /etc/cinder/cinder.conf \
DEFAULT my_ip 192.168.44.147

在node端(computer02)

pvcreate /dev/sdb
# vgcreate cinder-volumes /dev/sdb
 yum install openstack-cinder scsi-target-utils

# openstack-config --set /etc/cinder/cinder.conf DEFAULT \
auth_strategy keystone
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_uri http://controller:5000
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_host controller
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_protocol http
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_port 35357
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_user cinder
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_tenant_name service
# openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_password CINDER_PASS


# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rpc_backend qpid
# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT qpid_hostname controller



# openstack-config --set /etc/cinder/cinder.conf \
database connection mysql://cinder:CINDER_DBPASS@controller/cinde



# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT my_ip MANAGEMENT_INTERFACE_IP_ADDRESS


# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT glance_host controller

# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT iscsi_helper tgtadm

配置文件中:

vi /etc/tgt/targets.conf

include /etc/cinder/volumes/*

啟動服務(wù):

# service openstack-cinder-volume start
# service tgtd start
# chkconfig openstack-cinder-volume on
# chkconfig tgtd on

創(chuàng)建磁盤:

cinder create --display-name myVolume 1

查看磁盤列表:

cinder list

然后再界面端查看云硬盤的配置并進行掛載:

在云服務(wù)器上掛載磁盤:

$ mkfs.ext3 /dev/vdb1

$ mkdir /mnt/test
$ mount /dev/vdb1 /mnt/test
$ mount

$ fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x64817ea3.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Partition type:
 p primary (0 primary, 0 extended, 4 free)
 e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-2097151, default 2048): +1G
Value out of range.
First sector (2048-2097151, default 2048): +512M
Last sector, +sectors or +size{K,M,G} (1048576-2097151, default 2097151): 
Using default value 2097151

Command (m for help): p

Disk /dev/vdb: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x64817ea3

 Device Boot Start End Blocks Id System
/dev/vdb1 1048576 2097151 524288 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
$ df -h

總結(jié):整個操作流程非常復雜,我也是花了幾天才慢慢搭建好的,這其實也就是個基礎(chǔ),給的其實是一個思路,后面需要怎樣的擴展可以根據(jù)自己的業(yè)務(wù)需要進行不同的設(shè)置。對于不明白的地方可以查閱官方文檔。

openstack官方文檔下載地址:http://www.dbjr.com.cn/books/530692.html

相關(guān)文章

  • OpenStack初始化淺析

    OpenStack初始化淺析

    OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺。
    2017-01-01
  • openstack云計算keystone組件工作流程及服務(wù)關(guān)系

    openstack云計算keystone組件工作流程及服務(wù)關(guān)系

    這篇文章主要介紹了openstack云計算keystone組件工作流程及服務(wù)關(guān)系,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題

    OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題

    這篇文章主要介紹了OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題的相關(guān)資料,Ceilometer使用MongoDB作為數(shù)據(jù)庫,不斷進行采樣,導致數(shù)據(jù)量膨脹,占用過多的磁盤空間,這里提供解決辦法,需要的朋友可以參考下
    2016-12-12
  • Openstack 啟動instance ''hvm''錯誤問題解決辦法

    Openstack 啟動instance ''hvm''錯誤問題解決辦法

    這篇文章主要介紹了Openstack 啟動instance 'hvm'錯誤問題解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • openstack 重啟的服務(wù)命令整理總結(jié)

    openstack 重啟的服務(wù)命令整理總結(jié)

    這篇文章主要介紹了openstack 重啟的服務(wù)命令整理總結(jié)的相關(guān)資料,這里對 openstack 的服務(wù)命令進行了詳細的介紹,openstack 的服務(wù)命令比較多,需要的朋友可以參考下
    2016-11-11
  • 詳解Openstack環(huán)境準備

    詳解Openstack環(huán)境準備

    本篇文章主要介紹了詳解Openstack環(huán)境準備,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • openstack pike單機一鍵安裝shell的方法

    openstack pike單機一鍵安裝shell的方法

    這篇文章主要介紹了openstack pike單機一鍵安裝shell的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • OpenStack之日志詳細介紹

    OpenStack之日志詳細介紹

    這篇文章主要介紹了 OpenStack之日志詳細介紹的相關(guān)資料,這里對日志系統(tǒng)做了詳解,需要的朋友可以參考下
    2016-11-11
  • Openstack各組件邏輯關(guān)系及運行流程解析

    Openstack各組件邏輯關(guān)系及運行流程解析

    這篇文章主要為大家介紹了Openstack各組件邏輯關(guān)系及運行流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • 淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡(luò)

    淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡(luò)

    這篇文章主要介紹了淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡(luò),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論