CentOS 6.5系统单网卡环境下安装Openstack Havana平台
IaaS软件的安装和学习,最头痛的是对硬件条件的要求,很多时候因为对硬件的要求,导致你无法去测试。在Openstack的Grizzly版本里,要求3块网卡,有时候很难满足这样的条件。还有就是网络,很有可能你的网络条件无法满足要求,也是无法测试。
那么这种情况到了H版本,已经大大改善,单网卡,网络,你可能只需要一个网段的几个IP地址,就可以装好和测试。这也很好体现了Openstack的网络功能的强悍。目前Neutron网络设置和以前的Nova network 差异很大,全部都是web搞定,非常爽。
1台物理服务器,单网卡,机器可联网
网卡IP:10.1.199.8/24, 网关10.1.199.1
10.1.199.210 到10.1.199.220 这段IP,作为Floating IP给虚拟机使用
CentOS6.4,最小化安装,只支持CentOS6.4以上的版本安装Openstack的Havana。如果你希望测试cinder存储功能,那么建议你单独一个分区,这样性能会很好多。
由于使用Puppet,需要机器设置好FQDN 名字。
# hostname -fg134.chenshake.com
网络
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
确保联网正常。
这主要是为了给cinder-volumes单独一个分区,提高性能。
[root@node08 ~]# df -hFilesystem Size Used Avail Use% Mounted on
/dev/sda5 628G 979M 596G 1% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 194M 32M 153M 18% /boot
/dev/sda2 193G 188M 183G 1% /cinder-volume
[root@node08 ~]# umount /dev/sda2
[root@node08 ~]# pvcreate /dev/sda2
Physical volume "str">"/dev/sda2" successfully created
[root@node08 ~]# vgcreate cinder-volumes /dev/sda2
Volume group "str">"cinder-volumes" successfully created
修改/etc/fstab 去掉cinder-volume的开机挂载,不然会导致你无法重新启动
sed -i '/cinder-volume/s/^/#/' /etc/fstab设置源
cd /etc/yum.repos.d/
wget http: "rem">//mirrors.163.com/.help/CentOS6-Base-163.repo
yum list
Packstack,你可以理解成Redhat用Puppet写的一套脚本
使用RDO源
yum install -y http://rdo.fedorapeople.org/openstack/openstack-havana/rdo-release-havana.rpm安装packstack
yum install -y openstack-packstack进行更新
yum -y update系统会更新内核和组件。
重新启动机器,一定要重新启动。
直接运行下面命令就可以
packstack --allinone --provision-demo=n如果你设置了一个单独的分区给Cinder使用,那么你就运行下面命令
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
重新启动机器
这是重点,参考是这篇文档http://openstack.redhat.com/Neutron_with_existing_external_network
我们需要把 /etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/sysconfig/network-scripts/ifcfg-br-ex 两个文件进行修改。ifcfg-br-ex是安装Openstack的过程中创建的。
源文件
cat /etc/sysconfig/network-scripts/ifcfg-br-exDEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=
NETMASK=
修改后
# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0
ONBOOT=yes
HWADDR=00:E0:81:D8:43:BE
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ifcfg-br-ex 是一个openvswitch 的连接外网的bridge。
# cat /etc/sysconfig/network-scripts/ifcfg-br-exDEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=10.1.199.8
NETMASK=255.255.255.0
ONBOOT=yes
重新启动网络
/etc/init.d/network restart
Openstack的安装,就已经装完,剩下的是进入Dashboard进行设置。
密码
# cat /root/keystonerc_adminexport OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=c22a03c7fb7145fa
export OS_AUTH_URL=http: "rem">//10.1.199.8:35357/v2.0/
export PS1='[\u@\h \W(keystone_admin)]\$ '
通过 http://10.1.199.8 user:admin 密码看上面,随机生成的。
下面就是用最快的步骤来实现创建一个虚拟机,并且访问外网。
上传一个ubuntu12.04镜像,
http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
创建完成后,进入网络的详细页面
添加子网,这是重点
子网详情,设置你使用的IP地址范围
创建完毕
创建用户你可以使用当前的***去创建虚拟机,不过为了更加深入了解,我这里创建一个项目test,用户chenshake来演示
创建用户
注意选择test项目和Member角色
用户登录使用创建的账号 chenshake登录
创建网络和设置
虚拟机使用的Fix IP,这个你可以随意设置
子网详情,就不需要设置,默认就可以,点击创建。
创建路由器和设置创建一个名字为“ 路由器1”
设置路由器的网关
选择***创建的外网网络
进入路由器详细页面,添加接口
就是把路由器和用户自己的网络连接起来
打开安全组的22和允许ping
22端口
查看全部规则
秘钥会下载到本地
创建虚拟机
云主机类型,不能选择tiny,会导致创建失败,因为不满足镜像的要求。
这里不需要设置,我刚才创建的秘钥的名称是:chenshake
在可用网络里把网络添加上,点击 “运行”
分配Floating IP
点击+ 号,申请Floating IP
关联
看看结果
ping虚拟机
ssh虚拟机
Ubuntu虚拟机默认的用户名是ubuntu,只能采用秘钥登陆,无法采用密码登陆,设置SecureCRT(如果使用putty,秘钥需要转换,自己研究)
登陆结果
如果您的问题仍未解决,还可以加入服务器在线技术交流QQ群:8017413寻求帮助。