Devstack部署多节点Openstack

来源:互联网 发布:百度seo站长工具 编辑:程序博客网 时间:2024/05/22 03:12

平台工具介绍:
操作系统:Windows7
工具:VirtualBox 5.0.24
镜像:ubuntu-14.04.5-server-amd64.iso
//下载地址:ubuntu14.04.5-server版

DevStack版本:Mitaka
OpenStack版本:Mitaka

步骤:

一、创建虚拟机

1、启动VirtualBOX,设置全局设定—常规—默认虚拟电脑位置(设置一个方便管理的文件);

2、创建Ubuntu虚拟机,注意:控制节点需分配至少4G的内存,计算节点至少2G内存。

3、配置网卡,网卡的配置有多种方式,有单网卡方式和多网卡方式。
(公司网络需使用代理,如果仅使用一张桥接网卡方式会导致只能内部网络互Ping,却无法Ping通外部网络;如果仅使用一张Host Only网卡方式比较复杂。)
多网卡方式可以采用:网络地址转换(NAT)与桥接网卡组合;或者网络地址转换(NAT)与Host Only组合的方式。
本次采用的是网卡1设置为网络地址转换(NAT),网卡2设置为桥接网卡(界面名称选择计算机实际上网使用的网卡),其他默认即可。

4、安装Ubuntu Service系统 建议不选择中文,而是用默认值US;一路默认,设置名称,创建用户、密码等可以根据个人来设置,选择时区——shanghai;
在“Write the changes to the disk and configure LVM?”,选择YES;
在“Write the changes to disk?”,选择Yes;
一路默认,在最后“software selection”步骤只选择“OpenSSH Sever”(选择使用空格键),后面一路默认到安装完毕。
在登录界面,输入创建的用户和密码,登录虚拟机

二、虚拟机中环境配置

输入命令sudo passwd root ,设置root用户密码;su root 切换到root用户(后面一些操作需要root权限)。
此时虚拟机并未设置网络,因此还不能联网,也需要我们手动配置。

1)配置网络
1、输入:vi /etc/network/interfaces ,打开网卡配置文件。

2、eth0与网络地址转换(NAT)网卡1对应,可不做更改(此时默认为DHCP模式,网卡默认IP为10.0.2.15,网关为10.0.2.2)。该网卡能实现虚拟机Ping通外网,虚拟机Ping通主机。默认配置如下:

auto eth0 iface eth0 inet dhcp

3、eht1与桥接网卡2对应,此时没有此网卡的配置信息,需自己添加。为后面实验方便使用,设置为static模式。在内容最后面,添加eth1的具体IP参数等内容(根据自己的主机IP设置),如下:

auto eth1 iface eth1 inet static address 10.170.3.219 netmask 255.255.255.0 #gateway 10.170.3.254#dns-nameservers *.*.*.*

注意:gateway需注释掉,给网卡1设置gateway会导致虚拟机中同时存在两个网关或者仅使用eth1的网关,而上网并非使用该网卡,导致无法连接到外网;这里dns-nameservers也没有设置的必要。

4、DNS设置(通常系统会自动配置,所以可以跳过此步,如有需要DNS也可通过此文件修改)
vi /etc/resolv.conf //修改DNS,如使用代理需与代理设置相同

nameserver *.*.*.*nameserver *.*.*.*

5、重启网卡,输入命令ifconfig 查看网卡信息。输入:“route”命令查看路由信息(在文件/etc/rc.conf 可设置路由表)。

6、如果以上信息核对完毕,主机与虚拟机可以互Ping,虚拟机Ping通外网,也可使用Xshell或其他类似工具,登陆虚拟机,便跳过6步骤,开始安装devstack;若仍无法Ping通,关闭防火墙,
输入命令:sudo ufw disable //关闭防火墙(防火墙可能导致主机无法Ping通虚拟机)
如虚拟机无法Ping通主机,可修改主机防火墙的入栈规则。

/etc/ssh/sshd_config //ssh服务的配置文件(ssh问题可在此文件设置)

2)配置devstack环境
需保证网络通畅!
返回虚拟机,并确保是root账户登陆,后续操作大多需要root权限。
1、备份原有系统配置。
cp /etc/apt/sources.list /home/sources.list.bak

2、修改源,因为国外的源很不稳定,建议使用国内的源,比如搜狐、阿里云等这个可自己Ping以下,选择一个最快的。我选择了中科院自己的源,速度很快!
执行命令: vi /etc/apt/sources.list ,将内容更换如下:

deb http://mirrors.opencas.cn/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.opencas.cn/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.opencas.cn/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.opencas.cn/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.opencas.cn/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.opencas.cn/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.opencas.cn/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.opencas.cn/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.opencas.cn/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.opencas.cn/ubuntu/ trusty-backports main restricted universe multiverse

替换完成后保存退出。

3、执行命令:apt-get update命令,更新系统的软件包。

4、完成与服务器时间同步,执行命令: ntpdate ... (服务器地址我用的182.92.12.11).

5、安装git ,执行命令:apt-get install git。

6、安装pip ,执行命令:apt-get install Python-pip。

7、在/root 目录下,查看是否有.pip目录,若没有,创建该目录。
执行命令:mkdir .pip ,进入该目录,创建对应配置文件pip.conf 。

8、在配置文件中添加以下内容:

[global] timeout = 6000 index-url = http://pypi.douban.com/simple/ [install] trusted-host = pypi.douban.com

这里使用的是pip上豆瓣的源,你也可以使用其它的源,比如清华大学的。

9、进入/home 目录下,执行以下命令下载DevStack:

git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka

10、由于当前DevStack脚本已不支持直接使用root用户,所以需要自己创建stack用户。如果没有创建stack用户的话需要进系统把这个用户创建出来。

a、执行groupadd stack
执行:useradd -g stack -s /bin/bash -d /opt/stack -m stack
或者
执行命令:cd /home/devstack/tools,进入脚本目录。
执行命令:./create-stack-user.sh,创建stack用户。
b、执行命令:passwd stack,给stack用户设置密码。具体操作步骤同root用户。
c、执行命令:chown -R stack:stack /home/devstack,将对应目录及其下的文件更换用户组。
d、执行命令:chmod 777 /dev/pts/0,以便后续su切换到别的用户,也可执行screen命令。
e、在安装部署openstack的时候stack用户会修改很多系统的操作,这样我们需要stack用户拥有sudo到root并且无需输入密码的特权。

echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

f、从这里开始使用stack用户。登入和登出都使用stack用户。
su stack
g、执行:cd ~,进入到stack用户名下的目录,默认是/opt/stack。像对root用户那样,添加pip的配置文件。参考当前小节7-8步骤。

配置完成之后,要注意对应的目录和文件,它们的用户组及用户是否都是stack,若不是,需要改过来。修改方法可参考当前小节步骤10。如果提示没有权限,可以在命令前加sudo。

三、安装DevStack

1、进入到/home/devstack目录下的local.conf文件,没有就创建一个。

2、打开该文件,进行编辑具体的配置,可根据情况和需求更改。
编辑内容如下:

a、集群控制节点上跑着所有openstack的服务。在集群控制节点devstack的local.conf文件中做如下配置。

[[local][localrc]]HOST_IP=10.170.3.219PUBLIC_INTERFACE=eth1 #public networkFLOATING_RANGE=10.0.2.0/29FLAT_INTERFACE=eth1FIXED_RANGE=10.170.3.0/28PUBLIC_NETWORK_GATEWAY=10.0.2.2#MYSQL_HOST=10.170.3.3#RABBIT_HOST=10.170.3.3#GLANCE_HOSTPORT=10.170.3.3:9292#KEYSTONE_AUTH_HOST=10.170.3.3#KEYSTONE_SERVICE_HOST=10.170.3.3#FIXED_NETWORK_SIZE=15MULTI_HOST=1LOGFILE=/opt/stack/logs/stack.sh.logADMIN_PASSWORD=adminDATABASE_PASSWORD=secretRABBIT_PASSWORD=secretSERVICE_PASSWORD=secretSERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz#enable neutron-ml2-vxlandisable_service n-netenable_service q-svc,q-agt,q-dhcp,q-13,q-meta,q-metering,q-lbaas,neutron,tempest,heat#OFFLINE=True

b、计算节点

 [[local|localrc]]MULTI_HOST=trueHOST_IP=10.170.3.220 # management IPFLAT_INTERFACE=eth1FIXED_RANGE=10.170.3.0/24#FIXED_NETWORK_SIZE=15FLOATING_RANGE=10.170.3.0/28PUBLIC_NETWORK_GATEWAY=10.0.2.2TUNNEL_ENDPOINT_IP=10.170.3.220#MULTI_HOST=1LOGFILE=/opt/stack/logs/stack.sh.log# CredentialsADMIN_PASSWORD=adminMYSQL_PASSWORD=secretRABBIT_PASSWORD=secretSERVICE_PASSWORD=secretSERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz#Use mirrorGIT_BASE=http://git.trystack.cnNOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.gitSPICE_REPO=http://git.trystack.cn/git/spice/sipce-htm15.git# Service informationSERVICE_HOST=10.170.3.219MYSQL_HOST=$SERVICE_HOSTRABBIT_HOST=$SERVICE-HOSTGLANCE_HOSTPORT=10.170.3.219:9292Q_HOST=$SERVICE_HOSTKEYSTONE_AUTH_HOST=$SERVICE_HOSTKEYSTONE_SERVICE_HOST=$SERVICE_HOSTCEILOMETER_BACKEND=mongodbDATABASE_TYPE=mysqlENABLED_SERVICES=n-cpu,n-net,n-api-meta,c-vol# vnc configNOVA_VNC_ENABLED=TrueNOVNCPROXY_URL="http://10.170.3.219:6080/vnc_auto.html"VNCSERVER_LISTEN=$HOST_IPVNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTENLOG_COLOR=FlaseLOGDIR=$DEST/logsSCREEN_LOGDIR=$LOGDIR/screen# OFFLINE=True

3、执行命令:./stack.sh进行DevStack的安装。

4、中间会出现各种问题,执行:./unstack.sh;或者:./clean.sh深度清除。

等待最终,出现默认用户:admin(demo)和密码,即安装完成;于主机chrome浏览器输入控制节点IP地址进入bashboard,输入用户密码登陆。
登陆bashboard

0 0