Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(1)
来源:互联网 发布:基因多样性 知乎 编辑:程序博客网 时间:2024/05/16 18:36
作者:刘宇龙 2012年9月13日
Ubuntu-12.04.1-desktop版安装OpenStack,单网卡,没有安装Quantum。
Openstack的版本是Essex
安装的服务有,认证服务keystone,镜像存储glance,计算服务nova,存储服务swift,管理器dashboard(horizon)
特别注明:官方网站以外的安装文献,本文里很少参考,大量安装都依照官方文档-----》openstak.org
文章格式说明:
(1)缩进采用4空格,8空格,16空格...
(2)#表示注释
(3)文章太长,分为同题目三节
1.注明本人使用点机器配置
IBMT61,很老的笔记本CPU:inter core2 T7300 支持硬件虚拟化
150G硬盘空间,另外450G装着win8呢。。。
网速极其慢,好几十人连在一个交换机上!!!!
我还是在前头说一下我的网络情况吧:
lo,本地回环,127.0.0.1
eth0,以太网,其实我都没连,我上网时靠的无线网。所以这个没有Ip
virbr0,他自动有个Ip192.168.122.1,这个是安装了kvm后,人家自动装的网桥,我在nova中供虚拟机,桥接外网用。
wlan0,就是我用的无线网了,DHCP的Ip,所以也不算有ip
后面我所有的数据库,和ip地址设置,都基本用了127.0.0.1,哈哈
如果你们公司,在局域网范围内有你的Ip,你还是填你的Ip,我这全是127.0.0.1只能我自己机器测试。
2.首先说双系统安装
在windows下给你格式化一个硬盘,然后删除这个分区,这样你就在我点电脑里看不到这个盘了。然后,下载easyBCD,安装一个引导到C盘,这个过程分为一下几步:
(1)打开EASYBCD 选择增加实例(add Newentry)-->选贼nero grub选项卡--》安装(install)--》配置(configtion)--》会出来一个文本文件让你编辑
按如下编辑:
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/Ubuntu-12.04.1-desktop.iso ro quiet splash
locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
(2)将Ubuntu-12.04.1-desktop.iso里的 casper 文件夹目录下的 vmlinuz 和 initrd.lz 解压并复制到 C 盘根目录下
(3)把下载好的Ubuntu-12.04.1-desktop.iso随便放在一个硬盘根目录。
(4)用easyBCD的tool-->最后一项重启电脑
(5)你会发现windows多了一个启动项,nero grub,点他,进入,把下载好的Ubuntu-12.04.1-desktop安装,会进入一个系统界面,点桌面上点安装
(6)本人选择傻瓜模式安装,不手动分区啥的,之所以前面删除里一个windows的分区是为了这里方便。
(7)选择与windows共存进入安装,会直接开始安装,最好断网,要不然会安装中更新
(8)安装完成后,ubuntu会接管开机启动,你可以进入先面点windows,然后进去删里windows里你创建的nero grub启动项。
3.安装Openstack前的最后准备
更新系统软件:
sudo apt-get update
sudo apt-get upgrade
!!!!下面进入Openstack的安装,基本全部参考官方文档!!!!!
4.安装keystone
安装keystone软件包
apt-get install keystone
删除keystone原来点sqllite数据文件
rm /var/lib/keystone/keystone.db
安装mysql
apt-get install python-mysqldb mysql-server
设置mysql所有网络可访问
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
service mysql restart
配置keystone
sudo vim /etc/keystone/keystone.conf
connection = mysql://keystone:[YOUR_KEYSTONE_PASSWORD]@127.0.0.1/keystone
admin_token = 012345SECRET99TOKEN012345(这个你也可以更改,后面你所有的--token 都得和这个一样)
重启keystone
service keystone restart
创建keystone数据库表
sudo keystone-manage db_sync
!!!!特别注意!!!!下面命令中会产生很多ID,请根据你实际情况更改!!!!!!!
[创建openstackDemo项目]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 tenant-create --name openstackDemo --description "Default Tenant" --enabled true
[创建adminUser用户,并加入openstakDemo项目]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-create --tenant_id 36e7ba18d778405b88daa7c7054c1744 --name adminUser --pass secretword --enabled true
[创建role角色admin和memberRole]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 role-create --name admin
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 role-create --name memberRole
[给adminUser(user id)在 openstackDemo(tenant id)中admin(role id)角色]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-role-add --user e2d39bba0d424e7c9be5752e1f87f8b6 --tenant_id 36e7ba18d778405b88daa7c7054c1744 --role e2cc2535275c411bb82f58a321fa5af2
[创建Service Tenant服务,这个里头包含所有的openstack服务]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 tenant-create --name service --description "Service Tenant" --enabled true
[创建glance用户,到Service Tenant中]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-create --tenant_id cd3a4d93093641398d01e7eded263ac5 --name glance --pass glance --enabled true
[给glance用户admin权限]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-role-add --user 1b3af2d784d04230ba7ac41ed759272d --tenant_id cd3a4d93093641398d01e7eded263ac5 --role e2cc2535275c411bb82f58a321fa5af2
[创建nova用户,到Service Tenant中]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-create --tenant_id cd3a4d93093641398d01e7eded263ac5 --name nova --pass nova --enabled true
[给nova用户admin权限]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-role-add --user 9f2f8b7b60bd4a6b9ef374054eb84eda --tenant_id cd3a4d93093641398d01e7eded263ac5 --role e2cc2535275c411bb82f58a321fa5af2
[创建EC2用户,到Service Tenant中]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-create --tenant_id cd3a4d93093641398d01e7eded263ac5 --name ec2 --pass ec2 --enabled true
[给EC2用户admin权限]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-role-add --user efd874db0e9a4bd18a6f4ee33b71c95e --tenant_id cd3a4d93093641398d01e7eded263ac5 --role e2cc2535275c411bb82f58a321fa5af2
[创建swift-Object Storage Service用户,到Service Tenant中]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-create --tenant_id cd3a4d93093641398d01e7eded263ac5 --name swift --pass swiftpass --enabled true
[给swift-Object Storage Service用户admin权限]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0 user-role-add --user e6a4c00a61f1409fad3d3860b3c80f98 --tenant_id cd3a4d93093641398d01e7eded263ac5 --role e2cc2535275c411bb82f58a321fa5af2
[定义服务keystone]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=keystone --type=identity --description="Keystone Identity Service"
[设定keystone服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=5c386e234ff74ec88d688fac0a2eff7e --publicurl=http://127.0.0.1:5000/v2.0 --internalurl=http://127.0.0.1:5000/v2.0 --adminurl=http://127.0.0.1:35357/v2.0
[定义服务Nova Compute Service]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=nova --type=compute --description="Nova Compute Service"
[设定Nova Compute Service服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=4d50b48f515046f39384ffadbd43a33c --publicurl='http://127.0.0.1:8774/v2/%(tenant_id)s' --internalurl='http://127.0.0.1:8774/v2/%(tenant_id)s' --adminurl='http://127.0.0.1:8774/v2/%(tenant_id)s'
[创建服务Volume service]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=volume --type=volume --description="Nova Volume Service"
[设定Volume service服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=f7b7e22d830e454b968fd603569eba98 --publicurl='http://127.0.0.1:8776/v1/%(tenant_id)s' --internalurl='http://127.0.0.1:8776/v1/%(tenant_id)s' --adminurl='http://127.0.0.1:8776/v1/%(tenant_id)s'
[创建服务Glance Image Service]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=glance --type=image --description="Glance Image Service"
[设定Glance Image Service服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=08a7891a8f5c46f9b865f80487935bd5 --publicurl=http://127.0.0.1:9292/v1 --internalurl=http://127.0.0.1:9292/v1 --adminurl=http://127.0.0.1:9292/v1
[创建服务EC2]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=ec2 --type=ec2 --description="EC2 Compatibility Layer"
[设定EC2服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=72b3cdcad70940728164b36a38b9542f --publicurl=http://127.0.0.1:8773/services/Cloud --internalurl=http://127.0.0.1:8773/services/Cloud --adminurl=http://127.0.0.1:8773/services/Admin
[创建服务Swift Object Storage Service]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ service-create --name=swift --type=object-store --description="Object Storage Service"
[设定Swift Object Storage Service服务接口]
keystone --token 012345SECRET99TOKEN012345 --endpoint http://127.0.0.1:35357/v2.0/ endpoint-create --region RegionOne --service_id=ecdea79930bb4479b3e641ce9948d1f0 --publicurl 'http://127.0.0.1:8888/v1/AUTH_%(tenant_id)s' --adminurl 'http://127.0.0.1:8888/' --internalurl 'http://127.0.0.1:8888/v1/AUTH_%(tenant_id)s'
下面的命令可以查看刚才创建的一些列东西
curl -d '{"auth": {"tenantName": "adminTenant", "passwordCredentials":{"username": "adminUser", "password": "secretword"}}}' -H "Content-type: application/json" http://192.168.206.130:35357/v2.0/tokens | python -mjson.tool
输出:
{ "access": { "serviceCatalog": {}, "token": { "expires": "2012-04-12T00:40:12Z", "id": "cec68088d08747639c682ee5228106d1" }, "user": { "id": "6b0141904f09480d810a5949d79ea0f3", "name": "adminUser", "roles": [], "roles_links": [], "username": "adminUser" } }}
curl -d '{"auth": {"tenantName": "openstackDemo", "passwordCredentials":{"username": "adminUser", "password": "secretword"}}}' -H "Content-type: application/json" http://192.168.206.130:35357/v2.0/tokens | python -mjson.tool
输出:
{ "access": { "serviceCatalog": {}, "token": { "expires": "2012-04-12T00:41:21Z", "id": "a220bfdf313b404fa5e063fcc7cc1f3e", "tenant": { "description": "Default Tenant", "enabled": true, "id": "50af8cc655c24ada96f73010c96b70a2", "name": "openstackDemo" } }, "user": { "id": "6b0141904f09480d810a5949d79ea0f3", "name": "adminUser", "roles": [], "roles_links": [], "username": "adminUser" } }}
[所有服务需要的参数,可设置为环境变量,设置永久的环境变量,修改 sudo vim /etc/profile]
export OS_USERNAME=adminUser
export OS_TENANT_NAME=openstackDemo
export OS_PASSWORD=secretword
export OS_AUTH_URL=http://127.0.0.1:35357/v2.0/
export OS_REGION_NAME=RegionOne
[查看keystone上面一系列操作的结果,mysql里也可以查询到]
keystone user-list 用户列表
keystone role-list 角色列表
keystone service-list 服务列表
keystone tenant-list 租户列表
keystone endpoint-list 服务地址列表
swift@swift:~$ keystone user-list
+----------------------------------+---------+-------+-----------+
| id | enabled | email | name |
+----------------------------------+---------+-------+-----------+
| 31a741fb0c084f93ba381ef85ba254d4 | True | None | ec2 |
| 6dbafdbba60e458b80aede6b0f3affe4 | True | None | glance |
| bf52a9c62683499e8e99f4636a8eb014 | True | None | swift |
| c77554efa1a74e76a3490bf13c99cd94 | True | None | nova |
| d958dae6df0248deaa73ef7f855f1c61 | True | None | adminUser |
+----------------------------------+---------+-------+-----------+
swift@swift:~$ keystone role-list
+----------------------------------+------------+
| id | name |
+----------------------------------+------------+
| 06ade2f8a73b4c1697d5aff6fb67b06a | memberRole |
| ac8d290a6c3b439db417d449632b2f70 | admin |
+----------------------------------+------------+
swift@swift:~$ keystone service-list
+----------------------------------+----------+--------------+---------------------------+
| id | name | type | description |
+----------------------------------+----------+--------------+---------------------------+
| 1d2bb50d627b4f29ab3ca8bab4adb31c | nova | compute | Nova Compute Service |
| 35e940450e304b0ab8bc44176a15c663 | ec2 | ec2 | EC2 Compatibility Layer |
| 4249eaef71cb4e27a30ff1bde29100f3 | glance | image | Glance Image Service |
| 5ca15b16e4b147fe83876f841d55c021 | swift | object-store | Object Storage Service |
| c8817f4b57014ea9b6a49ac094ac2cc5 | keystone | identity | Keystone Identity Service |
| d242de507cf641cfbbaf507379dba6ae | volume | volume | Nova Volume Service |
+----------------------------------+----------+--------------+---------------------------+
swift@swift:~$ keystone tenant-list
+----------------------------------+---------------+---------+
| id | name | enabled |
+----------------------------------+---------------+---------+
| 312edfdc30024004b0fc80c6472d6d8d | service | True |
| dad6118a6954456a915557a8cc919523 | openstackDemo | True |
+----------------------------------+---------------+---------+
swift@swift:~$ keystone endpoint-list
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+
| id | region | publicurl | internalurl | adminurl |
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+
| 11b17934ff0f4df5945a351a027030ad | RegionOne | http://127.0.0.1:8773/services/Cloud | http://127.0.0.1:8773/services/Cloud | http://127.0.0.1:8773/services/Admin |
| 14a2de77b28f44b9bc40ac723f594fef | RegionOne | http://127.0.0.1:5000/v2.0 | http://127.0.0.1:5000/v2.0 | http://127.0.0.1:35357/v2.0 |
| 25545a31005d4c09a283787a0fdd629f | RegionOne | http://127.0.0.1:8888/v1/AUTH_%(tenant_id)s | http://127.0.0.1:8888/v1/AUTH_%(tenant_id)s | http://127.0.0.1:8888/ |
| 2f3f50b943c948659baa11493de2d43e | RegionOne | http://127.0.0.1:8774/v2/%(tenant_id)s | http://127.0.0.1:8774/v2/%(tenant_id)s | http://127.0.0.1:8774/v2/%(tenant_id)s |
| 84c6b7b454184b98b123a561eabdd02e | RegionOne | http://127.0.0.1:9292/v1 | http://127.0.0.1:9292/v1 | http://127.0.0.1:9292/v1 |
| eda07f984f434edd99ef8baac338b322 | RegionOne | http://127.0.0.1:8776/v1/%(tenant_id)s | http://127.0.0.1:8776/v1/%(tenant_id)s | http://127.0.0.1:8776/v1/%(tenant_id)s |
+----------------------------------+-----------+---------------------------------------------+---------------------------------------------+----------------------------------------+
5.安装glance
安装glance软件包
apt-get install glance
删除glance的sqllite数据文件
rm /var/lib/glance/glance.sqlite
创建glance数据库
drop database glance;
create database glance;
GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY '12345';
quit;
配置glance相关文件
sudo vim /etc/glance/glance-api-paste.ini更成下面的
[filter:authtoken]
admin_tenant_name = service
admin_user = glance
admin_password = glance
[pipeline:glance-api]
pipeline = versionnegotiation authtoken auth-context apiv1app
sudo vim /etc/glance/glance-api.conf 添加下面的
[paste_deploy]
flavor = keystone
重启glance-api服务
service glance-api restart
继续配置
sudo vim /etc/glance/glance-registry.conf添加下面的
[paste_deploy]
flavor = keystone
sudo vim /etc/glance/glance-registry-paste.ini更改成下面点
[filter:authtoken]
admin_tenant_name = service
admin_user = glance
admin_password = glance
[pipeline:glance-registry]
#pipeline = context registryapp
# NOTE: use the following pipeline for keystone
pipeline = authtoken auth-context context registryapp
给下面的这两个文件添加sql_connection = mysql://glance:yourpassword@127.0.0.1/glance
sudo vim /etc/glance/glance-registry.conf
sudo vim /etc/glance/glance-scrubber.conf
设置你数据库表的版本
sudo glance-manage version_control 0
创建数据库表
sudo glance-manage db_sync
重启glance的各个服务
service glance-registry restart
service glance-api restart
查看你的glance版本,有输出,则安装成功:
glance --version
下面测试上传镜像:
mkdir /tmp/images
cd /tmp/images
下载镜像包
wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
解压出三个镜像
tar -zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
上传解压出来的3个镜像
glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linux-kernel" disk_format=aki container_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linux-ramdisk" disk_format=ari container_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader
glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 add name="cirros-0.3.0-i386-disk" disk_format=qcow2 container_format=bare < cirros-0.3.0-i386-disk.img
执行命令,查看上传的镜像:
glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 index
glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 index ID Name Disk Format Container Format Size ------------------------------------ ------------------------------ -------------------- -------------------- -------------- 21b421e5-44d4-4903-9db0-4f134fdd0793 tty-linux ami ami 25165824 7d9f0378-1640-4e43-8959-701f248d999d tty-linux-ramdisk ari ari 96629 599907ff-296d-4042-a671-d015e34317d2 tty-linux-kernel aki aki 4404752
设置过环境变量,直接这样:
glance index
swift@swift:~$ glance index
ID Name Disk Format Container Format Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
8403e7bc-1789-439a-b24d-c259be10ad55 ubuntu-12.04-1-386 raw bare 5368709120
3eae5259-0139-490e-b250-ec2c1876deec cirros-0.3.0-i386-disk qcow2 bare 9159168
下转
《Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(2)》
http://blog.csdn.net/dragon889/article/details/7973227
- Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(1)
- Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(2)
- Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(3)
- openstack Folsom+Quantum安装
- X86单网卡Desktop源码安装Openstack 组件之Keystone、Glance、Nova
- Ubuntu 12.04 Openstack Essex 安装步骤(单节点)
- Ubuntu 12.04 Openstack Essex 安装(单节点)
- Ubuntu 12.04 Openstack Essex 安装(单节点)Swift篇
- 单机单网卡安装学习Openstack
- openstack 的Folsom安装,quantum方面
- OpenStack Quantum + OVS + VLAN 基础安装
- openstack-mikata之网络服务(controller安装部署)
- 单节点双网卡安装openstack E版 (控制节点&&计算机点)以及镜像制作(自动联网)
- Ubuntu Server 安装 Desktop
- 安装ubuntu desktop
- Ubuntu 12.04 Openstack Essex 安装步骤(单节点)全过程(ssh反问虚拟机)
- 【OpenStack-havana】之单网卡-All In One 安装(基于CentOS6.4)
- ubuntu 12.04 LTS 单网卡多节点搭建openstack
- C#取电脑的CPU和硬盘序列号
- sql server 2005安装内存不能读
- 30个前景无限的网络创业点子,你能抓住一个吗?
- 数据结构---线性表
- 黑马程序员_动态代理
- Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(1)
- 黑马程序员_多线程之生产者与消费者
- 整数的素数和分解问题
- Android View.onMeasure方法的理解
- 安装fbterm解决ffy下的中文乱码
- java引用类型与基本类型
- 黑马程序员_多线程之死锁
- 面试感悟之大工经历(2012-9.11——2012.9.13)
- Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(2)