devstack mysql_使用devstack 安装openstack

本文详细介绍如何使用DevStack在Ubuntu 12.04上快速部署OpenStack环境,并通过具体步骤指导创建虚拟机实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章写给初学者,如何buid 一个openstack 的环境,然后学习openstack,使用devstack 来安装openstack 是最简易快捷的方式了.

devstack 的官方网站:

http://devstack.org/

下面开始我们的openstack 体验之旅:

1. 准备 ubuntu-12.04 OS:

我自己的desktop 上安装了 virtual box, 就用它虚拟一个 VM吧

a. 下载 ubuntu-12.04.1-alternate-amd64.iso http://releases.ubuntu.com/12.04/

b. 安装 ubuntu OS, 很简单的 就不赘述了

2. 设置 root 口令:

要先打开终端, 执行:sudo passwd -u root  # 来启用我们的root账户,如果你后悔了可以执行 sudo passwd -l root 来重新lock root用户。

然后给root创建一个密码:sudo passwd root    #看准提示进行输入,root的密码最好和其他用户的密码不同,不然会遇到一些麻烦。

现在root用户也不被禁用了,也有密码了,那么如何使用root进行登录呢?

执行如下命令:echo "greeter-show-manual-login=true” >> /etc/lightdm/lightdm.conf   #这样是让lightdm可以手动输入root用户进行登录。

执行完毕后重启,登录时点击lightdm下的登录按钮,输入root和密码即可使用root登录

3. 配置IP:

我家里的网络是 无线路由+猫, 我自己机器的私网地址 是192.168.1.101, 在虚拟机中 配置好IP 为 192.168.1.102

vim /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

post-up ifconfig dummy0 0.0.0.0

address 192.168.1.102

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.1

dns-nameservers 192.168.1.1

dns-search stackops.org

重启网络 : /etc/init.d/networking restart

4. 配置DNS:

配置在这个地方 restart vm 也不失效

vi /etc/resolvconf/resolv.conf.d/base

nameserver 192.168.1.1

5. 更新 OS:

apt-get update

6. 安装open-ssl:

安装这个东东主要的为了通过desktop 使用 SecureCRT 访问 vm

$ sudo aptitude install openssh-server

$ /etc/init.d/ssh restart

7. 安装 git

apt-get install git

8. 使用devstack 安装openstack

a.  cd /opt

b.  git clone git://github.com/openstack-dev/devstack.git

c.  create a file named localrc, apend followings to this file

ADMIN_PASSWORD=nova

MYSQL_PASSWORD=nova

RABBIT_PASSWORD=nova

SERVICE_PASSWORD=nova

SERVICE_TOKEN=tokentoken

FLAT_INTERFACE=br100

d. source localrc

e. ./stack.sh   开始按住了, 需要20+多分钟

localrc 必须在 /home/devstack/devstack/下

9. 用openstack 创建一个vm

a. 先创建一个flavor , 之所以创建一个新的flavor, 而不用已经存在的,是因为我想让vm 有256m 内存,

default 的几个flavor 最小的mem size 也是512m

root@mystack:/opt/devstack# nova flavor-create xpp.test 6 256 0 1

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

| ID | Name     | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |

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

| 6  | xpp.test | 256       | 0    | 0         |      | 1     | 1.0         | True      | {}          |

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

root@mystack:/opt/devstack#

b. boot instance

root@mystack:/opt/devstack# nova boot --flavor 6  --image cirros-0.3.0-x86_64-uec xhuvm1

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

| Property                            | Value                                |

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

| OS-DCF:diskConfig                   | MANUAL                               |

| OS-EXT-SRV-ATTR:host                | None                                 |

| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                 |

| OS-EXT-SRV-ATTR:instance_name       | instance-00000001                    |

| OS-EXT-STS:power_state              | 0                                    |

| OS-EXT-STS:task_state               | scheduling                           |

| OS-EXT-STS:vm_state                 | building                             |

| accessIPv4                          |                                      |

| accessIPv6                          |                                      |

| adminPass                           | kfPJ4aYThBw6                         |

| config_drive                        |                                      |

| created                             | 2012-12-31T13:45:32Z                 |

| flavor                              | xpp.test                             |

| hostId                              |                                      |

| id                                  | 88013d9e-20b3-41d7-a699-f1752af91755 |

| image                               | cirros-0.3.0-x86_64-uec              |

| key_name                            | None                                 |

| metadata                            | {}                                   |

| name                                | xhuvm1                               |

| progress                            | 0                                    |

| security_groups                     | [{u'name': u'default'}]              |

| status                              | BUILD                                |

| tenant_id                           | 42109310396440339051a0e7cb064bc9     |

| updated                             | 2012-12-31T13:45:33Z                 |

| user_id                             | 17150c9b069042dbbffc75ce02422874     |

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

root@mystack:/opt/devstack#

c. check vm status

root@mystack:/opt/devstack# nova list

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

| ID                                   | Name   | Status | Networks         |

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

| 88013d9e-20b3-41d7-a699-f1752af91755 | xhuvm1 | ACTIVE | private=10.0.0.2 |

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

root@mystack:/opt/devstack#

10. 登陆 openstack dashbord , 看看我们刚才创建的 vm(xhumv1) 在不在

http://192.168.1.102/

admin/nova

10. 登陆 MySQL

mysql -uroot -pnova

备忘:

1.  安装 openstack的 vm 重启后, 所有的openstack sevice 不会重新启动, 需要手动run stack.sh, 但是这样,相当与重新初始化了环境,以前创建的instance 会不见了,数据库的数据也会刷新

2.  国外有个哥们写了一个 restart openstak 的shell, 可以解决这个问题, 详见:

http://www.scalegrid.net/blog/?p=52

我休改了2行, 主要是新版本的 openstack 多了一个service 名字是 nova-conductor, 他的脚本太老,没有handle 这个case.

3. 重启service 步骤:

a. run  screen -list ,  kill -9 杀死所有的 screen session

b. run restart_stack.sh

c. check all services

root@mystack:/opt/devstack# nova-manage service list

Binary           Host                                 Zone             Status     State Updated_At

nova-conductor   mystack                              nova             enabled    :-)   2012-12-31 14:01:27

nova-cert        mystack                              nova             enabled    :-)   2012-12-31 14:01:27

nova-compute     mystack                              nova             enabled    :-)   2012-12-31 14:01:27

nova-scheduler   mystack                              nova             enabled    :-)   2012-12-31 14:01:26

nova-consoleauth mystack                              nova             enabled    :-)   2012-12-31 14:01:27

nova-network     mystack                              nova             enabled    :-)   2012-12-31 14:01:26

4.  all services 的日志配置

a. 创建日志目录:mkdir -p /var/log/nova

b. 在/etc/nova/nova.conf 加上 “ logdir=/var/log/nova”

c. 重启service

遗留的问题:

run restart_stack.sh重启了 service 以后, dashboard 不能登陆, 不过CLI 都能工作,其实我基本也不用dashboard.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值