Openstack实验手册 - 图文

更新时间:2024-05-07 01:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机新技术综合实践

计算机新技术综合实践

研究生实验手册

课程名称: 计算机新技术综合实践 实验名称: 安装部署OpenStack 实验地点: 专 业: 班 级: 指导教师: 吴含前 实验时间: 年 月 日

计算机新技术综合实践

实验一 64位Linux下手动安装OpenStack Icehouse版本

【实验内容】

学习VMware workstation虚拟机的使用,在 CentOS 64位环境下安装搭建OpenStack环境,熟悉Linux基本操作,锻炼同学学习能力、动手能力和分析问题能力。

【实验目的】

1、熟悉VMware workstation虚拟机使用 2、了解OpenStack整体架构 3、了解OpenStack各组件功能

4、能够在Linux下手动搭建OpenStack云计算环境

【实验环境】

计算机实验室

VMware workstation虚拟机

【实验步骤】

一、VMware workstation下安装CentOS 6.5 x64操作系统

1、 首先安装VMware Workstation

2、 创建OpenStack控制节点,文件 → 新建虚拟机

计算机新技术综合实践

3、 选择 典型(推荐)→ 下一步

4、 稍后安装操作系统

计算机新技术综合实践

5、 选择操作系统和版本

6、 输入虚拟机名称和安装路径

计算机新技术综合实践

7、 设置磁盘大小

8、 自定义硬件

计算机新技术综合实践

9、 选择CentOS安装镜像文件

10、 点击完成

计算机新技术综合实践

11、 启动虚拟机

12、 选择第一项,安装全新操作系统或升级现有操作系统

计算机新技术综合实践

13、 Tab键进行选择,选择Skip,退出检测

14、 点击Next

计算机新技术综合实践

15、 选择语言,这里选择的是中文简体

16、 选择键盘样式

计算机新技术综合实践

17、 选择存储设备

18、 输入主机名

计算机新技术综合实践

19、 配置网络

20、 设置时区,勾选使用UTC时间

计算机新技术综合实践

21、 输入根用户(root)的密码

22、 根据此Linux具体功能,选择不同的方式

计算机新技术综合实践

23、 选择现在自定义,自定义安装需要的软件,如桌面配置

24、 点击下一步,开始安装

计算机新技术综合实践

25、 安装完成后,点击重新导引

26、 点击前进按钮

计算机新技术综合实践

27、 点击是,同意许可,再点击前进按钮

28、 创建用户

计算机新技术综合实践

29、 设置日期和时间,如果可以上网,勾选在网上同步日期和时间

二、OpenStack环境预配置

1、 设置OpenStack网络,一块NAT网卡,一块仅主机网卡

2、 同理创建另外两台虚拟机,一台计算节点,一台网络节点

计算机新技术综合实践

3、 配置虚拟机网络环境,如下表

服务器 网卡配置 eth0:10.6.12.130 管理节点(ControllerNode) eth1:192.168.1.130 计算节点(ComputeNode) eth0:10.6.12.131 eth1:192.168.1.131 eth0:10.6.12.132 eth1:192.168.1.132 eth2:(onboot=”yes”, bootproto=”none”) 主机名 controller compute1 网络节点(NetworkNode) network

三、OpenStack环境搭建

1、 安装部署控制节点

(1) 首先配置Linux能上网,可以ping通www.http://www.wodefanwen.com/ (2) 安装MySQL数据库

如下执行命令

# yum install ntp # service ntpd start # chkconfig ntpd on

# yum install mysql mysql-server MySQL-python

编辑 /etc/my.cnf 文件: # vi /etc/my.cnf

[mysqld] ...

bind-address = 10.6.12.130 #添加这句

[mysqld] ...

default-storage-engine = innodb #添加这句 innodb_file_per_table #添加这句

collation-server = utf8_general_ci #添加这句 init-connect = 'SET NAMES utf8' #添加这句 character-set-server = utf8 #添加这句 保存退出

# service mysqld start # chkconfig mysqld on # mysql_install_db

# mysql_secure_installation

计算机新技术综合实践

(3) 安装OpenStack软件源包

# yum install yum-plugin-priorities

# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm

# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install openstack-utils # yum install openstack-selinux # yum upgrade # reboot (4) 安装qpid

# yum install qpid-cpp-server

编辑/etc/qpidd.conf文件 # vi /etc/qpidd.conf auth=no #修改为no 保存退出

# service qpidd start # chkconfig qpidd on

(5) 安装keystone组件

# yum install openstack-keystone python-keystoneclient

# openstack-config --set /etc/keystone/keystone.conf database connection mysql://keystone:keystone@controller/keystone

$ mysql -u root -p

mysql> CREATE DATABASE keystone;

mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';

mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; mysql> exit

# su -s /bin/sh -c \

# ADMIN_TOKEN=$(openssl rand -hex 10) # echo $ADMIN_TOKEN

# openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN

# keystone-manage pki_setup --keystone-user keystone --keystone-group keystone

# chown -R keystone:keystone /etc/keystone/ssl

计算机新技术综合实践

# chmod -R o-rwx /etc/keystone/ssl

# service openstack-keystone start # chkconfig openstack-keystone on

# (crontab -l -u keystone 2>&1 | grep -q token_flush) || echo '@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1' >> /var/spool/cron/keystone

编辑~/.bash_profile文件,在最后添加 export OS_USERNAME=admin export OS_PASSWORD=admin export OS_TENANT_NAME=admin

export OS_AUTH_URL=http://controller:35357/v2.0

export ADMIN_TOKEN=223e5aa00e1401925a5d【注意此值与ADMIN_TOKEN值一样】 export SERVICE_TOKEN=$ADMIN_TOKEN

export SERVICE_ENDPOINT=http://controller:35357/v2.0 export OS_SERVICE_TOKEN=$ADMIN_TOKEN

export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

保存退出

#source ~/.bash_profile

$ keystone user-create --name=admin --pass=admin --email=admin@test.com $ keystone role-create --name=admin

$ keystone tenant-create --name=admin --description=\$ keystone user-role-add --user=admin --tenant=admin --role=admin $ keystone user-role-add --user=admin --role=_member_ --tenant=admin

$ keystone user-create --name=demo --pass=demo --email=demo@test.com $ keystone tenant-create --name=demo --description=\$ keystone user-role-add --user=demo --role=_member_ --tenant=demo

$ keystone tenant-create --name=service --description=\

$ keystone service-create --name=keystone --type=identity --description=\

$ keystone endpoint-create --service-id=$(keystone service-list | awk '/ identity / {print $2}') --publicurl=http://controller:5000/v2.0 --internalurl=http://controller:500key0/v2.0 --adminurl=http://controller:35357/v2.0

(6) 安装glance组件

# yum install openstack-glance python-glanceclient

# openstack-config --set /etc/glance/glance-api.conf database connection mysql://glance:glance@controller/glance

计算机新技术综合实践

# openstack-config --set /etc/glance/glance-registry.conf database connection mysql://glance:glance@controller/glance

$ mysql -u root -p

mysql> CREATE DATABASE glance;

mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';

mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';

mysql> exit;

# openstack-db --init --service glance

# keystone user-create --name=glance --pass=glance --email=glance@test.com

# keystone user-role-add --user=glance --tenant=service --role=admin

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_user glance

# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_password glance

# openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_user glance

计算机新技术综合实践

# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_password glance

# openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone

# keystone service-create --name=glance --type=image --description=\Stack Image Service\

# keystone endpoint-create --service-id=$(keystone service-list | awk '/ image / {print $2}') --publicurl=http://controller:9292 --internalurl=http://controller:9292 --adminurl=http://controller:9292

# service openstack-glance-api restart

# service openstack-glance-registry restart # chkconfig openstack-glance-api on

# chkconfig openstack-glance-registry on

(7) 安装Nova组件

# yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient

# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:nova@controller/nova

# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid # openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller

# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.6.12.130 # openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 10.6.12.130

# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclie

nt_address 10.6.12.130(控制节点Controller IP地址)

$ mysql -u root -p

mysql> CREATE DATABASE nova;

mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';

mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova'; mysql> exit;

# su -s /bin/sh -c \

# keystone user-create --name=nova --pass=nova --email=nova@example.com # keystone user-role-add --user=nova --tenant=service --role=admin

# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri

计算机新技术综合实践

http://controller:5000

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password nova

# keystone service-create --name=nova --type=compute --description=\Stack Compute\

# keystone endpoint-create --service-id=$(keystone service-list | awk '/ compute / {print $2}') --publicurl=http://controller:8774/v2/%\\(tenant_id\\)s --internalurl=http://controller:8774/v2/%\\(tenant_id\\)s --adminurl=http://controller:8774/v2/%\\(tenant_id\\)s

# service openstack-nova-api restart # service openstack-nova-cert restart

# service openstack-nova-consoleauth restart # service openstack-nova-scheduler restart # service openstack-nova-conductor restart # service openstack-nova-novncproxy restart # chkconfig openstack-nova-api on # chkconfig openstack-nova-cert on

# chkconfig openstack-nova-consoleauth on # chkconfig openstack-nova-scheduler on # chkconfig openstack-nova-conductor on # chkconfig openstack-nova-novncproxy on

(8) 安装Neutron组件

# yum install openstack-neutron openstack-neutron-ml2 python-neutronclient

$ mysql -u root -p

mysql> CREATE DATABASE neutron;

mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron';

mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron'; mysql> exit;

计算机新技术综合实践

$ keystone user-create --name neutron --pass neutron --email neutron@example.com

$ keystone user-role-add --user neutron --tenant service --role admin $ keystone service-create --name=neutron --type=network --description=\penStack Networking\

$ keystone endpoint-create --service-id $(keystone service-list | awk '/ network / {print $2}') --publicurl http://controller:9696 --adminurl http://controller:9696 --internalurl http://controller:9696

# openstack-config --set /etc/neutron/neutron.conf database connection mysql://neutron:neutron@controller/neutron

# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron

# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid

# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname controller

# openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True

# openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True

# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_url http://controller:8774/v2

# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_username nova

# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_tenant_id $(keystone tenant-list | awk '/ service / { print $2 }')

计算机新技术综合实践

# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_password nova

# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_auth_url http://controller:35357/v2.0

# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://controller:9696

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_auth_strategy keystone

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_tenant_name service

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_username neutron

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_password neutron

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://controller:35357/v2.0

# openstack-config --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver

# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver

# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api neutron security_group_api neutron

计算机新技术综合实践

# ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini # service openstack-nova-api restart

# service openstack-nova-scheduler restart # service openstack-nova-conductor restart

# service neutron-server restart # chkconfig neutron-server on 2、 安装部署计算节点

(1) 首先配置Linux能上网,可以ping通www.http://www.wodefanwen.com/ (2) 安装OpenStack软件包源

# yum install yum-plugin-priorities

# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm

# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install openstack-utils # yum install openstack-selinux # yum upgrade # reboot (3) 安装Nova组件

# yum install openstack-nova-compute

# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:nova@controller/nova

# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http

计算机新技术综合实践

# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password nova

# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid # openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller

# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.6.12.131 # openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True # openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0

# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.6.12.131

# openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://controller:6080/vnc_auto.html

# openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller

# egrep -c '(vmx|svm)' /proc/cpuinfo(如果返回0,执行下面这句,否则不执行) # openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

# service libvirtd start # service messagebus start

# service openstack-nova-compute start # chkconfig libvirtd on # chkconfig messagebus on

计算机新技术综合实践

# chkconfig openstack-nova-compute on (4) 安装Neutron组件

编辑 /etc/sysctl.conf文件 # vi /etc/sysctl.conf

net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 保存退出

# modprobe bridge # sysctl -p

# yum install openstack-neutron-ml2 openstack-neutron-openvswitch

# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron

# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend n

计算机新技术综合实践

eutron.openstack.common.rpc.impl_qpid

# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname controller

# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 10.6.12.131

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

计算机新技术综合实践

# service openvswitch start # chkconfig openvswitch on

# ovs-vsctl add-br br-int

# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://controller:9696

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_auth_strategy keystone

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_tenant_name service

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_username neutron

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_password neutron

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://controller:35357/v2.0

# openstack-config --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver

# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver

# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api neutron

# ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutronopenvswitch-agent.orig

# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /et

计算机新技术综合实践

c/init.d/neutron-openvswitch-agent

# service openstack-nova-compute restart

# service neutron-openvswitch-agent start # chkconfig neutron-openvswitch-agent on 3、 安装部署网络节点

(1) 首先配置Linux能上网,可以ping通www.http://www.wodefanwen.com/ (2) 安装OpenStack软件包源

# yum install yum-plugin-priorities

# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm

# yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install openstack-utils # yum install openstack-selinux # yum upgrade # reboot (3) 配置网络转发

编辑 /etc/sysctl.conf文件 # vi /etc/sysctl.conf net.ipv4.ip_forward=1

#改为1

net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 保存退出

# modprobe bridge # sysctl -p (4) 安装Neutron组件

# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-

计算机新技术综合实践

openvswitch

# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken dmin_tenant_name service

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron

# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron

# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid

# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname controller

# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router

# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_dri

计算机新技术综合实践

ver neutron.agent.linux.interface.OVSInterfaceDriver

# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT use_namespaces True

# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver

# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq

# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces True

# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dnsmasq_config_file /etc/neutron/dnsmasq-neutron.conf # vim /etc/neutron/dnsmasq-neutron.conf dhcp-option-force=26,1454 # killall dnsmasq

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller:5000/v2.0

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_region regionOne

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name service

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password neutron

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller

# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadat

计算机新技术综合实践

a_proxy_shared_secret metadata

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 10.6.12.132

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True # service openvswitch start # chkconfig openvswitch on # ovs-vsctl add-br br-int # ovs-vsctl add-br br-ex # ovs-vsctl add-port br-ex eth2

# ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutronopenvswitch-agent.orig

# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /et

计算机新技术综合实践

c/init.d/neutron-openvswitch-agent

# service neutron-openvswitch-agent start # service neutron-l3-agent start # service neutron-dhcp-agent start # service neutron-metadata-agent start # chkconfig neutron-openvswitch-agent on # chkconfig neutron-l3-agent on # chkconfig neutron-dhcp-agent on # chkconfig neutron-metadata-agent on (5) 控制节点配置neutron信息

# openstack-config --set /etc/nova/nova.conf DEFAULT service_neutron_metadata_proxy true

# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_metadata_proxy_shared_secret metadata

# service openstack-nova-api restart 4、 控制节点安装部署Horizon组件

# yum install memcached python-memcached mod_wsgi openstack-dashboard 将/etc/openstackdashboard/local_settings中的CACHES['default']['LOCATION']值改为和/etc/sysconfig/memcached 中的一样。

ALLOWED_HOSTS = ['localhost', 'my-desktop', '10.6.12.130'] OPENSTACK_HOST = \

# setsebool -P httpd_can_network_connect on # service httpd start # service memcached start # chkconfig httpd on # chkconfig memcached on

至此,可以通过浏览器访问:http://10.6.12.130/dashboard。

计算机新技术综合实践

实验二 物理环境下使用Fuel安装部署OpenStack

【实验内容】

学习常见物理设备服务器、交换机等的配置使用,使用Fuel安装部署OpenStack环境,锻炼同学学习能力、动手能力和分析问题能力。

【实验目的】

1、熟悉常见物理设备服务器、交换机等的使用配置 2、学习使用Fuel安装部署OpenStack 3、了解生产环境中OpenStack的网络部署方式

【实验环境】

计算机实验室 四台服务器 一台交换机

OpenStack计算节点FuelOpenStack计算节点交换机OpenStack网络节点

计算机新技术综合实践

【实验步骤】 一、 安装Fuel

使用Fuel安装OpenStack,需要服务器至少2块网卡,并且交换机端口需要配置为trunk模式。

Fuel需要两个网卡eth0、eth1;

Eth0: admin(PXE)用作分配、策划openstack的环境,在安装期间提供DNS、DHCP及网关;并且需要与其他网络独立出来,如果需要把其他的网络与Admin(PXE)共用一个网卡,此时需要进行VLAN设置,并且admin(PXE)设置成未标记,这一操作不可以再Fuel的UI界面来完成,需要手动的更改配置文件。

Eth1: 用作public网络此时可以通过它来登录Fuel,进而配置openstack环境,但是功能不仅限于此。

1、 进入Fuel开机界面,可以选择是否配置网络,如果采用虚拟机部署,则可以采用默认配置,当然想自己定义网络环境也可以;如果采用物理机,需要配置网络IP、掩码等在物理机所处的网络环境中。

2、 Fuel安装完成,进入如下界面

注解:默认情况下是使用eth0 作为PXE Setup,实际配置的时候是使用的eth1;用哪个都无所谓,关键是网络配置正确。

此时eth0 设置为enable interface 设置为YES,然后configuration via DHCP设置成static

IP address:10.0.0.1

计算机新技术综合实践

Netmask :255.255.255.0 Default gateway:10.0.0.1

eth1:设置成enable interface 设置为YES,然后configuration via DHCP设置成DHCP 点击Apply,然后记下DHCP获取的IP然后手动配置成该IP的情况。

Fuel的主要设置就这些。 PS:

PXE网络启动时候BOOT server的网关就是10.0.0.1,即:需要配置的节点需要网络启动,并且在admin(PXE)获取启动信息。

PXE Setup中的动态IP应该是用来节点网络启动时候进行IP分配的,此时的DHCP服务器就是该网卡,网管也是。静态的IP池,应该是在自己手动安装好Linux操作系统之后手动配置网络到Admin(PXE)网络中,在部署的时候是的openstack能够发现该节点。

二、 安装OpenStack

1、部署模式选择多节点,此模式必须让controller与compute和cinder分开部署; 不要选择HA多节点模式,因为HA需要的controller节点要大于等于3个。

2、 计算模块选择KVM因为我们是在物理机上面部署,如果是在虚拟机上部署,则选择QEMU。

计算机新技术综合实践

3、 网络选择Nova network模式,使用传统的网络模式,网络功能比较简单;也可以选择neutron,网络功能比传统模式丰富,如果硬件环境配置较高,建议选择这个。

4、 后端服务以及附加服务全部默认,点击完成即可。

5、 创建好环境之后让各个节点从网络启动,为了避免错误全部使用eth0 网卡启动,即:eth0 网卡链接到PXE setup 的网络里面。此时会发现各个有待于分配的节点。

6、 对openstack部署环境进行网络配置 (1) 网卡分配-5中网络模式

1) Admin(PXE):

计算机新技术综合实践

用作分配、策划openstack的环境,在安装期间提供DNS、DHCP及网关;并且需要与其他网络独立出来,如果需要把其他的网络与Admin(PXE)共用一个网卡,此时需要进行Vlan设置,并且admin(PXE)设置成未标记,这一操作不可以再Fuel的UI界面来完成,需要手动的更改配置文件。(前面有提到) 2) public network(公开):

在这里可以让集群及其内部虚拟机与外网通信,如各个用户,进行创建实例等等的操作,是通过该网络进行的。

同时为Floating IPs 提供连续的存储空间;Floating IP分配给单个虚拟机实例 3) internal network

连接openstack内部的各个节点,并且必须与私有和公开网络分开 4) private network

用来促进可tenant Vms间的交流,私有网络,需要与其他网络分开。 5) management network

管理网络,为集群内个各种交流服务,是内部网络的一种。 6) storage network

用来把内网中的其他通信与存储机制(Swift,ceph等)分开,是内部网络的一种。 网络结构图如下:

计算机新技术综合实践

(2) 网络设置-交换机Vlan设置

说明下面是官网文档的举例,不过是使用的HA的方式所以有多个controller和compute,此处我们部署的时候选择的是MultiNode模式,所以,controller、compute、cinder各一个。

Vlan设置设置5个Vlan(100, 101, 102, 103, 104) (也可以不用设置VLAN,配置交换机各端口为trunk模式即可)

Vlan100:public Vlan101:management Vlan102:storge

Vlan103:private 又叫做Fixed Vlan104:Admin(未标记)

本文来源:https://www.bwwdw.com/article/m45g.html

Top