1openstack icehousemulti完整版.docx

上传人:b****3 文档编号:27106355 上传时间:2023-06-27 格式:DOCX 页数:49 大小:935.97KB
下载 相关 举报
1openstack icehousemulti完整版.docx_第1页
第1页 / 共49页
1openstack icehousemulti完整版.docx_第2页
第2页 / 共49页
1openstack icehousemulti完整版.docx_第3页
第3页 / 共49页
1openstack icehousemulti完整版.docx_第4页
第4页 / 共49页
1openstack icehousemulti完整版.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

1openstack icehousemulti完整版.docx

《1openstack icehousemulti完整版.docx》由会员分享,可在线阅读,更多相关《1openstack icehousemulti完整版.docx(49页珍藏版)》请在冰豆网上搜索。

1openstack icehousemulti完整版.docx

1openstackicehousemulti完整版

openstackicehouse在ubuntu14.04上的搭建过程(多节点)

 

第一节平台的基本搭建

参考地址:

一、框架图

Openstack三节点架构图

二、准备工作

1,新建三台虚拟机分别为controller、network、compute等三个节点,然后在各自虚拟机目录下,在.vmx中修改成vcpu.hotadd="FALSE"

2,在三台虚拟机上,新建网卡,然后分别设以下ip

controller

vmnet8172.24.54.12

Vmnet110.0.0.11

network

vmnet8172.24.54.22

vmnet110.0.0.21

vmnet210.0.1.21

compute

vmnet8172.24.54.32

vmnet110.0.0.31

vmnet210.0.1.31

具体过程如下:

(1)controller

vi/etc/hostname并写入

controller

vi/etc/hosts并写入

10.0.0.11controller

10.0.0.21network

10.0.0.31compute

vi/etc/network/interfaces

#Themanagementnetworkinterface

autoeth0

ifaceeth0inetstatic

address172.24.54.12

netmask255.255.255.0

gateway172.24.54.2

#Thepublicnetworkinterface

autoeth1

ifaceeth1inetstatic

address10.0.0.11

netmask255.255.255.0

如果不能上外网,添加DNS在目录下创建tail文件,对network和compute也适用

cd/etc/resolvconf/resolv.conf.d/

vimtail写入

nameserver172.24.54.2

(2)network

vi/etc/hostname并写入

network

vi/etc/hosts并写入

10.0.0.11controller

10.0.0.21network

10.0.0.31compute

vi/etc/network/interfaces

#Themanagementnetworkinterface

autoeth0

ifaceeth0inetstatic

address172.24.54.22

netmask255.255.255.0

gateway172.24.54.2

#VMtrafficinterface

autoeth1

ifaceeth1inetstatic

address10.0.0.21

netmask255.255.255.0

#Thepublicnetworkinterface

autoeth2

ifaceeth2inetstatic

address10.0.1.21

netmask255.255.255.0

(3)compute

vi/etc/hostname加入

compute

vi/etc/hosts加入

10.0.0.11controller

10.0.0.21network

10.0.0.31compute

vi/etc/network/interfaces

#Themanagementnetworkinterface

autoeth0

ifaceeth0inetstatic

address172.24.54.32

netmask255.255.255.0

gateway172.24.54.2

#VMtrafficinterface

autoeth1

ifaceeth1inetstatic

address10.0.0.31

netmask255.255.255.0

#VMtrafficinterface

autoeth2

ifaceeth2inetstatic

address10.0.1.31

netmask255.255.255.0

(4)测试

从controller节点

#pingasiteontheinternet:

pingopenstack.org

#pingthemanagementinterfaceonthenetworknode:

pingnetwork

#pingthemanagementinterfaceonthecomputenode:

pingcompute

从network节点:

#pingasiteontheinternet:

pingopenstack.org

#pingthemanagementinterfaceonthecontrollernode:

pingcontroller

#pingtheVMtrafficinterfaceonthecomputenode:

ping172.24.55.31

从compute节点:

#pingasiteontheinternet:

pingopenstack.org

#pingthemanagementinterfaceonthecontrollernode:

pingcontroller

#pingtheVMtrafficinterfaceonthenetworknode:

ping172.24.55.21

三、搭建过程

1,controller节点要安装以下服务

1.1安装支持服务(MySQL和RabbitMQ)。

(1)更新系统以及各依赖关系

apt-getupdate-y&&apt-getupgrade-y&&apt-getdist-upgrade

(2)安装时间同步服务

apt-getinstall-yntp

(3)安装数据库mysql

apt-getinstall-ymysql-serverpython-mysqldb

(4)修改下面文件

vi/etc/mysql/f

bind-address=10.0.0.11

vi/etc/mysql/f

[mysqld]

default-storage-engine=innodb

innodb_file_per_table

collation-server=utf8_general_ci

init-connect='SETNAMESutf8'

character-set-server=utf8

(5)重启数据库

servicemysqlrestart

(6)删除数据库匿名用户

在终端下执行

mysql_install_db

mysql_secure_installation

(7)安装RabbitMQ(MessageQueue)服务:

apt-getinstall-yrabbitmq-server

1.2安装认证服务(Keystone)

(1)安装keystone包

apt-getinstall-ykeystone

(2)为keystone创建数据库

mysql-uroot-p

CREATEDATABASEkeystone;

GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'localhost'IDENTIFIEDBY'KEYSTONE_DBPASS';

GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'IDENTIFIEDBY'KEYSTONE_DBPASS';

exit;

(3)移除KeystoneSQLite数据库

rm/var/lib/keystone/keystone.db

(4)编辑修改文件

vi/etc/keystone/keystone.conf

[database]

把connection=sqlite:

////var/lib/keystone/keystone.db改成

connection=mysql:

//keystone:

KEYSTONE_DBPASS@controller/keystone

[DEFAULT]

admin_token=ADMIN

log_dir=/var/log/keystone

(5)重启认证服务并并同步数据库

servicekeystonerestart

keystone-managedb_sync

(6)检查同步结果,看表里面有数据没,有就说明成功了

mysql-uroot-pkeystone

showTABLES;

(7)定义users,tenants,androles:

在终端下先添加环境变量

exportOS_SERVICE_TOKEN=ADMIN

exportOS_SERVICE_ENDPOINT=http:

//controller:

35357/v2.0

在终端下#Createanadministrativeuser

keystoneuser-create--name=admin--pass=admin_pass--email=admin@

keystonerole-create--name=admin

keystonetenant-create--name=admin--description="AdminTenant"

keystoneuser-role-add--user=admin--tenant=admin--role=admin

keystoneuser-role-add--user=admin--role=_member_--tenant=admin

#Createanormaluser

keystoneuser-create--name=demo--pass=demo_pass--email=demo@

keystonetenant-create--name=demo--description="DemoTenant"

keystoneuser-role-add--user=demo--role=_member_--tenant=demo

#Createaservicetenant

keystonetenant-create--name=service--description="ServiceTenant"

(8)定义服务和API端点,在终端分别输入下面两条指令

keystoneservice-create--name=keystone--type=identity--description="OpenStackIdentity"

keystoneendpoint-create\

--service-id=$(keystoneservice-list|awk'/identity/{print$2}')\

--publicurl=http:

//172.24.54.12:

5000/v2.0\

--internalurl=http:

//controller:

5000/v2.0\

--adminurl=http:

//controller:

35357/v2.0

(9)新建两个文件,分别编辑如下,用于导入环境变量,要记住下面文件的路径,以便用时导入

vicreds

#Pastethefollowing:

exportOS_TENANT_NAME=admin

exportOS_USERNAME=admin

exportOS_PASSWORD=admin_pass

exportOS_AUTH_URL="http:

//172.24.54.12:

5000/v2.0/"

viadmin_creds

#Pastethefollowing:

exportOS_USERNAME=admin

exportOS_PASSWORD=admin_pass

exportOS_TENANT_NAME=admin

exportOS_AUTH_URL=http:

//controller:

35357/v2.0

(10)测试Keystone:

#清除OS_SERVICE_TOKEN和OS_SERVICE_ENDPOINT环境变量里的值

unsetOS_SERVICE_TOKENOS_SERVICE_ENDPOINT

#请求授权认证

keystone--os-username=admin--os-password=admin_pass--os-auth-url=http:

//controller:

35357/v2.0token-get

#加载admin认证的环境变量文件

sourceadmin_creds

keystonetoken-get

#加载环境变量文件

sourcecreds

开始测试

keystoneuser-list

keystoneuser-role-list--useradmin--tenantadmin

1.3安装镜像服务(Glance)

(1)安装Glance包:

apt-getinstall-yglancepython-glanceclient

(2)为Glance创建一个MySQL数据库:

mysql-uroot-p

CREATEDATABASEglance;

GRANTALLPRIVILEGESONglance.*TO'glance'@'localhost'IDENTIFIEDBY'GLANCE_DBPASS';

GRANTALLPRIVILEGESONglance.*TO'glance'@'%'IDENTIFIEDBY'GLANCE_DBPASS';

exit;

(3)创建user和role服务:

keystoneuser-create--name=glance--pass=service_pass--email=glance@

keystoneuser-role-add--user=glance--tenant=service--role=admin

(4)注册服务创建端点:

keystoneservice-create--name=glance--type=image--description="OpenStackImageService"

keystoneendpoint-create\

--service-id=$(keystoneservice-list|awk'/image/{print$2}')\

--publicurl=http:

//172.24.54.12:

9292\

--internalurl=http:

//controller:

9292\

--adminurl=http:

//controller:

9292

(5)修改文件/etc/glance/glance-api.conf:

vi/etc/glance/glance-api.conf

[database]

replacesqlite_db=/var/lib/glance/glance.sqlitewith

connection=mysql:

//glance:

GLANCE_DBPASS@controller/glance

[DEFAULT]

rpc_backend=rabbit

rabbit_host=controller

[keystone_authtoken]

auth_uri=http:

//controller:

5000

auth_host=controller

auth_port=35357

auth_protocol=http

admin_tenant_name=service

admin_user=glance

admin_password=service_pass

[paste_deploy]

flavor=keystone

(6)修改文件/etc/glance/glance-registry.conf:

vi/etc/glance/glance-registry.conf

[database]

replacesqlite_db=/var/lib/glance/glance.sqlitewith:

connection=mysql:

//glance:

GLANCE_DBPASS@controller/glance

[keystone_authtoken]

auth_uri=http:

//controller:

5000

auth_host=controller

auth_port=35357

auth_protocol=http

admin_tenant_name=service

admin_user=glance

admin_password=service_pass

[paste_deploy]

flavor=keystone

(7)重启lance-apiandglance-registry服务:

serviceglance-apirestart;serviceglance-registryrestart

(8)同步glance数据:

glance-managedb_sync

(9)测试Glance,上传镜像文件:

sourcecreds

glanceimage-create--name"cirros-0.3.2-x86_64"--is-publictrue--container-formatbare--disk-formatqcow2--locationhttp:

//cdn.download.cirros-

(10)列出镜像:

glanceimage-list

1.4安装计算服务(Nova)

(1)安装nova包:

apt-getinstall-ynova-apinova-certnova-conductornova-consoleauthnova-novncproxynova-schedulerpython-novaclient

(2)为Nova创建mysql数据库

mysql-uroot-p

CREATEDATABASEnova;

GRANTALLPRIVILEGESONnova.*TO'nova'@'localhost'IDENTIFIEDBY'NOVA_DBPASS';

GRANTALLPRIVILEGESONnova.*TO'nova'@'%'IDENTIFIEDBY'NOVA_DBPASS';

exit;

(3)创建user和role服务:

keystoneuser-create--name=nova--pass=service_pass--email=nova@

keystoneuser-role-add--user=nova--tenant=service--role=admin

(4)注册服务并创建端点:

keystoneservice-create--name=nova--type=compute--description="OpenStackCompute"

keystoneendpoint-create\

--service-id=$(keystoneservice-list|awk'/compute/{print$2}')\

--publicurl=http:

//172.24.54.12:

8774/v2/%\(tenant_id\)s\

--internalurl=http:

//controller:

8774/v2/%\(tenant_id\)s\

--adminurl=http:

//controller:

8774/v2/%\(tenant_id\)s

(5)修改文件,在/etc/nova/nova.conf的下方添加下列内容

vi/etc/nova/nova.conf

[database]

connection=mysql:

//nova:

NOVA_DBPASS@controller/nova

[DEFAULT]

rpc_backend=rabbit

rabbit_host=controller

my_ip=172.24.54.11

vncserver_listen=172.24.54.11

vncserver_proxyclient_address=172.24.54.11

auth_strategy=keystone

[keystone_authtoken]

auth_uri=http:

//controller:

5000

auth_host=controller

auth_port=35357

auth_protocol=http

admin_tenant_name=service

admin_user=nova

admin_password=service_pass

(6)删除NovaSQLite数据库:

rm/var/lib/nova/nova.sqlite

(7)同步数据库:

nova-managedbsync

(8)重启nova-*服务:

servicenova-apirestart

servicenova-certrestart

servicenova-conductorrestart

servicenova-consoleauthrestart

servicenova-novncproxyrestart

servicenova-schedulerrestart

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1