2013年12月5日星期四

CentOS6.4 Openstack Havana 单网卡 All in One 安装

IaaS软件的安装和学习,最头痛的是对硬件条件的要求,很多时候因为对硬件的要求,导致你无法去测试。在Openstack的Grizzly版本里,要求3块网卡,有时候很难满足这样的条件。还有就是网络,很有可能你的网络条件无法满足要求,也是无法测试。
那么这种情况到了H版本,已经大大改善,单网卡,网络,你可能只需要一个网段的几个IP地址,就可以装好和测试。这也很好体现了Openstack的网络功能的强悍。目前Neutron网络设置和以前的Nova network 差异很大,全部都是web搞定,非常爽。

基本条件

  1. 1台物理服务器,单网卡,机器可联网
  2. 网卡IP:10.1.199.8/24, 网关10.1.199.1
  3. 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镜像,
Snap4

创建网络

Snap5
创建完成后,进入网络的详细页面
Snap6
添加子网,这是重点
Snap7
子网详情,设置你使用的IP地址范围
Snap8
创建完毕

创建用户

你可以使用当前的管理员去创建虚拟机,不过为了更加深入了解,我这里创建一个项目test,用户chenshake来演示
Snap10
创建用户
Snap11
注意选择test项目和Member角色

用户登录

使用创建的账号 chenshake登录

创建网络和设置

Snap12
虚拟机使用的Fix IP,这个你可以随意设置
Snap13
子网详情,就不需要设置,默认就可以,点击创建。

创建路由器和设置

创建一个名字为“ 路由器1”
Snap15

设置路由器的网关
Snap16
选择管理员创建的外网网络
Snap17
进入路由器详细页面,添加接口
Snap18
就是把路由器和用户自己的网络连接起来
Snap19

查看网络拓扑图

Snap20

设置安全组

打开安全组的22和允许ping
Snap21
22端口
Snap22
查看全部规则
Snap25

创建秘钥

Snap26
秘钥会下载到本地

创建虚拟机

Snap27
云主机类型,不能选择tiny,会导致创建失败,因为不满足镜像的要求。
Snap28
这里不需要设置,我刚才创建的秘钥的名称是:chenshake
Snap29
在可用网络里把网络添加上,点击 “运行”

分配Floating IP

Snap30
点击+ 号,申请Floating IP
Snap31
关联
Snap32
看看结果
Snap33

访问虚拟机

ping虚拟机
Snap34
ssh虚拟机
Ubuntu虚拟机默认的用户名是ubuntu,只能采用秘钥登陆,无法采用密码登陆,设置SecureCRT(如果使用putty,秘钥需要转换,自己研究)
Snap35
Snap36
Snap37
登陆结果
Snap38

没有评论:

发表评论