4-7-通过fule安装openstack步骤及openstack镜像制作方法
本节所讲内容:
- 通过fuel安装openstack步骤
- openstack镜像制作方法
实验背景:
给自己的笔记本win7系统提前多配置一个10.20.0.63/24的IP地址,方便后期连接fuel。如下:
台式机: 做fuel节点
笔记本:做openstack的控制节点,计算节点,存储节点
实验拓扑图如下:
实战1:通过fuel的web界面部署openstack
给自己的笔记本电脑提前配置一个10.20.0.0/24的IP地址,方便连接
实战1: 通过fuel安装openstack
注:对已经安装的fuel虚拟机做个快照,防止自己做错后还原。
登录http://10.20.0.2:8000/ 用户名: amdin 密码: admin
注:这里访问需要使用chrome访问,使用其他浏览器可能访问时,显示空白,打不开。
到此fuel结点安装完成。
这里把“send usage statistics to mirantis” 前面的对勾去了,点“Connect Later”
注:不发送使用信息到mirantis
注: 如果你把fuel结点重启后,在客户端访不了http://10.20.0.2:8000。
解决:
在fuel结点,重启nginx服务器:
[root@fuel ~]# /etc/init.d/nginx restart
[root@fuel ~]# netstat -antup | grep :8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 6370/nginx
下面都使用这个来管理: http://10.20.0.2:8000
开始登录:搭建 openstack,点新建
硬听下来。 一年一次 。 sshd ,apache
注:选择KVM后,所有结点的虚拟机的CPU要支持虚拟化。
存储,使用ceph
这样的新openstack环境就创建好了:
现在查看一下openstack相关的配置:
查看网络相关的内容:
配置公网网段范围: 192.18.1.11 网段:192.18.1.0/24
然后 保存设置
点节点,查看节点:
现在为零个
现在创建3台虚拟机,并安装系统:
创建虚拟机:控制结点:controller结点: 内存:8G ,硬盘500G(小于500G会报错)
网卡1:br0:pxe+management
网卡2:vmnet5:storage
网卡3:vmnet6:private
网卡4:vmnet4:public
CPU需要配置:
现在开启虚拟机。直接pxe安装bootstrap基于内存的操作系统。 在结点上安装系统时,不需你要操作,在fuel服务器中已经配置好PXE无人执守安装服务器。
最终安装完系统:
创建虚拟机:计算结点:compute结点: 内存:2G
4个网卡:
网卡1:br0:pxe+management
网卡2:vmnet5:storage
网卡3:vmnet6:private
网卡4:vmnet4:public
现在开启虚拟机。直接pxe安装。 不需要操作,在fuel中已经配置pxe安装服务器。
稍等一会后安装成:
创建虚拟机:存储结点:ceph结点 ceph75: 内存:2G
4个网卡:
网卡1:br0:pxe+management
网卡2:vmnet5:storage
网卡3:vmnet6:private
网卡4:vmnet4:public
创建虚拟机:存储结点:ceph结点 ceph75: 内存:2G
4个网卡:
网卡1:br0:pxe+management
网卡2:vmnet5:storage
网卡3:vmnet6:private
网卡4:vmnet4:public
等4个结点安装好后,我可以通过各结点的eth0 来操作和配置角色。可看到如下结点的消息:
http://10.20.0.2:8000/#clusters
安装好的Linux系统,每个节点用户名:root 密码: r00tme
控制节点IP:
实战2:通过fuel的web管理界面来分配openstack各节角色
分配控制节点:
先查看控制节点第一个网卡的Mac地址:00:0C:29:92:FA:AE .
这里我是通过网卡1来安装控制节点系统的,后面fuel中会记录这个网卡的MAC地址。
分配计算结点:
同样先查看网卡1的mac地址:
分配存储结点:每个结点1.5G内存
同样先查看网卡1的mac地址。这里我们内存给得不一样,就直接按内存来确认他们是存储结点了。
注:最少需要两台ceph,否则会报错:
指定控制结点的网络角色:
选中控制节点后,点网络配置:
注:
控制节点的每个虚拟机网卡类型对应的网段作用及四个网卡对应的MAC地址
4个网卡:
网卡1:br0:pxe+management 00:0C:29:92:FA:AE
网卡2:vmnet5:storage 00:0C:29:92:FA:B8
网卡3:vmnet6:private 00:0C:29:92:FA:C2
网卡4: vmnet4:public 00:0C:29:92:FA:CC
计算结点:compute结点:3个网卡 4G 内存
4个网卡:
网卡1:br0:pxe+management 00:0C:29:07:24:07
网卡2:vmnet5:storage 00:0C:29:07:24:11
网卡3:vmnet6:private 00:0C:29:07:24:1B
网卡4: vmnet4:public 00:0C:29:07:24:25
存储结点:ceph结点,ceph74: 1.5G 内存
4个网卡:
网卡1:br0:pxe+management 00:0C:29:65:89:B8
网卡2:vmnet5:storage 00:0C:29:65:89:C2
网卡3:vmnet6:private 00:0C:29:65:89:CC
网卡4: vmnet4:public 00:0C:29:65:89:D6
开始部署变更:
等这里部署到100%
注:先安装centos系统
注:需要等2个小时,就可以安装openstack了。
然后登录控制节点的IP,就可以登录openstack的web界面了。
排错情景1:
当openstack中每个节点安装好后,每个节点终端下,会一直弹以下信息,这是虚拟机的问题:
排错情景2:
查看报错日志:
(/Stage[main]/Main/Cluster::Virtual_ip_ping[vip__public]/Service[vip__public]/ensure) change from stopped to running failed: Execution timeout after 600 seconds #由于大家的硬件配置低,执行超时而报错是最常见
2016-07-26 17:28:35 |
ERR |
(/Stage[main]/Main/Cluster::Virtual_ip_ping[vip__public]/Service[vip__public]/ensure) change from stopped to running failed: Execution timeout after 600 seconds! |
2016-07-26 17:28:35 |
ERR |
/usr/bin/puppet:4 |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:91:in `execute' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:137:in `run' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:478:in `exit_on_fail' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:470:in `plugin_hook' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application/apply.rb:146:in `run_command' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application/apply.rb:218:in `main' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/application/apply.rb:268:in `apply_catalog' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:192:in `run' |
2016-07-26 17:28:35 |
ERR |
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:124:in `apply_catalog' |
实战2:制作openstack镜像
实战场景:要求2分钟,部署100台 httpd服务器
方法1: 创建一台云主机,手动安装httpd,一堆配置。 配置100次 或puppet
方法2:提前创建一个httpd.img镜像,上传到云平台上,后期创建虚拟机直接使用httpd.img镜像,从而直接使用新创建的web服务器,不需要配置。 云平台支持一次创建100台甚至更多的相同配置的云主机。
在KVM上创建一台虚拟机:注意:虚拟机创建完后,先改硬盘格式改为qcow2,然后安装系统,方便后期此镜像支持快照功能。
使用rhel镜像安装好一台虚拟机。
进入虚拟机,如果想做成httpd web 镜像模版,那就可以在这台机器上安装好httpd相关软件。
启动新安装的KVM web虚拟机。
清除唯一性信息,如网卡MAC地址、SSH KEY等
删除网络配置
1、删除ifcfg-eth0的HWADDR一行,最后你的ifcfg-eth0的配置文件应该是这样的:
[root@xuegod63 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
2、删除已生成的网络设备规则,因为这里存着你MAC地址
[root@xuegod63 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
3、关闭防火墙和selinux
[root@xuegod63 ~]#vim /etc/selinux/config
改:SELINUX=disabled
[root@xuegod63 ~]#iptables -F
[root@xuegod63 ~]#service iptables save
4、部署你需要的服务或软件:
[root@xuegod63 ~]#yum install httpd
5、把KVM web虚拟关机后,此虚拟机的img文件就是云平台上共用的镜像
[root@xuegod63 ~]#init 0
生成的虚拟机镜像文件:/var/lib/libivrird/image/rhel6.qcow2格式的img 就是我需要的镜像文件
只需要将这个镜像通过openstack web界面传到Openstack的环境里,可以使用。
扩展:
现成的云平台镜像下载地址:
发行版本 |
下载地址 |
centos-6.0-x86_64 |
|
centos-6.5-x86_64 |
|
centos-7.0-x86_64 |
|
fedora-20 i386 & x86_64 |
|
fedora-21 i386 & x86_64 |
http://mirrors.ustc.edu.cn/fedora/linux/releases/21/Cloud/Images/ |
rhel-6.5- i386 & x86_64 |
https://access.redhat.com/downloads/content/69/ver=/rhel---6/6.5/x86_64/product-downloads |
rhel-7.0-x86_64 |
https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.0/x86_64/product-downloads |
ubuntu-10.04 i386 & x86_64 |
|
ubuntu-12.04 i386 & x86_64 |
|
ubuntu-14.04 i386 & x86_64 |
|
windows server 2012 r2 |