搭建Openstack云平台
实验室需要做一个大数据平台项目,临时接下需要部署实验室云平台的任务,由于之前没有接触过相关技术,仅以此篇作为纪录文,记录一下我的openstack的初步学习以及搭建过程。
1.openstcak及其组件的简要介绍
Openstack是一个开源的云计2016-02-25几个主要的组件组合起来完成具体工作。
计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。
对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中
镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。
身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。
网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。
块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。
UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。
数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。自Icehouse版本集成到项目中。
2.openstack的搭建过程
本文主要介绍了在三台服务器上搭建opentack平台并使用dashboard创建虚拟机的的过程。Openstack分为三个节点:控制节点、网络节点和计算节点。
安装步骤参考链接所指的文章
上述链接所指的文章已经很好地介绍了openstack Havana的安装过程,在安装过程中最重要的就是细心和谨慎。稍有不慎,敲错指令就会导致后期无法运行成功。还有一个要注意的点就是IP地址的规划
节点角色 |
NICs |
控制节点 |
Eth0(10.82.83.175),Eth1(192.168.0.107) |
网络节点 |
Eth0(10.82.83.177),Eth1(192.168.0.108) |
计算节点 |
Eth0(10.82.83.179),Eth1(192.168.0.109) |
Eth0是外网地址,Eth1是内网地址,因此在配置的过程中需要对配置信息做相应地修改。
3.openstack启动和使用云主机
参考文章:http://www.chenshake.com/openstack-havana-dashboard-to-test-and-use/
4.openstack镜像和密码
在后期,可能会用到许多不同的镜像,这里对镜像进行一些总结。
- 虚拟机登录方式
对Openstack来说:访问虚拟机提供了两种方式,ssh方式和Dashboard的console。Console方式,相当于你服务器前面直接登陆。有些虚拟机镜像处于安全考虑,不允许root的账号直接远程ssh登陆。
- Cirror镜像
是openstack开发的测试镜像,因为他比较小,只有10M
镜像介绍:https://launchpad.net/cirros
镜像的地址: https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.imgCirros,是可以使用用户名和密码登陆,也可以使用密钥登陆。user:cirros,password:cubswin:)
- Ubuntu镜像
下载地址
http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
这个是非常有名的镜像,大家用来测试也比较多。这个镜像默认是无法使用密码登陆,只能使用密钥登陆。所以你在console,也是无法登陆到虚拟机。
默认的用户名是:ubuntu,你需要使用密钥才能登陆。
如果你希望console可以登陆,那么在启动云主机处的创建后填入如下脚本:
这个时候,创建完的虚拟机,在console,就可以用 user:ubuntu,pass:ubuntu 登陆,不需要密钥。
不过这个时候,你还是无法通过ssh访问虚拟机,因为ssh默认设置是禁用密码认证,所以你需要多做点工作。
#!/bin/sh
passwd ubuntu<<EOF
ubuntu
ubuntu
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
service ssh restart
这样你就可以使用ssh登陆到虚拟机,不需要通过console。
- CentOs镜像
国内用CentOS比较多,不过在Openstack上的CentOS image,以前都只能自己去制作。这个需要一个大家信任的第三方来完成。以下两个链接是教你如何制作镜像
http://catn.com/labs/centos-images/
http://catn.com/2013/04/18/building-a-virtual-machine-image-for-centos/
也可以用别人做好的现成的image,其镜像下载地址:
http://mirror.catn.com/pub/catn/images/qcow2/centos6.4-x86_64-gold-master.img
镜像账号:(user:root;pass:changeme1122)
你是可以在创建虚拟机的时候,直接把这个root的密码修改。默认是运行root登陆。
不过这个image,没有集成cloud-init。导致你看到的虚拟机名字,不是你设置的计算机名。
5.运行虚拟机会崩溃的解决方案
在安装完平台后,一定要对MTU进行设置。
编辑 /etc/neutron/dhcp_agent.ini
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf
创建一个 /etc/neutron/dnsmasq-neutron.conf
dhcp-option-force=26,1400
重启服务
service neutron-dhcp-agent restart
- 如何排错
在安装过程中,出现错误是家常便饭,所以一定要学会如何排错。OpenStack的部署过程遇到的问题可归纳总结为配置文件问题、配置步骤缺失等,因为通常计算机不会犯错,犯错的只有人类……
故障通常有以下几种情况:
1.时间同步问题,两(多)个节点间时间不同步数据库问题,权限问题,数据库缺失,表结构不存在(数据库建立表结构时出错),用户名密码错误等
2.软件包没有正确安装,例如国外的源网络存在波动或网站存在故障或网站临时修改了源的路径等都会导致软件包安装出现重大错误,而安装的人却没有发现
3.配置文件中配置出错,这种错误最为常见,往往一个不易引人注意的错误就会出现问题,例如把0写成o,把1写成l,service写成server等
4.网络接口地址用错,控制节点上的endpoint-list发现public url用的是错误地址,如本地环回地址而不是管理接口地址
5.服务用户缺失,一般由软件bug或软件安装不正确导致,如以前有rabbitmq需要的rabbitmq不存在,导致rabbitmq的guest密码不可修改等问题。
6.文件权限问题,如配置文件在更换后没有配置文件权限,例如本来是root:nova的文件所有者,被换成了root:root,一定会出现服务无法正常运行的问题。
通常排错方法总结如下:
1.检查软件日志和系统日志,这是第一步就要做的,如果没有生成软件日志就考虑查看系统日志,可以将/var/log/messages文件清空再 执行一下相关的命令,查看此文件中的日志,可以在执行命令后没有生成日志的情况下使用此方法解决这一问题(在今天的故障排除中具有关键作用)。
最后推荐一个我在学习过程中觉得写的不错的博客:
http://www.chenshake.com/cloud-computing/
搭建好的云平台:
搭建Openstack云平台的更多相关文章
- 干货 | 手把手教你搭建一套OpenStack云平台
1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...
- 干货|带你体验一次原生OpenStack云平台发放云主机的过程
一个执着于技术的公众号 1 前言 上一章节我们完成了OpenStack云平台的搭建工作,今天就带大家一起学习下如何发放一台云主机 点击查看:如何搭建一套OpenStack云平台 2 发放OpenSta ...
- 轻松搭建Windows8云平台开发环境
原文:轻松搭建Windows8云平台开发环境 Windows Store应用是基于Windows 8操作系统的新一代Windows应用程序,其开发平台以及运行模式和以往传统平台略有不同.为了帮助更多开 ...
- OpenStack云平台网络模式及其工作机制
转自:http://openstack.csdn.net/content.html?arcid=2808381 OpenStack云平台网络模式及其工作机制 网络,是OpenStack的部署中最容易出 ...
- openStack 云平台管理节点管理网口流量非常大 出现丢包严重 终端总是时常中断问题调试及当前测试较有效方案
tuning for Data Transfer hosts connected at speeds of 1Gbps or higher <一.本次OpenStack系统调试简单过程简单记录& ...
- openStack云平台虚拟桌面galera mysql 3节点集群实例实战 调试完成
被复制节点: /usr/local/mysql/bin/mysqld_safe --wsrep_cluster_address=gcomm:// >/dev/null &复制节点01: ...
- Centos7搭建OpenNebula云平台
OpenNebula概述 OpenNebula是专门为云计算打造的开源系统,用户可以使用Xen.KVM.VMware等虚拟化软件一起打造企业云.利用OpenNebula可以轻松构建私有云.混合云.公开 ...
- OpenStack——云平台部署
一.配置网络 准备:安装两台最小化的CentOS7.2的虚拟机,分别添加两张网卡,分别为仅主机模式和NAT模式,并且计算节点设置为4G运行内存,50G硬盘 1.控制节点--配置网络 控制节点第一个网卡 ...
- OpenStack云平台的网络模式及其工作机制
网络,是OpenStack的部署中最容易出问题的,也是其结构中难以理清的部分.经常收到关于OneStack部署网络方面问题和OpenStack网络结构问题的邮件.下面根据自己的理解,谈一谈OpenSt ...
随机推荐
- EntityFramework基础
好久没有学习新东西了,最近研究了下EntityFramework,将基础代码贴出来, Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity ...
- Linux:基础配置--备忘
1.网络 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:77:F3:A1 TYPE=Ethernet UU ...
- ORACLE SQL前端补0的三种方式。
前端补0的三种方式. select lpad(sal,8,'0') from emp;select to_char(sal,'00000000') from emp;select substr('00 ...
- HTML图像映射
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android IOS WebRTC 音视频开发总结(六八)-- Google: What's next for WebRTC
本文主要从用户,公司和技术角度分析美女视频直播这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help Justio ...
- (知识分享)软硬件调试九法:第九条规则 如果你不修复一个bug,它将永远存在
1.查证问题确已被修复 如果遵循了“制造失败”这条规则,就知道如何验证你确实修复了问题.无论问题和修复看起来多么明显,你都无法保证修复是有效的,直到做了测试并验证. 2.查证确实你的修复措施解决了问题 ...
- 离线安装VS 2013开发工具的方法!
目前微软已正式发布了VS 2013的开发工具,但安装VS 2013开发工具前必须安装或升级到IE10,否则无法进行安装.本文主要介绍在Windows Server 2008 R2 SP1下离线安装IE ...
- Python字典方法总结
1.清空字典中元素清空,dict变为{} L.clear()-> None. Remove all items from L 1 2 3 4 >>> L ={'shaw':2 ...
- SQL 中 SELECT 语句的执行顺序
好像自已在书写 SQL 语句时由于不清楚各个关键字的执行顺序, 往往组织的 SQL 语句缺少很好的逻辑, 凭感觉 "拼凑" ( 不好意思, 如果您的 SQL 语句也经常 " ...
- 《CSS3秘籍》(第三版)-读书笔记
第3章 选择器:明确设置哪些样式 每个样式(或者规则)由两个主要部分组成:选择器是告诉浏览器要格式化什么内容:声明块则列出浏览器用来给选择器定义样式的格式化指令. 1.标签选择器:整体控制 标签选择器 ...