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 -f
确保联网正常。
这主要是为了给cinder-volumes单独一个分区,提高性能。
[root@node08 ~]# df -h修改/etc/fstab 去掉cinder-volume的开机挂载,不然会导致你无法重启
sed -i '/cinder-volume/s/^/#/' /etc/fstabPackstack,你可以理解成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 \重启机器
这是重点,参考是这篇文档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-ex修改后
# cat /etc/sysconfig/network-scripts/ifcfg-eth0ifcfg-br-ex 是一个openvswitch 的连接外网的bridge。
# cat /etc/sysconfig/network-scripts/ifcfg-br-ex重启网络
/etc/init.d/network restart
Openstack的安装,就已经装完,剩下的是进入Dashboard进行设置。
密码
# cat /root/keystonerc_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,秘钥需要转换,自己研究)
登陆结果