openstack分布式安装
一. 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的ip6.最后请确保正确创建了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分布式安装的更多相关文章
- HBase基础和伪分布式安装配置
一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...
- Zookeeper 初体验之——伪分布式安装(转)
原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...
- hadoop2.6完全分布式安装HBase1.1
本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过 ...
- CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装
摘要 CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装 目录[-] 1.系统环境说明 2.安装前的准备工作 2.1 关闭防火墙 2.2 检查ssh安装情况,如果没有则安装ssh ...
- Hadoop2.6.0完全分布式安装
本文地址:http://www.cnblogs.com/myresearch/p/hadoop-full-distributed-operation.html,转载请注明源地址. 我这边是使用了两台主 ...
- 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 ...
- hadoop-2.6.0为分布式安装
hadoop-2.6.0为分布式安装 伪分布模式集群规划(单节点)------------------------------------------------------------------- ...
- 整体认识flume:Flume介绍、分布式安装、常见问题及解决方案
问题导读 1.什么是flume? 2.flume包含哪些组件? 3.Flume在读取utf-8格式的文件时会出现解析不了时间戳,该如何解决? Flume是一个分布式.可靠.和高可用的海量日志采集.聚合 ...
- Hadoop单机和伪分布式安装
本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit 本机名称 hadoop001 本机IP ...
随机推荐
- Maven找不到java编译器的问题
当使用mvn package打包项目的时候,抛出下面这个错误: [ERROR] Unable to locate the Javac Compiler in: D:\jdk\..\lib\tools. ...
- c 语言练习__去掉多余的空白字符_修正
#include <stdio.h> #include <string.h> #include <errno.h> #define BUF_SIZE 128 /* ...
- MyBatis学习总结(5)——实现关联表查询
一对一关联 提出需求 根据班级id查询班级信息(带老师的信息) 创建表和数据 创建一张教师表和班级表,假设一个老师负责教一个班,那么老师和班级之间的关系就是一对一的关系. create table t ...
- SecureCRT访问开发板linux系统
前言: 最近在用OK6410开发板跑linux系统,经常在终端上敲一些指令,无奈开发板屏幕太小用起来非常不方便,所以使用终端一款能运行在windows上的软件与开发板连接,直接在电脑上操作开发板了,这 ...
- VirtualBox虚拟机剪贴板共享
默认VirtualBox的虚拟机和主机的剪贴板和拖拽不会共享的,因此需要我们进行处理. 一般情况下,我们选中虚拟机,然后设置剪贴板和拖拽为双向就ok了,但是我这里并没有好,设置如下图: 当我设置上面的 ...
- 自己动手实现STL:前言
一.前言 最近,刚看完<STL源码剖析>,深深被实现STL库的那些的大牛们所折服.同时又感觉自己与大牛们差距之大,便萌生深入学习之意.如果仅仅只是看看<STL源码剖析>的话,又 ...
- 【转载】React初学者入门须知
http://www.oschina.net/news/75530/9-things-every-reactjs-beginner-should-know react.js入门学习 看了一遍,没什么特 ...
- bzoj2792
首先想到二分答案是吧,设为lim 这道题难在判定,我们先不管将一个数变为0的条件 先使序列满足相邻差<=lim,这个正着扫一遍反着扫一遍即可 然后我们就要处理将一个数变为0的修改代价 当i变为0 ...
- hMailserver设置外部反病毒扫描程序
刚在5dmail上发现有人提出一个问题,他在hmailserver的外部病毒扫描程序中使用了瑞星那个娱乐货,结果呢,说瑞星太勇猛了,所有附件都认为病毒了,这是怎么个情况呢? 先从hmailadmin里 ...
- erl0001-Erlang 设计原则 process port io
Erlang原理 (转载自ITEYE cryolite博客 ps:精彩)by Robert Virding This is a description of some of the basic pro ...