一. keystone安装笔记

初次接触openstack,在尝试过单机部署以后不是很满意,就开始着手分布式部署,主要是按照openstack官网上的安装教程来的,本人安装的是目前最新的 I 版。

以下是我的环境,5台主机kk1,kk2,kk3,kk4,kk5. 接下来是我安装的部分服务的笔记,主要在安装过程中也就是开始有点问题,接下来碰到的问题也就差不多了,

所以就懒得记录了。 最麻烦的要数网络了, 我选择的是最简单的方式nova-network方式,这里没有记录。

kk1: nova,keystone

kk2: glance

kk3: cinder-service

kk4:

kk5: cinder-storage

1.首先要现在安装keystone,这是一个认证服务,如果要操作nova,glance首先就要通过keystone认证

2.关于keystone的概念请看官网的文档

http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-concepts.html

3.关于keystone的具体安装步骤请看

http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-install.html

4.ADMIN_TOKEN

这个ADMIN_TOKEN要值得注意,相当于一个认证口令吧,在测试环境中可以随意配置 如:admin_token = admin

5.define user,tenants,roles

http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-users.html

这个配置在文档中已经介绍的非常详细了,值得注意的是 如果出现下面这个问题

说明没有配置环境变量。

如果不配置环境变量的话,也可以用下面这个命令

nova --os-tenant-name admin --os-username admin --os-password 111 --os-auth-url http://127.0.0.1:35357/v2.0 image-list

6.总结

总之这个keystone的配置是比较麻烦的,我今晚也花了很长时间来解决这个问题,会遇到各种各样的报错,但是总的来说问题就在环境变量上,

解释一下环境变量的作用:配置环境变量以后就可以代替上面那条很长的命令了,keystone服务会自动去读取环境变量的参数。

如果你在执行nova list的命令时遇到了各种问题,请仔细查看nova.conf,  keystone.conf 等配置文件,查看用户名,密码,tenant,roles是否

配置正确。如果还是不行的话就把nova,keystone卸载干净,重新安装,记得在卸载的时候把mysql的database也drop掉,确保干干净净无残留。

祝君好运!

二. nova安装笔记

1.确保在安装nova之前已经安装好了keystone, 否则你装了nova也用不了

2.具体的nova安装步骤不做多余阐述,我完全是按照openstack的install guide for ubuntu来的。

http://docs.openstack.org/icehouse/install-guide/install/apt/content/nova-controller.html

3.安装步骤很简单,关键是配置。

4.主要是配置/etc/nova/nova.conf

5.有些关键点提一下,在配置文件中会让你配置

[database]
connection = mysql://nova:NOVA_DBPASS@controller/nova
其中的NOVA_DBPASS,controller替换成你的nova密码,controller替换成mysql的ip

6.最后请确保正确创建了user tenant role user-role-add service endpoint

7.当这些都成功配置以后重启nova

8.最后是测试nova是否安装成功 输入:nova image-list

nova image-list 请求有两种方法

1.nova --os-tenant-name admin --os-username admin --os-password 111 --os-auth-url http://127.0.0.1:35357/v2.0 image-list

2.配置环境变量

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

export OS_PASSWORD=111

export OS_USERNAME=admin

export OS_TENANT_NAME=admin

然后直接输入 nova image-list

3.查看当前环境变量

export | grep OS_

////////////////////////////////////////////////////////kk1服务器的环境变量  部署了nova和keystone

root@kk1-Z68P-DS3:/etc/nova# export | grep OS_

declare -x OS_AUTH_URL="http://127.0.0.1:35357/v2.0"

declare -x OS_PASSWORD="111"

declare -x OS_SERVICE_ENDPOINT="http://127.0.0.1:35357/v2.0"

declare -x OS_SERVICE_TOKEN="admin"

declare -x OS_TENANT_NAME="admin"

declare -x OS_USERNAME="admin"

//////////////////////////////////////////////////////kk2服务器的环境变量   部署了glance

root@kk2-Z68P-DS3:/tmp/images# export | grep OS_

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

declare -x OS_PASSWORD="111"

declare -x OS_SERVICE_ENDPOINT="http://192.168.1.103:35357/v2.0"

declare -x OS_SERVICE_TOKEN="admin"

declare -x OS_TENANT_NAME="admin"

declare -x OS_USERNAME="admin"

4.查看调试信息

keystone --debug user-list

5. nova的bug信息

(1)root@kk1-Z68P-DS3:~# nova --service-type image image-list

ERROR: local variable 'os_compute_api_version' referenced before assignment

这个报错的意思是变量没有申明

解决方案:

在dist-packages/novaclient/sheel.py文件中

在main方法中增加一个变量 os_compute_api_version = DEFAULT_OS_COMPUTE_API_VERSION

三 cinder 安装笔记

////////////////////////////////////////kk3服务器 部署了cinder

1. 基本步骤和之前的一样,安装官网提供的步骤完全没问题

2. 设置好环境变量

root@kk3-Z68P-DS3:/# export | grep OS_

declare -x OS_AUTH_URL="http://192.168.1.103:35357/v2.0"

declare -x OS_PASSWORD="111"

declare -x OS_SERVICE_ENDPOINT="http://192.168.1.103:35357/v2.0"

declare -x OS_SERVICE_TOKEN="admin"

declare -x OS_USERNAME="admin"

3. create service

root@kk3-Z68P-DS3:/# keystone service-create --name=cinder --type=volume --description="OpenStack Block Storage"

WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).

+-------------+----------------------------------+

| Property | Value |

+-------------+----------------------------------+

| description | OpenStack Block Storage |

| enabled | True |

| id | 0e6be79473894ec495ea3f67c9463005 |

| name | cinder |

| type | volume |

+-------------+----------------------------------+

create endpoint

root@kk3-Z68P-DS3:/# keystone endpoint-create --service-id=$(keystone service-list | awk '/ volume / {print $2}') --publicurl=http://192.168.1.105:8776/v1

WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).

+------------+--------------------------------------------+

| Property | Value |

+------------+--------------------------------------------+

| id | 83c48ce596c44f218f89559847d9a4a2 |

| publicurl | http://192.168.1.105:8776/v1/%(tenant_id)s |

| region | regionOne |

| service_id | 0e6be79473894ec495ea3f67c9463005 |

+------------+--------------------------------------------+

4. 接下来是创建LVM physical and logical volumes

但是我卡在这里了,貌似无法创建,原理不懂,创建系统的时候分区是默认的, 问题应该出在这里

openstack分布式安装的更多相关文章

  1. HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  2. Zookeeper 初体验之——伪分布式安装(转)

    原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...

  3. hadoop2.6完全分布式安装HBase1.1

    本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过 ...

  4. CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装

    摘要 CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装 目录[-] 1.系统环境说明 2.安装前的准备工作 2.1 关闭防火墙 2.2 检查ssh安装情况,如果没有则安装ssh ...

  5. Hadoop2.6.0完全分布式安装

    本文地址:http://www.cnblogs.com/myresearch/p/hadoop-full-distributed-operation.html,转载请注明源地址. 我这边是使用了两台主 ...

  6. hadoop2.2.0+hive-0.10.0完全分布式安装方法

    hadoop+hive-0.10.0完全分布式安装方法 1.jdk版本:jdk-7u60-linux-x64.tar.gz http://www.oracle.com/technetwork/cn/j ...

  7. hadoop-2.6.0为分布式安装

    hadoop-2.6.0为分布式安装 伪分布模式集群规划(单节点)------------------------------------------------------------------- ...

  8. 整体认识flume:Flume介绍、分布式安装、常见问题及解决方案

    问题导读 1.什么是flume? 2.flume包含哪些组件? 3.Flume在读取utf-8格式的文件时会出现解析不了时间戳,该如何解决? Flume是一个分布式.可靠.和高可用的海量日志采集.聚合 ...

  9. Hadoop单机和伪分布式安装

    本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit   本机名称 hadoop001   本机IP ...

随机推荐

  1. java学习笔记[2015-1-19]

    想到哪儿说到哪儿: 1.关于import,全限定名导入和按需导入(即只使用*),影响的只是编译速度,编译过后生成的是全限定名,全限定名还一个好处是不容易产生冲突 2.每个java文件只能有一个publ ...

  2. C#获取ip的示例

    界面 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using ...

  3. Android studio编译之后显示中文乱码的问题解决办法

    在build.gradle文件中加上 android {compileOptions.encoding = "GBK"}

  4. uva 10453 - Make Palindrome(dp, 记录路径)

    题目 题意: 给一个字符串 ,判断最少插入多少个字符 使字符串成为回文串, 并输出回文串. 思路:先用dp判断需要个数, 再递归输出路径. #include <iostream> #inc ...

  5. 学军NOI训练13 T3 白黑树

    唉,大学军有自己的OJ就是好,无限orz 只有周六的比赛是开放的囧,这场比赛最后因为虚拟机卡住没有及时提交…… 否则就能让大家看到我有多弱了…… 前两题题解写的很详细,可以自己去看,我来随便扯扯T3好 ...

  6. UVa 10892 (GCD) LCM Cardinality

    我一直相信这道题有十分巧妙的解法的,去搜了好多题解发现有的太过玄妙不能领会. 最简单的就是枚举n的所有约数,然后二重循环找lcm(a, b) = n的个数 #include <cstdio> ...

  7. Delphi反汇编内部字符串处理函数/过程不完全列表

    Delphi反汇编内部字符串处理函数/过程不完全列表 名称 参数 返回值 作用 等价形式 / 备注   _PStrCat EAX :目标字符串 EDX :源字符串 EAX 连接两个 Pascal 字符 ...

  8. operator.itemgetter的用法【转】

    operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [,, ...

  9. Hide Xcode8 strange log.

    Product > Scheme > Edit Scheme Environment Variables set OS_ACTIVITY_MODE = disable

  10. jquery仿邮箱文本输入框自动加载邮箱后缀

    在像百度这样的网站注册时,你会看到输入邮箱会出现自动给用户输入补全主流邮箱.这种对于增加用户体验的小例子已司空见惯.正好看到人家写的这种js功能.还挺不错,使用起来很方便,几乎不用写神呢代码.&quo ...