一、前言

折腾了一两个月(中间有事耽搁了半个月),至今日基本调试成功OpenStack,现将中间的部分心得记录下来。

二、环境

使用的是devstack newton版。具体部署过程可以参考cloudman的视频http://cloudman.cc/

三、部分细节

3.1 操作系统

  1. ubuntu16.04版,在安装软件环节选择虚拟host项。

  2. 启用root账户。

  3. 修改阿里的apt源。

  4. 修改豆瓣的pip源(root用户和stack用户均需修改)。

3.2 下载及配置openstack

  1. 下载

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

  1. 主节点配置
control
[[local|localrc]] MULTI_HOST=true # management & api network
HOST_IP=192.168.166.101
LOGFILE=/opt/stack/logs/stack.sh.log # Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
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_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=10:100
PHYSICAL_NETWORK=default LOG_COLOR=True
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
  1. 计算节点配置
Compute
[[local|localrc]] MULTI_HOST=true
# management & api network
HOST_IP=192.168.166.102 # Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz # Service information
SERVICE_HOST=192.168.166.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 ENABLED_SERVICES=n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=10:100
PHYSICAL_NETWORK=default # 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=True
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

主从节点分别按上述配置即可安装成功。

  1. 各种service含义
q-agt
core agent,包括 linux bridge agent 和 open vswich agent q-dhcp
dhcp agent q-l3
l3 agent,提供 routing 服务 q-meta
neutron metadata agent q-lbaas
load balance agent q-fwass
firewall 服务
q-vpn
vpn agent,提供 VPN as a Service

3.3 实现VLAN网络

修改/etc/neutron/plugins/ml2/ml2_conf.ini,指明vlan network与物理网卡的对应关系。

physical_interface_mappings = default:eth1

每个节点均需进行上述修改。并需要将交换机的端口设置成trunk,这样既可以实现通过VLAN的方式将各个节点之间的虚拟机连接起来。

3.4 VLAN间通信(l3 agent)

修改/etc/neutron/l3_agent.ini(主节点计算节点均需修改)。

interface_driver 是最重要的选项,如果 mechanism driver 选用 linux bridge,则:

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

如果选用 open vswitch,则:

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

之后创建router,在router中创建两个interface即可实现两个vlan之间的通信。

3.5 虚拟机访问外部网络

修改/etc/neutron/plugins/ml2/ml2_conf.ini。

flat_networks=external

physical_interface_mappings = default:eth1,external:eth2

这里我们将外部网络的 label 命名为 “external”。重启祝节点和计算节点的neutron服务。

web中创建一个网络,type选为flat,physical network设置为external,勾选external network项。

创建子网,ip地址即为外部的IP地址,网关设置为外部网关。

将此网络添加到上面创建的router的接口中。这样即可实现虚拟机访问外部网络。

3.6 外部访问虚拟机

通过floating ip实现此功能。

如果ping不通,可以在security group加上ingress 和egress的all tcp rule。如果ssh不通,可以在security group加上ingress 和egress的all tcp rule。

3.7 虚拟机中安装ubuntu系统

下载ubuntu cloud镜像。地址:http://cloud-images.ubuntu.com/xenial/current/

添加镜像并部署instance,区别在于部署instance的时候需要设置key pair(私钥),通过此私钥进行登陆。

执行下述语句使得可以远程ssh连接ubuntu(假定已经设置了floating ip)。

passwd ubuntu<<EOF
ubuntu
ubuntu
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart sshd

四、总结

以上为我在部署OpenStack过程中的部分心得,此过程牵涉的知识实在太多,静下心来,一个问题一个问题解决,最终你会收获不一样的自己,有问题欢迎留言探讨。

OpenStack(企业私有云)万里长征第三步——调试成功的更多相关文章

  1. OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  2. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...

  3. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  4. OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  6. OpenStack企业私有云新需求(1):Nova 虚机支持 GPU

    作者:Sammy Liu 刘世民 本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bar ...

  7. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. OpenStack 企业私有云的若干需求(6):大规模扩展性支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

随机推荐

  1. C# Webclient 和 Httpclient如何通过iis authentication 身份验证。

    前言: 该博客产生的背景是客户那边有部署网站的方法是iis windows authentication身份验证,而系统中使用Webclient来调用别的系统的方法.在此情况下,原本可以使用的功能,都 ...

  2. redis多数据库操作

    redis下,数据库是由一个整数索引标识,而不是由一个数据库名称.默认情况下,一个客户端连接到数据库0. redis配置文件中下面的参数来控制数据库总数: databases 16   [root@M ...

  3. 记录——时间轮定时器(lua 实现)

    很长一段时间里,我错误的认识了定时器.无意中,我发现了“时间轮”这个名词,让我对定时器有了新的看法. 我错误的认为,定时器只需要一个 tick 队列,按指定的时间周期遍历队列,检查 tick 倒计时满 ...

  4. CachedRowSet使用

    public interface CachedRowSet extends RowSet,Joinable 所有标准 CachedRowSet 实现都必须实现的接口.Sun Microsystems ...

  5. 使用java对文件批量重命名

    有时候从网络上下载的电视剧或者动漫,名字上都会被该网站加上前缀或者后缀,如图: 那么处女座的同学就不同意了,不行,我就是想让它按照我的习惯方式命名!但是呢,一个个修改是不是特别麻烦,如果是上百个呢?如 ...

  6. spring boot无法启动,或者正常启动之后无法访问报404的解决办法

    以前用spring boot都是用idea的自动创建,或者是用的Jhipster创建的,就没有深究怎么去搭建.但是今天晚上心血来潮,想自己搭一个demo来整合一些技术,于是就花一点时间来手动搭.因为今 ...

  7. VR全景智慧城市-梦幻城市降临

    有人说,创业分为两种,一种是富创业,一种是穷创业! 什么是富创业呢?就是拿钱砸,我觉得这种说法有点荒唐,为什么创业,因为没钱才会去创业,有钱的那不叫创业的,那是拿钱投资点项目. 看看老一辈的富豪,不都 ...

  8. Linux 库文件详解

    转自: http://www.cppblog.com/deane/articles/165216.html http://blog.sciencenet.cn/blog-1225851-904348. ...

  9. DATA VISUALIZATION – PART 1

    Introduction to Data Visualization – Theory, R & ggplot2 The topic of data visualization is very ...

  10. Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)

    This semester I'm teaching from Hastie, Tibshirani, and Friedman's book, The Elements of Statistical ...