设为首页 收藏本站
查看: 820|回复: 0

[经验分享] 使用devstack 安装openstack

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-9 04:00:19 | 显示全部楼层 |阅读模式
  这篇文章写给初学者,如何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.
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-162008-1-1.html 上篇帖子: 如何向OpenStack社区贡献代码 下篇帖子: 什么是openstack的 metadata
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表