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

原创粉丝点击