Sep 192013
 

Redhat的Openstack开源项目RDO,其实是一套Puppet的Openstack模块,不过Redhat做了很多的工作,甚至集成Foreman来管理Puppet。这个比较符合Redhat的风格,和上游合作,而不是自己造轮子。

以前的RDO,主要是针对Nova network,不过最新的版本,基于H版本,默认就是Neutron,已经全面支持Openstack的网络,Neutron,GRE,vxlan等高级功能。

本文档主要是参考 Openstack Havana + neutron setup on RHEL6.4 || CentOS + troubleshooting

不过现在应该已经有点变化,文章提到的问题已经搞定。网络的问题我还没测试,http://openstack.redhat.com/forum/discussion/577/howto-packstack-allinone-install-with-neutron-and-external-connectivity  应该可以解决所有的问题。

我是在双网卡的物理机器进行测试,用虚拟机,配置2块网卡,也是应该可以,老外都是在Virtualbox进行Openstack的测试。

登陆Dashboard,如何使用,可以参考http://www.chenshake.com/openstack-havana-dashboard-to-test-and-use/#Project 

 


安装系统

我只是最小化安装系统,我本地有一个Centos的光盘制作的源,指向就可以。

源的设置比较重要,由于我以前使用本地源,优先级比较高,导致安装的时候出现冲突,包Selinux的错误,所以后来我就把我以前的源都删除,只使用163的mirror的设置。这个时候问题就解决。

我专门有一个分区 cinder-volumes,专门提供给cinder使用,这样性能会比文件模拟的更换。

有朋友反映需要设置正确的FQDN名字,否则安装可能会出错.所以建议大家把FQDN设置正确,避免不必要的麻烦。

设置网络

如果你是当网卡希望安装,可以参考 http://openstack.redhat.com/forum/discussion/577/howto-packstack-allinone-install-with-neutron-and-external-connectivity#Item_6

Eth0 设置

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
HWADDR=00:E0:81:D8:42:F6
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.1.199.8
NETMASK=255.255.255.0

 

Eth1 设置

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
TYPE=OVSPort

重启网络,生效

/etc/init.d/network restart

cinder设置

[root@g134 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             354G  976M  335G   1% /
tmpfs                  32G     0   32G   0% /dev/shm
/dev/sda1             194M   32M  153M  18% /boot
/dev/sda2             193G  188M  183G   1% /cinder-volume
[root@g134 ~]# umount /dev/sda2
[root@g134 ~]# pvcreate /dev/sda2
  Physical volume "/dev/sda2" successfully created
[root@g134 ~]# vgcreate cinder-volumes /dev/sda2
  Volume group "cinder-volumes" successfully created

 

修改/etc/fstab 去掉cinder-volume的开机挂载

sed -i '/cinder-volume/s/^/#/' /etc/fstab

 

改为使用163源

cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum list

 

Packstack

设置使用RDO源

yum install -y http://rdo.fedorapeople.org/openstack/openstack-havana/rdo-release-havana.rpm

 

Snap8

安装packstack

yum install -y openstack-packstack

 

会给机器添加puppet lab和Foreman的源。

Snap9

运行更新

yum -y update

 

会直接更新内核的版本。我测试的时候的版本

Snap1

装完后,重启机器。

安装Openstack

Packstack脚本设置参数其实很多,不过对于第一次安装就直接采用默认就可以。Openstack默认的demo用户,会对测试造成很多困扰。所以可以增加参数,去掉demo的用户。如果你按照上面的文档,创建了cinder-volume,那么这里就需要加上后面的参数,如果你没创建,那么就不需要添加后面的参数,会自动用文件模拟一个cinder-volume。

packstack  --allinone --provision-demo=n CONFIG_CINDER_VOLUMES_CREATE=n

如果你希望安装heat

packstack  --allinone --provision-demo=n CONFIG_CINDER_VOLUMES_CREATE=n \
--os-heat-install=y --os-heat-cfn-install=y

安装成功,会看到下面的界面

Snap2

重启机器,一定要重启机器,否则网络会有问题

登陆Dashboard

Redhat的RDO,基本所有和密码有关的,都是随机生成,登陆Dashboard的账号

http://ip 就可以直接访问 user:admin 密码看下面。

# cat /root/keystonerc_admin 
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=d6433394e15f4175
export OS_AUTH_URL=http://10.1.199.8:35357/v2.0/
export PS1='[\u@\h \W(keystone_admin)]\$ '

 

高级功能

你可以通过生成配置文件,进行修改

packstack --gen-answer-file my_answers.txt

 

对my_answers.txt 进行设置,然后

packstack --answer-file my_answers.txt

如果你希望使用密钥登陆

创建密钥

ssh-keygen

 

copy公钥到

ssh-copy-id root@10.1.199.134

编辑my_answers.txt

CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub

 

这样安装过程,就不会提示输入密码.

  One Response to “CentOS 6.4 RDO测试”

  1. 请教一下陈老师,我是centos6.4 按照你的步骤按照,运行packstack –allinone –provision-demo=n命令的时候提示ERROR : Error appeared during Puppet run: 192.168.1.151_keystone.pp
    Notice: /Stage[main]/Keystone::Db::Sync/Exec[keystone-manage db_sync]/returns: ImportError: No module named mysql
    请问这个要怎么排查?

 Leave a Reply

(required)

(required)