IaaS软件的安装和学习,最头痛的是对硬件条件的要求,很多时候因为对硬件的要求,导致你无法去测试。在Openstack的Grizzly版本里,要求3块网卡,有时候很难满足这样的条件。还有就是网络,很有可能你的网络条件无法满足要求,也是无法测试。
那么这种情况到了H版本,已经大大改善,单网卡,网络,你可能只需要一个网段的几个IP地址,就可以装好和测试。这也很好体现了Openstack的网络功能的强悍。目前Neutron网络设置和以前的Nova network 差异很大,全部都是web搞定,非常爽。
Contents [hide]
基本条件
- 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 g134.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
确保联网正常。
LVM设置(可选)
这主要是为了给cinder-volumes单独一个分区,提高性能。
[root@node08 ~]# df -h Filesystem 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 "/dev/sda2" successfully created [root@node08 ~]# vgcreate cinder-volumes /dev/sda2 Volume group "cinder-volumes" successfully created
修改/etc/fstab 去掉cinder-volume的开机挂载,不然会导致你无法重启
sed -i '/cinder-volume/s/^/#/' /etc/fstab
设置源
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum list
Packstack
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
系统会更新内核和组件。
重启机器,一定要重启。
安装Openstack
直接运行下面命令就可以
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
重启机器
设置网络
我们需要把 /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
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=
NETMASK=
修改后
# 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。
# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=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进行设置。
Dashboard
管理员登陆
密码
# cat /root/keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=c22a03c7fb7145fa export OS_AUTH_URL=http://10.1.199.8:35357/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ '
通过 http://10.1.199.8 user:admin 密码看上面,随机生成的。
下面就是用最快的步骤来实现创建一个虚拟机,并且访问外网。
镜像
上传一个ubuntu12.04镜像,
创建网络
创建完成后,进入网络的详细页面
添加子网,这是重点
子网详情,设置你使用的IP地址范围
创建完毕
创建用户
你可以使用当前的管理员去创建虚拟机,不过为了更加深入了解,我这里创建一个项目test,用户chenshake来演示
创建用户
注意选择test项目和Member角色
用户登录
使用创建的账号 chenshake登录
创建网络和设置
虚拟机使用的Fix IP,这个你可以随意设置
子网详情,就不需要设置,默认就可以,点击创建。
创建路由器和设置
创建一个名字为“ 路由器1”
设置路由器的网关
选择管理员创建的外网网络
进入路由器详细页面,添加接口
就是把路由器和用户自己的网络连接起来
查看网络拓扑图
设置安全组
打开安全组的22和允许ping
22端口
查看全部规则
创建秘钥
秘钥会下载到本地
创建虚拟机
云主机类型,不能选择tiny,会导致创建失败,因为不满足镜像的要求。
这里不需要设置,我刚才创建的秘钥的名称是:chenshake
在可用网络里把网络添加上,点击 “运行”
分配Floating IP
点击+ 号,申请Floating IP
关联
看看结果
访问虚拟机
ping虚拟机
ssh虚拟机
Ubuntu虚拟机默认的用户名是ubuntu,只能采用秘钥登陆,无法采用密码登陆,设置SecureCRT(如果使用putty,秘钥需要转换,自己研究)
登陆结果
没有评论:
发表评论