Openstack CentOS6.5 ALL IN ONE 安装
本文档以RDO的方式安装单节点、单网卡的Openstack。RDO是可在Red Hat Enterprise Linux、Fedora及其变体上运行的社区支持OpenStack版本。部署简单方便,RDO中包含核心的OpenStack组件 – Nova、Glance、Keystone、Cinder、Neutron、Swift和Horizon,还有用于云应用协调的孵化项目 – Heat,以及用于资源监视和计量的Ceilometer。利用红帽开发的安装工具 – PackStack,可以实现非常简便轻松的安装过程。
RDO的ALL IN ONE安装方式主要用于测试环境,安装所需要的环境比较容易实现,生产环境推荐使用真实物理机,多节点并逐个安装各组件的方式进行。
一、安装环境:
服务器:vmware虚拟机 系统:CentOS6.5 内核版本:2.6.32-431.3.1.el6.x86_64
网卡:一块(eth0) IP:192.168.8.229 netmask:255.255.255.0 gateway:192.168.8.1(办公网络)
二、配置国内源
Shell
cd/etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum list 三、设置FQDN
因为RDO的安装方式是通过puppet进行安装需要用到FQDN的命名方式,所以主机名要这样设置,名字可以随意取
vim/etc/sysconfig/network
controller.domain.cc
hostname controller.domain.cc
# hostname -f
controller.domain.cc 四、修改HOST文件
vi/etc/hosts
192.168.8.229controller.domain.cc 五、 配置cinder-volumes
给cinder-volumes单独一个分区,可以提高性能,我在安装系统的时候预留了一块分区未挂载。如果未预留,可以给虚拟机加一块硬盘做来此分区。
fdisk-l
pvcreate/dev/sda5
vgcreate cinder-volumes/dev/sda5 六、安装packstack
yum install-yhttp://rdo.fedorapeople.org/openstack/openstack-havana/rdo-release-havana.rpm
yum install-yopenstack-packstack
yum-yupdate
yum更新后重启服务器
七、关闭selinux
vi/etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled 八、开始安装
因为我们提前配置了cinder-volumes所以在安装命令中取消cinder-volumes的配置
packstack--allinone--provision-demo=nCONFIG_CINDER_VOLUMES_CREATE=n 九、安装过程
# packstack--allinone --provision-demo=n CONFIG_CINDER_VOLUMES_CREATE=n
Welcome toInstaller setup utility
Packstack changed given valuetorequired value/root/.ssh/id_rsa.pub
Installing:
Clean Up...
Setting up ssh keys...root@192.168.8.229'spassword:
root@192.168.8.229'spassword:
Discovering hosts'details...
Adding pre install manifest entries...
Adding MySQL manifest entries...
Adding QPID manifest entries...
Adding Keystone manifest entries...
Adding Glance Keystone manifest entries...
Adding Glance manifest entries...
Installing dependencies forCinder...
Adding Cinder Keystone manifest entries...
Adding Cinder manifest entries...
Checking ifthe Cinder server hasacinder-volumes vg...
Adding Nova API manifest entries...
Adding Nova Keystone manifest entries...
Adding Nova Cert manifest entries...
Adding Nova Conductor manifest entries...
Adding Nova Compute manifest entries...
Adding Nova Scheduler manifest entries...
Adding Nova VNC Proxy manifest entries...
Adding Nova Common manifest entries...
Adding Openstack Network-related Nova manifest entries...
Adding Neutron API manifest entries...
Adding Neutron Keystone manifest entries...
Adding Neutron L3 manifest entries...
Adding Neutron L2 Agent manifest entries...
Adding Neutron DHCP Agent manifest entries...
Adding Neutron LBaaS Agent manifest entries...
Adding Neutron Metadata Agent manifest entries...
Adding OpenStack Client manifest entries...
Adding Horizon manifest entries...
Adding Swift Keystone manifest entries...
Adding Swift builder manifest entries...
Adding Swift proxy manifest entries...
Adding Swift storage manifest entries...
Adding Swift common manifest entries...
Adding Ceilometer manifest entries...
Adding Ceilometer Keystone manifest entries...
Adding Nagios server manifest entries...
Adding Nagios host manifest entries...
Adding post install manifest entries...
Preparing servers...
Installing Dependencies...
Copying Puppet modules andmanifests...
Applying Puppet manifests...
Applying192.168.8.229_prescript.pp
192.168.8.229_prescript.pp:
Applying192.168.8.229_mysql.pp
Applying192.168.8.229_qpid.pp
192.168.8.229_mysql.pp:
192.168.8.229_qpid.pp:
Applying192.168.8.229_keystone.pp
Applying192.168.8.229_glance.pp
Applying192.168.8.229_cinder.pp
192.168.8.229_keystone.pp:
192.168.8.229_glance.pp:
192.168.8.229_cinder.pp:
Applying192.168.8.229_api_nova.pp
192.168.8.229_api_nova.pp:
Applying192.168.8.229_nova.pp
192.168.8.229_nova.pp:
Applying192.168.8.229_neutron.pp
192.168.8.229_neutron.pp:
Applying192.168.8.229_osclient.pp
Applying192.168.8.229_horizon.pp
192.168.8.229_osclient.pp:
192.168.8.229_horizon.pp:
Applying192.168.8.229_ring_swift.pp
192.168.8.229_ring_swift.pp:
Applying192.168.8.229_swift.pp
Applying192.168.8.229_ceilometer.pp
Applying192.168.8.229_nagios.pp
Applying192.168.8.229_nagios_nrpe.pp
192.168.8.229_swift.pp:
192.168.8.229_nagios.pp:
192.168.8.229_ceilometer.pp:
192.168.8.229_nagios_nrpe.pp:
Applying192.168.8.229_postscript.pp
192.168.8.229_postscript.pp:
Finalizing...
****Installation completed successfully******
Additional information:
*Anewanswerfile was created in:/root/packstack-answers-20140122-060833.txt
*Timesynchronization installation was skipped.Please note that unsynchronized timeon server instances might be problem forsome OpenStack components.
*Did notcreateacinder volume group,one already existed
*File/root/keystonerc_admin has been created on OpenStack client host192.168.8.229.Tousethe commandline tools you need tosource the file.
*Toaccess the OpenStack Dashboard browse tohttp://192.168.8.229/dashboard.
Please,findyour login credentials stored inthe keystonerc_admin inyour home directory.
*TouseNagios,browse tohttp://192.168.8.229/nagios username:nagiosadmin,password:cd40bf59e297418d
*The installation log fileisavailable at:/var/tmp/packstack/20140122-060832-eVf1sO/openstack-setup.log
*The generated manifests are available at:/var/tmp/packstack/20140122-060832-eVf1sO/manifest 安装过程中可能会因为源的问题中断,加上应答文件再次执行即可
packstack--answer-file=/root/packstack-answers-20140121-232841.txt 安装完成后,重启服务器
十、配置网络
安装好以后配置网络
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
HWADDR=00:E0:81:D8:43:BE
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex ifcfg-br-ex 是一个openvswitch 的连接外网的bridge。因为RDO目前的BUG,安装后成后并没有ifcfg-br-ex被创建,需要手动新增。
# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.8.229
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
ONBOOT=yes 重启网卡
十、安装镜像
安装完成后,用户、密码以及认证地址等环境变量被保存在/root/keystonerc_admin中,命令行下执行命令的时候需要先导入此文件或写到/etc/profile中。
十一、配置安全组规则
打开tcp:22端口和icmp协议的访问权限
Shell
1
2
neutron security-group-rule-create--protocol icmp--direction ingress default
neutron security-group-rule-create--protocol tcp--port-range-min22--port-range-max22--direction ingress default 查看新增的2个规则
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# neutron security-group-rule-list
+--------------------------------------+----------------+-----------+----------+------------------+--------------+
|id |security_group|direction|protocol|remote_ip_prefix|remote_group|
+--------------------------------------+----------------+-----------+----------+------------------+--------------+
|058625eb-7ca6-4717-bc80-f3e645f1b664|default |ingress | | |default |
|1cf19202-07e4-4413-a4b2-566fb3aef72c|default |ingress | | |default |
|2482ca61-9f4d-4cf9-a81c-c1ee22df1cc0|default |egress | | | |
|40c6cfb5-231f-4427-9655-9194268a33b5|default |egress | | | |
|57df7a08-c3fd-4696-8f63-32571ccecb24|default |egress | | | |
|8391e869-b371-46bf-958e-d89615165fd1|default |ingress |icmp |0.0.0.0/0 | |
|890dbd60-242c-4cfb-9eba-f8a755907d8c|default |ingress |tcp |0.0.0.0/0 | |
|96218b0c-338e-472c-befb-c2a3eb2db6ef|default |egress | | | |
|a29a3323-595f-4c7b-bdae-53614a62cb1e|default |egress | | | |
|adc87cfb-5a71-4549-bb15-ffc2ab1b862c|default |egress | | | |
|c952a552-50cc-4432-8f64-2ad305fe5496|default |ingress | | |default |
|d0426da9-5c31-4670-878c-cdb5771dc71e|default |ingress | | |default |
|d4620fb7-19fc-41cb-be14-5f70858b1b01|default |ingress | | |default |
|e468de96-1593-495a-bda9-64657b53a9a0|default |ingress | | |default |
+--------------------------------------+----------------+-----------+----------+------------------+--------------+
# neutron security-group-rule-show 8391e869-b371-46bf-958e-d89615165fd1
+-------------------+--------------------------------------+
|Field |Value |
+-------------------+--------------------------------------+
|direction |ingress |
|ethertype |IPv4 |
|id |8391e869-b371-46bf-958e-d89615165fd1|
|port_range_max | |
|port_range_min | |
|protocol |icmp |
|remote_group_id | |
|remote_ip_prefix|0.0.0.0/0 |
|security_group_id|6d8aa78f-1f81-4a7d-ac25-5ac5483e82e2|
|tenant_id |02da2e92dd6b4478b09aa63b20a11b5a |
+-------------------+--------------------------------------+
# neutron security-group-rule-show 890dbd60-242c-4cfb-9eba-f8a755907d8c
+-------------------+--------------------------------------+
|Field |Value |
+-------------------+--------------------------------------+
|direction |ingress |
|ethertype |IPv4 |
|id |890dbd60-242c-4cfb-9eba-f8a755907d8c|
|port_range_max |22 |
|port_range_min |22 |
|protocol |tcp |
|remote_group_id | |
|remote_ip_prefix|0.0.0.0/0 |
|security_group_id|6d8aa78f-1f81-4a7d-ac25-5ac5483e82e2|
|tenant_id |02da2e92dd6b4478b09aa63b20a11b5a |
+-------------------+--------------------------------------+http://dafengzi.com/wp-content/uploads/2014/01/glance.png
(未完待续)
遇到的问题及解决方法:
(先把遇到的问题写在这里怕以后忘记)
配置域名访问web界面后报错:
Shell
1
2
3
4
5
6
7
8
9
2014-01-2208:55:57,3236935ERROR django.requestInternal Server Error:/dashboard/
Traceback(most recent call last):
File"/usr/lib/python2.6/site-packages/django/core/handlers/base.py",line89,inget_response
response=middleware_method(request)
File"/usr/lib/python2.6/site-packages/django/middleware/common.py",line55,inprocess_request
host=request.get_host()
File"/usr/lib/python2.6/site-packages/django/http/__init__.py",line223,inget_host
"Invalid HTTP_HOST header (you may need to set ): %s"%host)
SuspiciousOperation:Invalid HTTP_HOST header(you may need toset ALLOWED_HOSTS):openstack.domain.cc 原因:django有个ALLOWED_HOSTS的配置,有允许的域名可以解析到服务器IP上。
解决方法:在/etc/openstack-dashboard/local_settings 里面找到ALLOWED_HOSTS在其中加入想要解析的域名,修改后的样子:
Shell
1
ALLOWED_HOSTS=['192.168.8.229','controller.domain.cn','localhost','openstack.domain.cc',] 重启apache
页:
[1]