【原创-长文】openstack 版本D安装配置及本次安装中遇到的问题

openstack配置

 

一、硬件及操作系统要求

硬件:IBM服务器R410 两台、网线、显示器、键盘若干,100M光纤(硬性要求)

操作系统:两台服务器均安装Ubuntu server 12.04 LTS

二、安装步骤(server-1server-2公共部分)

1. 安装操作系统:

第一台主机名server-1;用户名openstack;密码admin

第二胎主机名server-2;用户名openstack;密码admin

注意事项:

使用光盘安装操作系统,如采用u盘安装的方式,会出现“找不到光驱”的错误

应尽量选择使用光盘安装的方式;

两台服务器安装的语言,最好选择英文版本,否则在查看系统版本的时候可能会有差别导致下载组件时候出现错误,中文版本总是更新不到最新的组件;

两台服务器应选择相同的时区。

2. 配置网络:

server-1server-2命令行输入如下命令

sudo vi /etc/network/interfaces

i进入编辑模式

输入以下内容(server-1):

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

 address 218.206.179.205

 netmask 255.255.255.0

 broadcast 218.206.179.255

 gateway 218.206.179.1

 dns-nameservers 218.206.176.4

auto eth1

iface eth1 inet static

 address 10.204.252.168

 netmask 255.255.255.0

 network

     broadcast

      gateway 10.204.252.1

输入以下内容(server-2):

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

 address 218.206.179.236

 netmask 255.255.255.0

 broadcast 218.206.179.255

 gateway 218.206.179.1

 dns-nameservers 218.206.176.4

auto eth1

iface eth1 inet static

 address 10.204.252.138

 netmask 255.255.255.0

 network

     broadcast

      gateway 10.204.252.1

完成以上两台服务器网络配置之后,按esc,输入: x

重启网络,命令行输入如下命令

sudo /etc/init.d/networking restart(restart前面有空格)

重启网络后,ping一下外网(如qq)测试网络是否连通

3. 更新

server-1server-2的命令行中输入如下命令:

sudo apt-get update(软件列表及依赖更新)

sudo apt-get upgrade(当前列表下软件版本更新)

4. 安装NTP时间同步服务器

server-1server-2的命令行中输入如下命令:

sudo apt-get install ntp

vi打开server-1文件/etc/ntp.conf增加以下三行内容,目的是让本服务器时间与外部服务器时间同步

server ntp.ubuntu.com

server 127.127.1.0

fudge 127.127.1.0 stratum 10

vi打开server-2文件/etc/ntp.conf 增加一行内容,目的是与server-1同步

server 218.206.179.205(可能有bug

完成后重启NTP服务,server-1server-2命令行输入

sudo server ntp restart

5. 安装bridge

server-1server-2命令行输入

sudo apt-get -y install bridge-utils

然后重启网络

/etc/init.d/networking restart(restart前有空格)

三、server-1安装

1.安装RabbitMQMemcache

RabbitMQ是用来做调度使用。Memcache是给Dashboard使用。

命令行输入

sudo apt-get install -y rabbitmq-server memcached python-memcache kvm libvirt-bin

         2.安装MySQL数据库,为了方便起见,使用的MySQL数据库

                   命令行输入

sudo apt-get install mysql-server python-mysqldb

编辑/etc/mysql/my.cnf, 允许网络访问mysql

#bind-address = 127.0.0.1

bind-address = 0.0.0.0(可能有bug

然后重启mysql服务

restart mysql

 

mysql 根用户名root 密码 admin

                  

         mysql创建root密码,在此使用“admin”。随后编辑mysql配置文件

         /etc/mysql/my.cnf,将绑定地址从127.0.0.1改为0.0.0.0,如下所示:

bind-address = 0.0.0.0    

重启MySQL服务器让其开始监听所有端口:

sudo restart mysql

                  

                   然后按顺序依次输入以下命令:

                   mysql -uroot -p123456

CREATE DATABASE nova;

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';

CREATE DATABASE glance;

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';

CREATE DATABASE keystone;

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'IDENTIFIED BY '123456';

quit

注意:以上分号不要省略

doc版本有个user的创建,步骤未执行

 

         3 安装keystone

                   命令行输入:

sudo apt-get install keystone python-keystone python-keystoneclient

vi编辑器编辑/etc/keystone/keystone.conf文件如下:

[DEFAULT]

#bind_host = 0.0.0.0

public_port = 5000

admin_port = 35357

#admin_token = ADMIN

admin_token = admin

[sql]

#connection = sqlite:var/lib/keystone/keystone.db

connection = mysql://keystone:123456@218.206.179.205/keystone (这儿改成server-1ip

然后重启服务、同步数据库,命令行输入:

sudo service keystone restart

sudo keystone-manage db_sync

 

导入数据和endpoint

为了方便,你可以直接使用下面2个脚本来进行全部的设置

1.keystone_data.sh 导入用户信息-创建租户用户和角色

Keystone Data

wget http://www.chenshake.com/wp-content/uploads/2012/07/keystone_data.sh_.txt

mv keystone_data.sh_.txt keystone_data.sh

chmod +x keystone_data.sh

然后编辑keystone_data.sh

第一行是登陆dashboard的密码。

第三行是上面设置的KeystoneToken

注意 sh文件对应的位置改成如下加黑的部分。

ADMIN_PASSWORD=${ADMIN_PASSWORD:-123456}

SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}

export SERVICE_TOKEN="admin"

export SERVICE_ENDPOINT="http://localhost:35357/v2.0"

SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}

ENABLED_SERVICES="swift"

 

然后运行脚本

./keystone_data.sh

没任何输出,就表示正确,可以通过下面命令检查

echo $?

显示0,就表示脚本正确运行,千万不要重复运行脚本

 

 

2.endpoints.sh 设置endpoint--提供服务的入口点

命令行输入如下

wget http://www.chenshake.com/wp-content/uploads/2012/07/endpoints.sh_.txt

mv endpoints.sh_.txt endpoints.sh

chmod +x endpoints.sh

再输入:

./endpoints.sh -m 218.206.179.205 -u keystone -D keystone -p 123456 -T admin -K 218.206.179.205 -R RegionOne -E "http://localhost:35357/v2.0" -S 218.206.179.205

以上缩写分别代表如下信息

-m mysql_hostname

-u mysql_username

-D mysql_database

-p mysql_password

-K keystone 服务器IP

-R keystone_region

-E keystone_endpoint_url

-S swift proxy节点IP

-T keystone_token

 

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=123456

export OS_AUTH_URL=http://localhost:5000/v2.0/

然后检查环境变量,在命令行输入:

export | grep OS_

会显示:

declare -x OS_AUTH_URL="http://localhost:5000/v2.0/"

declare -x OS_PASSWORD="123456"

declare -x OS_TENANT_NAME="admin"

declare -x OS_USERNAME="admin"

 

报错:修改keystone_data.sh的时候,不影响使用

查看各种列表:

keystone endpoint-list

keystone tenant-list

keystone user-list

keystone role-list

4.安装glance

                   命令行输入:

sudo apt-get install glance glance-api glance-client glance-common glance-registry python-glance

编辑 /etc/glance/glance-api-paste.ini/etc/glance/glance-registry-paste.ini,两个文件,都是修改文档最后3行,改成如下的内容

#admin_tenant_name = %SERVICE_TENANT_NAME%

#admin_user = %SERVICE_USER%

#admin_password = %SERVICE_PASSWORD%

admin_tenant_name = service

admin_user = glance

admin_password = 123456

#dashboard password

编辑/etc/glance/glance-registry.conf,改成使用mysql验证

#sql_connection = sqlite:var/lib/glance/glance.sqlite

sql_connection = mysql://glance:123456@122.204.144.201/glance

编辑/etc/glance/glance-registry.conf /etc/glance/glance-api.conf ,都在文件末尾添加两行,目的是让glance使用keystone授权

[paste_deploy]

flavor = keystone
然后同步数据库

sudo glance-manage version_control 0

sudo glance-manage db_sync

注意:如果有输出的话多打几遍命令

上述改动全部完成后,重启glance-apiglance-registry服务:

sudo restart glance-api

sudo restart glance-registry

设置如下环境变量,将其写入 ~/.bashrc中:

export SERVICE_TOKEN=admin

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=admin

export OS_AUTH_URL="http://localhost:5000/v2.0/"

export SERVICE_ENDPOINT=http://localhost:35357/v2.0

然后测试一下,命令行输入如下命令,没有输出,表示正常,因为目前还没有镜像。

glance index

5.       安装nova

命令行输入:下面的命令需要一起复制,是一条命令

apt-get install nova-api nova-cert nova-compute nova-compute-kvm nova-doc

nova-network nova-objectstore nova-scheduler nova-volume rabbitmq-server novnc nova-consoleauth

                编辑/etc/nova/nova.conf 文件,改成如下内容,ip根据自己的主机修改成如下格式

--dhcpbridge_flagfile=/etc/nova/nova.conf

--dhcpbridge=/usr/bin/nova-dhcpbridge

--logdir=/var/log/nova

--state_path=/var/lib/nova

--lock_path=/run/lock/nova

--allow_admin_api=true

--use_deprecated_auth=false

--auth_strategy=keystone

--scheduler_driver=nova.scheduler.simple.SimpleScheduler

--s3_host=218.206.179.205

--ec2_host=218.206.179.205

--rabbit_host=218.206.179.205

--cc_host=218.206.179.205

--nova_url=http://218.206.179.205:8774/v1.1/

--routing_source_ip=218.206.179.205

--glance_api_servers=218.206.179.205:9292

--image_service=nova.image.glance.GlanceImageService

--iscsi_ip_prefix=10.204.252

--sql_connection=mysql://nova:123456@218.206.179.205/nova

--ec2_url=http://218.206.179.205:8773/services/Cloud

--keystone_ec2_url=http://218.206.179.205:5000/v2.0/ec2tokens

--api_paste_config=/etc/nova/api-paste.ini

--libvirt_type=kvm

--libvirt_use_virtio_for_bridges=true

--start_guests_on_host_boot=true

--resume_guests_state_on_host_boot=true

# vnc specific configuration

--novnc_enabled=true

--novncproxy_base_url=http://218.206.179.205:6080/vnc_auto.html

--vncserver_proxyclient_address=218.206.179.205

--vncserver_listen=218.206.179.205

# network specific settings

--network_manager=nova.network.manager.FlatDHCPManager

--public_interface=eth0

--flat_interface=eth1

--flat_network_bridge=br100

--fixed_range=10.204.252.158/25

--floating_range=218.206.179.205/25

--network_size=32

--flat_network_dhcp_start=10.204.252.198

--flat_injected=False

--force_dhcp_release

--iscsi_helper=tgtadm

--connection_type=libvirt

--root_helper=sudo nova-rootwrap

--verbose

       创建一个物理卷

sudo pvcreate /dev/sda3(此卷是本次安装中出现的,具体情况按安装的时候来)

然后输入:

sudo vgcreate nova-volumes /dev/sda3

修改 /etc/nova文件夹的属主及 /etc/nova/nova.conf文件的访问权限:

sudo chown -R nova:nova /etc/nova

sudo chmod 644 /etc/nova/nova.conf

进入 /etc/nova/api-paste.ini文件,找到末尾三行:

admin_tenant_name = %SERVICE_TENANT_NAME%

admin_user = %SERVICE_USER%

admin_password = %SERVICE_PASSWORD%

用之前创建的名字进行替换编辑完毕如下所示:

admin_tenant_name = service

admin_user = nova

admin_password = nova

MySQL数据库进行同步:

sudo nova-manage db sync

为实例提供IP池:

sudo nova-manage network create private --fixed_range_v4=10.204.252.158/25--num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=128

输出环境变量:

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=admin

export OS_AUTH_URL="http://localhost:5000/v2.0/"

         重启服务,命令行一次输入以下命令

         sudo restart libvirt-bin

sudo restart nova-network

sudo restart nova-compute

sudo restart nova-api

sudo restart nova-objectstore

sudo restart nova-scheduler

sudo restart nova-volume

sudo restart nova-consoleauth

测试nova是否正确安装,若所有组件都是微笑,说明nova已经正确安装完毕。

sudo nova-manage service list

 

6.       OpenStack管理面板

执行下列命令安装管理面板:

sudo apt-get install openstack-dashboard

重启Apache

sudo service apache2 restart

 

 

live cd启动系统,进入图形化安装界面,选择试用ubuntu,进入桌面打开ubuntu自带分区软件,将原来的大分区分割成两个小的分区,下一步要将分出来的新分区格式化为LVM8e)格式的分区,打开终端,输入 :sudo fdisk -l,根据刚才分给的大小判断新分区的磁盘号,再输入sudo fdisk /dev/sd*(星号具体根据前一条命令中来定),然后在fdisk命令下输入t,选择刚创建好的分区,输入8e,将刚创建好的2个分区转换为8e格式。输入w保存退出,之后运行一下partprobe 命令激活刚创建的分区

 

sudo restart libvirt-bin; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart nova-consoleauth; 如果不行 restart换成start

 

apache2 restart失败

编辑 /etc/apache2/apache2.conf

最后一行输入 ServerName 127.0.7.1(不一定有用)

 

转载于:https://www.cnblogs.com/xiawen/archive/2013/06/04/3116990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于pt100温度计仿真_基于8pt网格的设计系统

基于pt100温度计仿真重点 (Top highlight)This article is the 2nd in a two part series — to the previous chapter in which I demonstrate how to establish an 8pt grid.本文是该系列文章的第二部分 ,这是上一章 的第二部分 ,在上一章中&#xff0…

GL ERROR - after deleteUnusedTextures() glError (0x502)

最近用百度提供的javascript API开发地图时,html页面在手机浏览器中拖动地图时会出现GL ERROR - after deleteUnusedTextures() glError (0x502)的异常,看了下国外论坛异常的说法,经调试,找出解决办法,异常原因还是和布…

利用 k8s 建立软件商店_为企业建立应用商店

利用 k8s 建立软件商店It’s June 2019. I’m sitting in a conference room in Research Triangle Park in North Carolina. At the end of the table are the two executives that have been tapped to lead a new endeavor on behalf of IBM’s $34 billion acquisition of …

[转]gcc生成动态库静态库

http://blog.csdn.net/hzn407487204/article/details/5323254转载于:https://www.cnblogs.com/hengli/archive/2013/06/07/3125354.html

苹果复兴_类型复兴的故事:来自Type West的经验教训

苹果复兴Last Fall, I began the 去年秋天,我开始 在旧金山的Type West program at the Letterform档案库中Letterform Archive in San Francisco. For those of you who don’t know, the Letterform Archive is creative heaven — a type nerd’s letter art co…

C#调用ATL COM

作者:朱金灿 来源:http://blog.csdn.net/clever101 简单介绍C#程序如何调用ATL编写的COM组件。 首先新建一个ATL工程,具体如下: 1. 填写工程名称和路径,如下图: 2. 选择工程的服务器类型为动态链接库&a…

浪潮世科和浪潮软件什么关系_社交图形浪潮

浪潮世科和浪潮软件什么关系Nowadays, the cornucopia of graphics seems like a given. However, it was not so long ago that infographics were scarce and lived in closed ecosystems. The majority of graphics were published in newspapers, magazines, or books, and…

PHP图形图像的典型应用 --常用图像的应用(验证码)

php生成动态的验证码&#xff0c;是php防止恶意登陆或者注册等常规手段-废话不多说&#xff0c;直接看例子。&#xff08;只是一个简单的应用&#xff0c;如果要安全或者更复杂的&#xff0c;请期待我以后的文章&#xff09; PHP生成验证码核心文件 (checks.php): <?php/*成…

接口练习

前台代码&#xff1a; <form id"form1" runat"server"> <div> 见面时间:<asp:TextBox ID"MeetTime" runat"server"></asp:TextBox><br /> 见面地点:<asp:TextBox ID"MeetAddr…

写saas创业的书_我在SaaS创业公司担任UX设计师的第一个月中学到的三件事

写saas创业的书I recently transitioned from being a copywriter at an ad agency to a UX Designer at a SaaS startup. To add more multidisciplinary skills into the mix, I graduated with a Bachelor in Accountancy.我最近从一名广告代理商的撰稿人过渡到了SaaS初创公…

ui项目答辩中学到了什么_我在UI设计9年中学到的12件事

ui项目答辩中学到了什么重点 (Top highlight)I know these can seem a bit clich but I will try to explain everything from my own experience.我知道这些内容似乎有些陈词滥调&#xff0c;但我会尝试根据自己的经验来解释所有内容。 第一名 (No.1 Never assume) The first…

linux下命令行的使用:使用sed命令操作文件

用该命令sed删除文件test.txt中包含某个字符串abc的行: sed /adc/d test.txt >result.txt 在文件test.txt中删除从开头到含有某个字符串abc的行 sed 1,/abc/d test.txt >result.txt 获取文件test.txt中包含字符串abc的行 cat test.txt |grep "abc" > resul…

ux的重要性_UX中清晰的重要性

ux的重要性重点 (Top highlight)Times, since the very first occurrences of web design in the 90’s, have changed a lot design-wise. The particular technology and its applications got more stable. Human-computer interaction (HCI) was deeply researched, design…

工欲善其事,必先利其器

vs2010中一些常用的快捷键、组合键&#xff1a; 1、快速格式化 CtrlED 2、注释选中部分 CtrlEC 3、停止调试 ShiftF5 4、取消注释选中部分 CtrlEU 5、显示解决方案资源管理器 CtrlWS 6、快速折叠 CtrlMO 7、封装一个字段 CtrlRE 8、查看属性 CtrlWP 9…

可靠消息最终一致性设计_如何最终启动您的设计产品组合

可靠消息最终一致性设计It’s not a secret that most designers procrastinate on their portfolios whether it is to update them or to create them in the first place.大多数设计师在更新产品组合时还是拖延产品组合并不是秘密。 首先创建它们 。 Hopefully, by the e…

台式机共享笔记本的无线网络(只需要一根网线)

以windowsXP系统为例 一、笔记本的设置方法&#xff1a; 1.先将笔记本的无线连接共享给有线网卡 将鼠标放到桌面的 网上邻居 上&#xff0c;按鼠标右键&#xff0c;选属性&#xff0c;再将鼠标放到无线连接上&#xff0c;又是按鼠标右键&#xff0c;选属性&#xff0c;在弹出的…

游戏用户体验指标_电子游戏如何超越游戏化的用户体验

游戏用户体验指标游戏UX (GAMES UX) During a time when the time spent on video games has reached record breaking heights, due to excessive time indoors, gamification has more of a place now than ever before.d uring的时候花在视频游戏的时间已经达到了 破纪录的高…

JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法

CRC即循环冗余校验码&#xff08;Cyclic Redundancy Check&#xff09;&#xff1a;是数据通信领域中最常用的一种差错校验码&#xff0c;其特征是信息字段和校验字段的长度可以任意选定。 1 byte checksum CRC-16 CRC-16 (Modbus) CRC-16 (Sick) …

什么字体字母和数字大小一样_字母和字体如何适应我们的屏幕

什么字体字母和数字大小一样Writing went through many iterations before it became what is today. Times New Roman wasn’t the default script for ancient Egyptians, in fact, paper didn’t even exist when the first words were written.写作经历了许多迭代&#xff…

jenkins 通过批处理自动构建 非标准项目

之前介绍了java和vs2010的项目构建&#xff0c;这些都是比较常见的&#xff0c;所以都用专门的工具。但但难免会遇到一些不常见的项目&#xff0c;下面介绍通过批处理进行构建&#xff0c;并用jenkins调用.我们这里使用plc语言&#xff0c;没有标准环境&#xff0c;只有使用bat…