パートXのインストールネットワークサービス中性子
まず、準備作業
あなたがネットワークサービスの中性子をインストールする前に、まず次のように準備
1、現在のバックアップのVMware-Workstationの仮想マシン
閉じる2仮想マシン、Windowsエクスプローラでこのフォルダの仮想マシンフォルダのバックアップを見つけるのvmware-ワークステーションをインストールします。
2は、2良いバックアップ仮想マシンを開いた後、仮想マシンのNIC eth1がに調整無差別モード、制御および計算ノードが実行されます
yumのネットツールをインストール-y
ifconfigコマンドのeth1 promisc無差別
ifconfigコマンド
コントロールノード eth1のカード情報は、それがPROMISCは無差別モードを有効にする単語を持っていると述べています。
計算ノードのeth1カード情報は、ワードPROMISCは無差別モードを有効に持っていると述べています。
3、制御ノードは、これまでにインストールされたサービスが正常に動作している確認しました
。管理者-openrc
キーストーンをチェック
トークン発行OpenStackの
審査一目
OpenStackの画像一覧
配置を確認
配置ステータスアップグレードチェック
ノヴァチェック
OpenStackの計算サービス一覧
新星ステータスアップグレードチェック
第二に、事前知識:Linuxのブリッジネットワークモード
中性子の必要性は、以下のインストールするので、Linuxのブリッジにこのネットワークプロバイダを、とてもここではいくつかあるのLinuxブリッジの基本的な概念
假设宿主机上有一块与外网连接的物理网卡eth0 ,上面跑了一个虚拟机VM1,那么使用Linux Bridge,宿主机会创建一个Linux Bridge的bridge br0将eth0和实例的虚拟网卡vnet0连接起来。如下图所示:
在下面的安装中,我们会使用计算节点(可以看成是是实例的宿主机)的网卡eth1来桥接实例的虚拟网卡(实例如果是linux系统,则其虚拟网卡名称是eth0)。
br0由neutron创建,使用的名称是类似brq8c8dcd81-d3这样的
vnet0是br0上的一个端口,由neutron创建,其名称类似tapfdf3a9b5-f8这样的,其中包含有由neutron service plugin、agent创建的ip地址等信息。实例启动后,neutron会将该端口分配给实例。
这样,brq8c8dcd81-d3把宿主机的eth1,端口tapfdf3a9b5-f8桥接起来,从而为实例提供网络访问。
具体来说就是这样连接的:实例(实例系统是linux系统的话)的虚拟网卡eth0←→tapfdf3a9b5-f8←→brq8c8dcd81-d3←→宿主机(计算节点)的eth1
同理,如果再启动一个新实例,则neutron会在brq8c8dcd81-d3创建一个新的端口,tapxxxxxxx-xx,将其分配给该实例。
可见,类比vSphere,brq8c8dcd81-d3其实就是一个标准虚拟交换机,tapfdf3a9b5-f8就是上面的端口(端口组),eth1就是上行链路。
三、在控制节点安装网络服务neutron
结合上一节所讲的物理部署,控制节点主要安装neutron的下面组件
由于下面使用的是二层网络架构,所以不按照l3三层网络的相关组件。
下面在控制节点(ct)进行操作安装Neurton网络服务
创建Neutron数据库
mysql -u root -p
MariaDB [(none)] > CREATE DATABASE neutron;
数据库授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
创建neutron用户
. admin-openrc
openstack user create --domain default --password NEUTRON_PASS neutron
向neutron用户添加admin角色
openstack role add --project service --user neutron admin
创建neutron服务实体
openstack service create --name neutron --description "OpenStack Networking" network
创建neutron服务端点
openstack endpoint create --region RegionOne network public http://ct:9696
openstack endpoint create --region RegionOne network internal http://ct:9696
openstack endpoint create --region RegionOne network admin http://ct:9696
配置二层网络(官方文档为提供商网络)
1、安装软件包
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
openstack-neutron:neutron-server的包
openstack-neutron-ml2:ML2 plugin的包
openstack-neutron-linuxbridge:linux bridge network provider相关的包
ebtables:防火墙相关的包
2、修改 neutron 配置文件(共有5个配置文件需要修改)
(1)neutron server的配置文件neutron.conf
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf
vim /etc/neutron/neutron.conf
[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@ct/neutron
[DEFAULT]
core_plugin = ml2
service_plugins =
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[keystone_authtoken]
www_authenticate_uri = http://ct:5000
auth_url = http://ct:5000
memcached_servers = ct:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
[nova]
auth_url = http://ct:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
(2)ML2 plugin的配置文件ml2_conf.ini
cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/ml2_conf.ini.bak>/etc/neutron/plugins/ml2/ml2_conf.ini
vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[securitygroup]
enable_ipset = true
(3)linux bridge network provider的配置文件linuxbridge_agent.ini
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eth1
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
注意上面的provder:eth1的写法(官方文档的坑点之一,其正确的写法是控制节点及计算节点连接外部网络的网卡eth1)
从这段可以看出,INTERFACE_NAME指的是eth1,就是连接外部网络的那块网卡(provider interface)。
(4) 系统配置文件sysctl.conf(官方文档的坑点之一,它这里只是说明要检查而没有写如何配置)
vim /etc/sysctl.conf
加入下面2行:
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
modprobe br_netfilter
sysctl -p
(5)dhcp agent配置文件dhcp_agent.ini
cp /etc/neutron/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/dhcp_agent.ini.bak> /etc/neutron/dhcp_agent.ini
vim /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
配置元数据代理,以便和nova通讯(可以参考上节所讲的neutron和nova的交互部分)
vim /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_host = ct
metadata_proxy_shared_secret = METADATA_SECRET
修改nova的配置文件,也是为了和neutron进行交互
vim /etc/nova/nova.conf
在原来的基础上,再在[neutron]部分加入:
[neutron]
auth_url = http://ct:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET
建立ml2的软连接
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
填充Neutron数据库
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
重新启动nova-api服务
systemctl restart openstack-nova-api.service
启动neutron服务和配置开机启动
systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
至此,控制节点上的neutron服务组件安装完毕,下面切换到另外一台虚拟机,在计算节点上安装neutron服务。
四、在计算节点安装网络服务neutron
结合上一节所讲的物理部署,计算节点主要安装neutron的下面组件
在计算节点(c1)上进行如下操作安装网络服务neutron(计算节点)
安装组件
yum install openstack-neutron-linuxbridge ebtables ipset
修改配置文件
(1)修改neutron主配置文件
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf
vim /etc/neutron/neutron.conf
[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@ct
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://ct:5000
auth_url = http://ct:5000
memcached_servers = ct:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
(2)配置Linux网桥代理
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eth1
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
(3)sysctl.conf
vim /etc/sysctl.conf
加入下面2行:
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
modprobe br_netfilter
sysctl -p
修改新星配置文件
のvim /etc/nova/nova.conf
[中性子]
auth_url =のhttp:// CT:5000
AUTH_TYPE =パスワード
project_domain_name =デフォルト
user_domain_name =デフォルト
のregion_name = RegionOne
PROJECT_NAME =サービス
名=中性子
パスワード= NEUTRON_PASS
コンピューティングサービスを再起動し新星
systemctl再起動OpenStackの-新星-compute.service
スタート中性子サービス、スタートからの起動を設定する
中性子linuxbridge-agent.serviceの有効systemctl
systemctlスタート中性子linuxbridge-agent.serviceを
したがって、計算された中性子サービスノード上記制御ノード中性子検証インストール全体を以下に切り替え、インストールされています。
サービス提供全体の中性子を確認し、制御ノード(CT)中性子サービスを確認するには、次のコマンドを実行する。ADMIN-OpenRC OpenStackの拡張子リスト--network
OpenStackのネットワークエージェントリスト
4つのレコードがあるリストを確認してください。