设为首页 收藏本站
查看: 1203|回复: 0

[经验分享] OpenStack(企业私有云)万里长征第一步

[复制链接]

尚未签到

发表于 2017-6-26 15:00:55 | 显示全部楼层 |阅读模式
一、前言
  单位新进了十几台服务器,建了一个高标准的一体化机房,状似刘姥姥进大观园的我,从机房规划到企业私有云搭建一一重头学来,除了机房泥墙其他基本都涉猎到了。
  从企业私有云这个名字就能看出这是多么复杂的一个东西。牵涉到服务器、交换机、防火墙、网络规划、云系统搭建。个个都是厉害的角,用张国荣的话说:“咱什么时候也都成角?”。成角不成角不说,经过十几天的折腾,今天才把OpenStack安装成功,期间经历了酷似炼狱的种种阶段。现简单记录整个安装过程以及踩过的坑,供自己查阅或后来人参考。

二、企业私有云(OpenStack)
  想必接触过这块的人都不陌生,到了现在这个年代,你要说你没听说过各种云你简直就是火星来的,从阿里云到微软的Azure到亚马逊云等等。他们的共同特点就是普通用户你不再需要购买实体服务器,只需要从云提供商购买相应的CPU、内存、硬盘、网络就可以有一台自己的服务器。
  对于企业而言,建立私有云也是有必要的,可以充分发挥服务器的性能等等优势暂且不提。我个人认为最理想的情况就是企业的每个人都不再需要实体机(当然远程连接的机器还是需要的),每个人根据自己的业务需求,从私有云中划分出相应的配置安装需要的操作系统来进行自己的工作。大家无需再被数据备份等烦扰,也可以轻易的实现远程办公。
  这就是OpenStack所实现的功能。其官网对其介绍如下:


  OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it>
  大概是说OpenStack能够简单的管理(分配)大量计算机(整个数据中心)的计算能力(CPU)、存储能力(硬盘、磁盘阵列)、内存。
  那么我们只要在整个数据中心搭建起来OpenStack也就实现了搭建企业私有云。看上去很容易吧。孔子曰:“言知之易,行之难。”。万事同理,再简单的事情当你操作的时候都会有各种情况发生,何况是这么复杂的OpenStack。加上之前有多次安装Hadoop集群的惨痛经验,所以在开始之前就做足了心里准备。还好,目前基本初装成功,简单记述之。

三、安装过程
  首先在这里要感谢CLOUDMAN,其关于OpenStack安装及使用的一系列博客,给予我们很大的帮助,有兴趣的可以直接拜读,感谢他的无私分享。

3.1 安装操作系统
  在这里我选择的是Ubuntu,刚开始想着14.04稳定,就装了14.04。谁知道怎么装OpenStack都报错,后来查看官网才发现16.04比较匹配,又折腾到16.04。查看官方文档确实是很重要的一步。
  安装完系统后还需要进行以下操作:


  • 网卡设置固定IP
  • 将ubuntu的apt源修改为阿里
  • 设置hosts
  这些我在前面的博客中都有介绍,也可以自行Google之。

3.2 安装OpenStack
  1、添加stack用户
  

sudo useradd -s /bin/bash -d /opt/stack -m stack  

  
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
  

  2、下载devstack
  最重要的就是选择版本,刚开始选择默认分支安装了一个all-in-one模式,一次成功。于是就朝着CLOUNDMAN介绍的controller和compute节点的方式迈进,结果一直报错。今日试了一下ocata版,折腾了几下之后成功。
  

git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata  

  3、创建local.conf
  在刚刚clone后的devstack文件中新建local.conf文件,其配置如下:
  主节点(controller)配置
  

[[local|localrc]]  

  
MULTI_HOST=true
  
HOST_IP=10.0.0.101 # management & api network
  
LOGFILE=/opt/stack/logs/stack.sh.log
  

  
# Credentials
  
ADMIN_PASSWORD=admin
  
MYSQL_PASSWORD=$ADMIN_PASSWORD
  
RABBIT_PASSWORD=$ADMIN_PASSWORD
  
SERVICE_PASSWORD=$ADMIN_PASSWORD
  
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
  

  
# enable neutron-ml2-vlan
  
disable_service n-net
  
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn,placement-api
  
Q_AGENT=linuxbridge
  
ENABLE_TENANT_VLANS=True
  
TENANT_VLAN_RANGE=3001:4000
  
PHYSICAL_NETWORK=default
  

  
LOG_COLOR=False
  
LOGDIR=$DEST/logs
  
SCREEN_LOGDIR=$LOGDIR/screen
  

  
# use TryStack git mirror
  
GIT_BASE=http://git.trystack.cn
  
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
  
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
  

  计算节点(compute)配置
  

[[local|localrc]]  

  
MULTI_HOST=true
  
HOST_IP=10.0.0.102 # management & api network
  

  
# Credentials
  
ADMIN_PASSWORD=admin
  
MYSQL_PASSWORD=$ADMIN_PASSWORD
  
RABBIT_PASSWORD=$ADMIN_PASSWORD
  
SERVICE_PASSWORD=$ADMIN_PASSWORD
  
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
  

  
# Service information
  
SERVICE_HOST=10.0.0.101
  
MYSQL_HOST=$SERVICE_HOST
  
RABBIT_HOST=$SERVICE_HOST
  
GLANCE_HOSTPORT=$SERVICE_HOST:9292
  
Q_HOST=$SERVICE_HOST
  
KEYSTONE_AUTH_HOST=$SERVICE_HOST
  
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
  

  
CEILOMETER_BACKEND=mongodb
  
DATABASE_TYPE=mysql
  

  
ENABLED_SERVICES=n-cpu,q-agt,neutron
  
Q_AGENT=linuxbridge
  
ENABLE_TENANT_VLANS=True
  
TENANT_VLAN_RANGE=3001:4000
  
PHYSICAL_NETWORK=default
  
enable_service placement-api
  

  
# vnc config
  
NOVA_VNC_ENABLED=True
  
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
  
VNCSERVER_LISTEN=$HOST_IP
  
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
  

  
LOG_COLOR=False
  
LOGDIR=$DEST/logs
  
SCREEN_LOGDIR=$LOGDIR/screen
  

  
# use TryStack git mirror
  
GIT_BASE=http://git.trystack.cn
  
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
  
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
  

  此处需要注意的是,经过实际测试其中的HOST_IP和SERVICE_HOST必须输入实际IP地址,不能输入hostname,否则安装不能成功。并且控制节点和计算节点的密码要一致,否则无法启动。
  当然你也可以根据自己的云部署需求,选择其他部署方式。
  4、修改pip源
  注意stack用户和root用户的源都需要修改。分别在/root目录下和/opt/stack目录下新建.pip文件夹,并在此文件夹中创建pip.conf文件,写入以下内容:
  

  
[global]
  
trusted-host=pypi.douban.com
  
index-url = https://pypi.douban.com/simple
  

  5、执行安装命令
  

./stack.sh  

  由于网速(主要是国外网速,这个占失败的主因,没办法,大家都懂)以及一些未知因素等问题,幸运的话会成功,安装时间也会很长,慢慢等待。下面介绍一些失败的情况及应对的方案。

3.3 填各种坑
  1、generate-subunit: command not found
  这个问题比较常见,按顺序执行以下命令:
  

sudo apt-get install python-pip  
sudo pip install --upgrade pip
  
sudo pip install -U os-testr
  

  2、generate-subunit ******* fail
  这个问题更常见,一般在结束的上面几行会告诉你失败的原因,可以分析失败原因,当然如果你看不明白,可以直接按以下步骤,重试安装。


  • 关闭ssh连接,新建连接。(当然重启服务器更好)
  • 执行./unstack.sh
  • 执行./clean.sh
  • 执行./stack.sh重新安装
  3、计算节点nova无法启动:compute service on compute node not starting
  从ocata版开始需要在计算节点的local.conf中添加下述信息:
  

enable_service placement-api  

  4、多次尝试安装均失败
  如果你多次安装都失败,建议你直接重装操作系统,这样比分析原因来的要快。而且一旦安装失败,系统的纯洁性已经被破坏了,所以建议直接重装系统,重装一遍系统大概也就20分钟。

四、总结与展望
  安装成功OpenStack只是在私有云道路上迈出的万里长征第一步,后面还有许许多多的东西需要涉足。这里只是个开端,与各位共勉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388217-1-1.html 上篇帖子: 启用 Open vSwitch 下篇帖子: OpenStack (2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表