Fuel快速安装开源openstack的实践:第一部分小规模部署多节点,无HA
原创作者:JAILBREAK(千里之外)
说明
本文主要是讲解和演示了Fuel安装Openstack的步骤和配置,以KVM虚拟环境为安装讲解,附带真实物理环境部署的案例。
关于FUEL软件的介绍和说明请参阅官网:https://wiki.openstack.org/wiki/Fuel或度娘。
第一部分主要是面对10台服务器以下的规模,可以不使用proxyHA组件。
总揽
本文的实验环境是一台物理服务器的KVM环境,相比于真实的物理环境的不同在于:
- KVM虚拟创建和管理网络简单,虚拟交换机仅仅采用bridge的方式
- 虚拟机容量(CPU/MEM/Disk)比物理机小,适合功能验证,不适合性能测试
准备网络
Fuel部署的Openstack环境需要5个网络:
- Public/Floating network: 公网或外网
- Management Network:管理网络,用于Openstack组件之间通信
- Administrative Network:Fuel安装部署管理Openstack环境的网络
- Storage Network: 存储网络,用于Cinder的iSCSI/Ceph数据传输
- Private Network:私有网络,用于实例之间的通信
也就是说每个节点都需要这5个网络,对应到物理网卡,可以用VLAN隔离的方式使用一块或多块物理网卡。在本文的KVM虚拟环境中,为每一个节点建立了5个虚拟网卡,分别对应到5个网络。
- Public/Floating network: 172.16.0.0/24
2. Management Network: 192.168.0.0/24
3. Administrative Network:10.20.0.0/24
4. Storage Network: 192.168.30.0/24
5. Private Network: 私有网络需要支持多VLAN, 所以这里的IP网段随便写。
准备节点
Fuel能够部署的节点和角色的对应关系是:
本文中用到了5个节点,就也是5个KVM虚拟机。
节点1: Fuel安装节点
节点2:控制节点+mongoDB
节点3:计算节点1+cinder LVM
节点4:计算节点2+cinder LVM
节点5:计算节点3+cinder LVM
每个节点的CPU/MEM/Disk配置可以根据具体情况调整,最小配置是2Core/2G MEM/50G Disk.
注意网络配置, Fuel节点至少连接到Administrative Network。
其余四个节点(Controller+Compute)要全部一致为5块虚拟网卡,对应到5个虚拟网段,网卡顺序最好保持一致。
1. Administrative Network
2.Public/Floating network: 公网或外网
3. Management Network:管理网络,用于Openstack组件之间通信
4. Storage Network: 存储网络,用于Cinder的iSCSI/Ceph数据传输
5. Private Network:私有网络,用于实例之间的通信
6. Private Network:第二个私有网络,目的是测试两个私有网络bonding冗余,可以没有。
准备存储
Fuel支持本地LVM和Ceph存储部署。本位从最简单的Cinder入手,ceph在后续中介绍。
本地LVM存储和计算节点在同一节点上,不需要单独的节点。
Fuel节点安装
从Mirantis官方网站注册即可下载安装源:https://www.mirantis.com/
1.光盘启动fuel
启动预先申请的Fuel安装节点,ISO启动直接安装,没有任何配置。运气好的话,半个小时可以自动化安装完成。
安装完成后的登陆界面:
2. 配置fuel的安装环境
命令行登录后,fuel提供了命令行接口,参见
http://docs.mirantis.com/openstack/fuel/fuel-5.1/user-guide.html#fuel-cli-config
最基本的是fuelmenu
如果你需要修改fuel的默认IP,,添加网卡,修改密码等操作,可以在fuelmenu完成。
如果添加了多个网卡,就可以多个网络访问fuel的web界面的,默认登录是admin/admin
3. 创建Openstack profile
Fuel被设计来部署和管理多个Openstack云,但并不处理多个openstack之间的关联关系。
本文中,创建了基于Ubuntu 12.04的Multiple nodes without HA的Openstack云。
CentOS6.5和Ubuntu12.04的区别在于内核版本对VLAN的支持,CentOS6.5在多余50个VLAN时会有性能瓶颈。详见:
http://docs.mirantis.com/openstack/fuel/fuel-5.1/user-guide.html#vlan-splinters
虚拟化环境部署时选择QEMU, 物理机环境可以选KVM。
Nova-network和neutron的区别,请参见文档:
http://docs.mirantis.com/openstack/fuel/fuel-5.1/planning-guide.html#net-topology-plan
本文不涉及ceph, 选默认本地盘。
这个三个都是可选项。Ceilometer比较费资源,真实环境要规划资源利用率。本文是虚拟测试环境,可以选上。
配置Openstack profile
添加节点
以PXE boot的方式启动另外四个节点(1个Controller/MongoDB, 3个Compute/Cinder):
进入bootstrap启动:
启动完成后,可以在fuel的节点界面看到机器第一块网卡的MAC地址(连接到administrative network的网卡)。
上图中ed:cf就是Controller, 3b:92, ec:0d, 2d:66是三个计算节点。
分别把角色和节点添加上:
Ed:cf - controller + mongoDB
3b:92 - compute + Storage Cinder LVM
ec:0d - compute + Storage Cinder LVM
2d:66 - compute + Storage Cinder LVM
点击“选择全部”,和网络配置。根据网卡连接到的虚拟网桥,一一对应。(这里两个连接到私有网络的虚拟网卡,做了bonding。)
磁盘配置可以选择默认,或者根据具体环境更改。
配置网络
配置5个网络段的IP地址和VLAN。因为KVM虚拟网桥不支持VLAN配置,所以除了private network私有网络,其他网络不要设置VLAN,而且要与KVM网桥的IP段一致。
Public network公有网络: 172.16.0.0/24 与KVM网桥public一致
Administration network管理网络: 192.168.0.0/24, 与KVM网桥admin一致
Storage network存储网络: 192.168.30.0/24 与KVM网桥iscsi一致
Private network私有网络: VLAN1000 - 1030, 与网桥IP网段无关
Internal network内部网络: 192.168.111.0/24, 这就是VLAN1000的私有网络,fuel用来做测试。
Floating Network浮动网络:172.16.0.130-254, Fuel限制浮动网络必须和公有网络在同一网段(实际上可以不同)。
保存后网络配置后,一定要验证网络环境,成功通过验证:
其他配置
在配置页面,还可以做一些更改。比如quota
调度器
安装部署Openstack
配置完成后,一键部署:
在部署的过程中,可以查看每个节点的服务的日志:
你也可以到节点的显示界面,监视安装部署的过程:
系统安装完成以后,会从控制节点开始安装Openstack组件,再装计算节点。
部署成功后,显示登录horizon的地址:
登录Horizon检查节点状态:
在Fuel中运行测试:
小结
Openstack的使用参见官方的用户手册。Fuel在规划清晰的情况下快速部署了小规模的环境(<10台服务器),难点在于网络的提前规划和设计。下一部分将演示对于规模比较大的环境,HA和ceph存储如何配置和使用。