精华内容
下载资源
问答
  • 控制节点1 先决条件1.1 数据库 1.连接数据库 mysql -u root -p2.创建 cinder 数据库:CREATE DATABASE cinder;3.允许 cinder 数据库合适的访问权限,123456为 CINDER_DBPASS GRANT ALL PRIVILEGES ON cinder.* ...

    控制节点

    1 先决条件

    1.1 数据库

    • 1.连接数据库

       mysql -u root -p
      
    • 2.创建 cinder 数据库:

      CREATE DATABASE cinder;
      
    • 3.允许 cinder 数据库合适的访问权限,123456为

     CINDER_DBPASS
    GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost'  IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY '123456';
    • 4.退出数据库

    1.2创建服务

    • 1.创建cinder用户
    openstack user create --domain default --password-prompt cinder

    这里写图片描述

    • 2.添加 admin 角色到 cinder 用户上。
    openstack role add --project service --user cinder admin
    • 3.创建 cinder 和 cinderv2 服务实体:
    openstack service create --name cinder --description "OpenStack Block Storage" volume

    这里写图片描述

    openstack service create --name cinderv2  --description "OpenStack Block Storage" volumev2

    这里写图片描述

    1.3 创建Endpoint api

    • 1.Public-volume
    openstack endpoint create --region RegionOne   volume public http://controller:8776/v1/%\(tenant_id\)s

    这里写图片描述

    • 2.Internal-volume
    openstack endpoint create --region RegionOne  volume internal http://controller:8776/v1/%\(tenant_id\)s

    这里写图片描述

    • 3.Admin-volume
    openstack endpoint create --region RegionOne   volume admin http://controller:8776/v1/%\(tenant_id\)s

    这里写图片描述

    • 4.Public- volumev2
    openstack endpoint create --region RegionOne   volumev2 public http://controller:8776/v2/%\(tenant_id\)s

    这里写图片描述
    - 5.internal- volumev2

    openstack endpoint create --region RegionOne  volumev2 internal http://controller:8776/v2/%\(tenant_id\)s

    这里写图片描述
    -6. Admin-volumev2

     openstack endpoint create --region RegionOne   volumev2 admin http://controller:8776/v2/%\(tenant_id\)s

    这里写图片描述

    2安装与配置

    2.1安装包

    apt-get install cinder-api cinder-scheduler

    2.2配置/etc/cinder/cinder.conf

    vi /etc/cinder/cinder.conf

    • 1.在[database]配置数据库访问,123456为CINDER_DBPASS的密码
    [database]
    connection = mysql+pymysql://cinder:123456@controller/cinder
    • 2.在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息队列访问:
    [DEFAULT]
    ...
    rpc_backend = rabbit
    
    [oslo_messaging_rabbit]
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = 123456
    • 3.在 [DEFAULT]和 [keystone_authtoken] 部分,配置认证服务访问:
    [DEFAULT]
    ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = cinder
    password = 123456
    • 4.在 [DEFAULT] 部分,配置my_ip 来使用控制节点的管理接口的IP 地址。
    [DEFAULT]
    ...
    my_ip = 10.10.90.2
    • 5.在 [oslo_concurrency] 部分,配置锁路径:
    [oslo_concurrency]
    lock_path = /var/lib/cinder/tmp

    2.3 初始化块设备服务的数据库:

    su -s /bin/sh -c "cinder-manage db sync" cinder

    3完成安装

    重启服务


    service nova-api restart
    service cinder-scheduler restart
    service cinder-api restart

    4 验证

    4.1获取管理员

    . admin-openrc

    4.2列出服务组件以验证是否每个进程都成功启动

    cinder service-list
    下图中3个存储节点的服务状态均为up
    这里写图片描述

    计算节点

    1.配置块存储

    • 编辑/etc/nova/nova.conf,添加以下内容
    [cinder]
    os_region_name = RegionOne
    • 重启service
    service nova-compute restart

    存储节点

    1.基本环境安装

    安装见openstack部署2——控制节点基本环境安装
    openstack部署2——控制节点基本环境安装

    2先决条件

    2.1安装支持的工具包:

    apt-get install lvm2

    2.2查看磁盘信息

    fdisk -l
    这里写图片描述

    ps:可能遇到问题:新磁盘没有分区

    这里写图片描述

    解决方法:为新磁盘分区
    fdisk /dev/sdb
    这里写图片描述
    输入m查看目录:
    这里写图片描述
    输入n,创建一个新分区,在输入p,选择主盘
    这里写图片描述
    输入1,或者默认回车
    这里写图片描述
    选择第一个分区的起始位置,默认2048,再输入最后位置,这里我们选择使用一半
    这里写图片描述
    输入p,查看分区情况
    这里写图片描述
    输入t,修改id为8e
    这里写图片描述
    输入p,查看分区情况
    这里写图片描述
    输入w,写入分区表
    这里写图片描述

    2.3创建LVM 物理卷 /dev/sdb1

     pvcreate /dev/sdb1
    

    ps:可能遇到报错:

    Device /dev/sdb1 not found (or ignored by filtering).
    解决方法:只挂载了新硬盘,但还没有格式化使用,格式化的步骤参考2.2中ps可能出现的问题的解决方法

    2.4编辑”/etc/lvm/lvm.conf‘’

    只有实例可以访问块存储卷组。不过,底层的操作系统管理这些设备并将其与卷关联。默认情况下,LVM卷扫描工具会扫描”/dev” 目录,查找包含卷的块存储设备。如果项目在他们的卷上使用LVM,扫描工具检测到这些卷时会尝试缓存它们,可能会在底层操作系统和项目卷上产生各种问题。您必须重新配置LVM,让它只扫描包含”cinder-volume”卷组的设备。编辑”/etc/lvm/lvm.conf”文件并完成下面的操作:
    vi /etc/lvm/lvm.conf
    在“devices”部分,添加一个过滤器,只接受”/dev/sdb1”设备,拒绝其他所有设备:

    devices {
    ...
    filter = [ "a/sdb/", "r/.*/"]

    3 安装配置卷服务

    3.1安装包

    apt-get install cinder-volume

    3.2编辑 /etc/cinder/cinder.conf

    vi /etc/cinder/cinder.conf

    • 1.在 [database] 部分,配置数据库访问,123456为CINDER_DBPASS的密码
    [database]
    connection = mysql+pymysql://cinder:123456@controller/cinder
    • 2.在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ”
      消息队列访问,123456为RABBIT_PASS的密码
    [DEFAULT]
    ...
    rpc_backend = rabbit
    
    [oslo_messaging_rabbit]
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = 123456
    • 3.在 “[DEFAULT]” 和 “[keystone_authtoken]”
      部分,配置认证服务访问,123456为CINDER_PASS的密码
    [DEFAULT]
    ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = cinder
    password = 123456
    • 4.在 [DEFAULT] 部分,配置 my_ip 选项:
    [DEFAULT]
    ...
    my_ip = 10.10.90.20
    • 5.在[lvm]部分,配置LVM后端以LVM驱动结束,卷组`cinder-volumes ,iSCSI 协议和正确的
      iSCSI服务:
    [lvm]
    volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
    volume_group = cinder-volumes
    iscsi_protocol = iscsi
    iscsi_helper = tgtadm
    • 6.在 [DEFAULT] 部分,启用 LVM 后端:
    [DEFAULT]
    ...
    enabled_backends = lvm
    • 7.在 [DEFAULT] 区域,配置镜像服务 API 的位置:
    [DEFAULT]
    ...
    glance_api_servers = http://controller:9292
    • 8.在 [oslo_concurrency] 部分,配置锁路径:
    [oslo_concurrency]
    lock_path = /var/lib/cinder/tmp

    3.3 完成安装,重启服务

    service tgt restart
    service cinder-volume restart
    展开全文
  • 问题概述: Info: unable to get file lock, will retry … 由于先前服务器直接down掉了,所有进程都非正常的进行关闭了,也就导致了下次启动weblogic的时候报了以下错误:

    问题概述:
    Info: unable to get file lock, will retry …
    由于先前服务器直接down掉了,所有进程都非正常的进行关闭了,也就导致了下次启动weblogic的时候报了以下错误:
    <2018-1-5 下午05时08分34秒 CST> <unable to get file lock, will retry …>
    <2018-1-5 下午05时08分44秒 CST> <unable to get file lock, will retry …>
    解决办法

    一.删掉Domain下的.lok文件*

    1. 删除edit.lok

    进入到domain_home下:

    cd /u01/Oracle/Middleware/user_projects/domains/idm_domain

    将edit.lok文件删掉

    rm edit.lok

    2.删除config.lok

    进入到domain_home/config下:

    cd /u01/Oracle/Middleware/user_projects/domains/idm_domain/config/

    将config.lok文件删掉

    rm config.lok

    3.删除AdminServer.lok

    cd /u01/Oracle/Middleware/user_projects/domains/idm_domain/servers/AdminServer/tmp

    rm AdminServer.lok

    4.删除EmbeddedLDAP.lok

    /u01/Oracle/Middleware/user_projects/domains/idm_domain/servers/AdminServer/data/ldap/ldapfiles

    rm EmbeddedLDAP.lok

    二.删掉Domain下的.DAT文件:*

    进入到domain_home当中

    cd /u01/Oracle/Middleware/user_projects/domains/idm_domain

    找到文件被删掉

    [oracle@idm idm_domain]$ find servers/ -name “*.DAT”
    servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT
    servers/AdminServer/data/store/default/_WLS_ADMINSERVER000000.DAT

    重新启动weblogic,搞定!


    转自:http://blog.csdn.net/repoem/article/details/7074539

    附:重置weblogic密码:

    /wls10/jrockit_xxx/bin/java -cp /wls10/XXX/server/lib/weblogic.jar weblogic.security.utils.AdminAccount user password security

    展开全文
  • 控制节点上进行以下操作: 1.在/root目录下执行命令 . admin-openrc 2.列举所有的服务,验证是否成功启动和注册 openstack compute service list 正常情况在管理节点出现三个激活的服务组件,在...

    1.前言

    Openstack计算服务通过认证服务获取认证;通过镜像服务获取镜像;通过仪表盘提供的用户界面与用户交互。镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同)。Openstack计算服务可以在标准硬件上进行横向扩展,可以下载镜像并开启虚拟机实例。
    Openstack计算服务包含如下几部分,每部分都对应一个组件:

    • nova-api

      接收并响应终端用户的计算服务API调用。该服务执行若干策略并且发起大多数编排行为,比如运行某个虚拟机实例。

    • nova-api-metadata 服务
      接收来自虚拟机实例的元数据请求。当用户处在多主机模式中与nova-network协作时,通常会使用nova-api-metadata 。更多信息参考Metadata service in the OpenStack Administrator Guide.

    • nova-compute service
      一个守护进程(worker daemon),通过虚拟机管理程序的API来创建和销毁虚拟机实例。例如:
      XenAPI for XenServer/XCP
      libvirt for KVM or QEMU
      VMwareAPI for VMware
      处理过程是相当复杂的。基本的,该进程接收队列中的动作并且声称一系列系统命令,例如启动一个KVM实例或者在数据库中更新它的状态。

    • nova-scheduler service
      从队列中获取虚拟机实例的请求并决定其运行在哪个实际的计算服务节点。

    • nova-conductor module
      提供nove-compute服务与数据库的交互方式,防止nova-compute服务与云计算系统数据库有直接的交互。Nova-conductor支持横向扩展。需要注意的是,不要将nova-conductor服务部署在运行着nova-compute服务的节点上。更多信息,参见metadata service
      理论上,Openstack计算服务支持任何形式的关系型数据库。一般情况下,测试与研发过程多使用SQLite3,还包括MySQL,PostgreSQL。

    2.控制节点安装

    2.1安装前提

    在安装和配置Nova前,需要创建数据库,服务认证和API endpoint。

    2.1.1 创建数据库

    • 创建使用root用户登陆数据库client:
      mysql -u root -p

    • 2.创建nova-api和nova数据库
      MariaDB [(none)]> CREATE DATABASE nova_api;
      MariaDB [(none)]> CREATE DATABASE nova;

    • 3.给数据库赋予权限
      NOVA_DBPASS用合适的密码替代:123456

    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    
    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%'  IDENTIFIED BY 'NOVA_DBPASS';
    
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
    
    • 4.退出数据库:exit

    2.1.2source admin-openrc

    . admin-openrc

    2.1.3 创建服务授权证书

    • 1.创建“nova”user,用户密码为123456
      openstack user create --domain default --password-prompt nova
      这里写图片描述
    • 2.将admin角色添加到“nova”user
      openstack role add --project service --user nova admin
    • 3.创建nova服务实例
      openstack service create --name nova --description "OpenStack Compute" compute
      这里写图片描述

    2.1.4 创建计算服务API endpoint

    • Public

      openstack endpoint create --region RegionOne \ 
      compute public http://controller:8774/v2.1/%\(tenant_id\)s

      这里写图片描述

    • Internal

    openstack endpoint create --region RegionOne \ 
    compute internal http://controller:8774/v2.1/%\(tenant_id\)s

    这里写图片描述

    • admin
     openstack endpoint create --region RegionOne \
     compute admin http://controller:8774/v2.1/%\(tenant_id\)s

    这里写图片描述

    2.2安装与配置组件

    2.2.1安装包

    apt-get install nova-api nova-conductor nova-consoleauth nova-novncproxy nova-scheduler

    2.2.2配置文件

    1.修改配置文件/etc/nova/nova.conf

    • 在[DEFAULT]部分

    添加如下部分,仅仅enable comput和metadate APIS,其他的部分删除ec2

     [DEFAULT]
    ...
    enabled_apis = osapi_compute,metadata
    • 在[api_database] 和 [database] 部分
      配置数据参数信息,NOVA_DBPASS用nova数据库的密码123456替代。
    [api_database]
    ...
    connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
    
    [database]
    ...
    connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
    • 在 [DEFAULT] 和 [oslo_messaging_rabbit] 部分
      配置消息队列参数RabbitMQ:RABBIT_PASS用具体密码代替
     [DEFAULT]
    ...
    rpc_backend = rabbit
    
    [oslo_messaging_rabbit]
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = RABBIT_PASS
    • 在[DEFAULT]和[Keystone_authtoken]
      配置身份认证参数,NOVA_PASS用实际的密码123456替换
    [DEFAULT]
    ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = NOVA_PASS
    • 在[DEFAULT]里配置网络
      添加参数“my_ip”为管理节点的ip地址
    [DEFAULT]
    ...
    my_ip = 10.10.80.180
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    • 在[VNC]配置
      VNC代理,配置为管理节点$my_ip,值在上一步骤中赋予。
    [vnc]
    vncserver_listen = $my_ip
    vncserver_proxyclient_address = $my_ip
    • 在[glance]部分
      配置镜像服务API
    [glance]
    api_servers = http://controller:9292
    • 在 [oslo_concurrency] 部分
      配置lock path
    [oslo_concurrency]
    lock_path = /var/lib/nova/tmp
    • 在[default]中移除logdir

    2.2.3 同步数据库

    su -s /bin/sh -c "nova-manage api_db sync" nova
    su -s /bin/sh -c "nova-manage db sync" nova

    2.2.4完成安装,重启服务

    service nova-api restart
    service nova-consoleauth restart
    service nova-scheduler restart
    service nova-conductor restart
    service nova-novncproxy restart

    3.计算节点安装

    3.1 安装包

    apt-get install nova-compute

    3.2 配置文件/etc/nova/nova.conf

    • 在[DEFAULT]和[oslo_messaging_rabbit]部分
      配置RabbitMQ接口,RABBIT_PASS用实际使用密码123456替代。
    [DEFAULT]
    ...
    rpc_backend = rabbit
    
    [oslo_messaging_rabbit]
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = RABBIT_PASS
    • 在[DEFAULT]和[keystone_authtoken]部分
      配置身份认证接口,NOVA_PASS用认证服务中为nova配置的实际密码123456替代。
    [DEFAULT]
    ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = NOVA_PASS
    • 在[DEFAULT]和[keystone_authtoken]部分
      配置身份认证接口,NOVA_PASS用认证服务中为nova配置的实际密码123456替代。
    [DEFAULT]
    ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = NOVA_PASS
    • 在[DEFAULT]部分
      配置my_ip,ip地址为此计算节点的ip
    [DEFAULT]
    ...
    my_ip = 10.10.80.181
    • 在[DEFAULT]部分
      添加支持网络服务参数
    [DEFAULT]
    ...
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    • 在[vnc]部分
      激活和配置远程端口访问
    [vnc]
    enabled = True
    vncserver_listen = 0.0.0.0
    vncserver_proxyclient_address = $my_ip
    novncproxy_base_url = http://controller:6080/vnc_auto.html
    
    • 在[glance]部分
      配置image的API服务
    [glance]
    api_servers = http://controller:9292
    • 在[oslo_concurrency]部分
      配置lock路径
    [oslo_concurrency]
    lock_path = /var/lib/nova/tmp
    • 在[default]中移除“logdir”参数

    3.3安装完成

    3.3.1确定是否计算节点支持虚拟设备的硬件加速

    egrep -c '(vmx|svm)' /proc/cpuinfo
    这里写图片描述
    如果返回1或更多,则计算节点支持硬件优化,不需要额外配置。
    如果返回zero,则计算节点不支持硬件优化,必须配置libvirt来使用QEMU,而不是KVM。具体的配置参考:配置libvirt中finalize installation-1。

    3.3.2重启计算服务

    service nova-compute restart

    4.验证

    在控制节点上进行以下操作:

    • 1.在/root目录下执行命令
      . admin-openrc
    • 2.列举所有的服务,验证是否成功启动和注册
      openstack compute service list
      正常情况在管理节点出现三个激活的服务组件,在计算节点列出一个激活的服务组件:
      这里写图片描述
    展开全文
  • 9、控制节点配置 Modular Layer 2 (ML2) 插件 ML2是2层网络的配置,ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施 编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作: 在[ml2...
    早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron。
    quantum是因为商标和别的公司重名了,又改成的Neutron


    OpenStack Networking

    网络:在实际的物理环境下,我们使用交换机或者集线器把多个计算机连接起来形成了网络。在Neutron的世界里,网络也是将多个不同的云主机连接起来。
    子网:在实际的物理环境下,在一个网络中。我们可以将网络划分成多为逻辑子网。在Neutron的世界里,子网也是隶属于网络下的。
    端口:在实际的物理环境下,每个子网或者网络,都有很多的端口,比如交换机端口来供计算机连接。在Neutron的世界端口也是隶属于子网下,云主机的网卡会对应到一个端口上。
    路由器:在实际的网络环境下,不同网络或者不同逻辑子网之间如果需要进行通信,需要通过路由器进行路由。在Neutron的实际里路由也是这个作用。用来连接不同的网络或者子网。

     

    Neutron相关组件

    不管是linux bridge 还是ovs,都要连接数据库,连接数据库的代码都是一样的。
    就这样搞了个ML2, 在ML2下面才是linux bridge和ovs,linux bridge和ovs都是开源的
    其它商业插件,ML2也支持
    dhcp agent是分配ip地址的
    L3-agent 是做3层网络的,路由的
    LBAAS 是负载均衡的


    宿主机和虚拟机在一个网络,叫单一扁平网络,在官方文档里叫提供者网络。比如下图
    单一平面网络的缺点:
    存在单一网络瓶颈,缺乏可伸缩性。
    缺乏合适的多租户隔离

    网络介绍

    配置网络选项,分公共网络和私有网络
    部署网络服务使用公共网络和私有网络两种架构中的一种来部署网络服务。
    公共网络:采用尽可能简单的架构进行部署,只支持实例连接到公有网络(外部网络)。没有私有网络(个人网络),路由器以及浮动IP地址。
    只有admin或者其他特权用户才可以管理公有网络。
    私有网络:在公共网络的基础上多了layer3服务,支持实例连接到私有网络

     本次实验使用公共网络

    控制节点安装配置Neutron

    1、 控制节点安装组件

    [root@linux-node1 ~]# yum install openstack-neutron openstack-neutron-ml2   openstack-neutron-linuxbridge ebtables

    2、控制节点配置部分---数据库
    编辑/etc/neutron/neutron.conf 文件并完成如下操作:
    在 [database] 部分,配置数据库访问:

    [database]
    ...
    connection = mysql+pymysql://neutron:neutron@192.168.1.2/neutron

    neutron改完数据库连接配置之后,并不需要立即同步数据库,还需要继续配置

    3、控制节点配置部分---keystone

    在[DEFAULT]和[keystone_authtoken]部分,配置认证服务访问:

    [DEFAULT]
    ...
    auth_strategy = keystone

    [keystone_authtoken]模块配置
    加入下面参数

    auth_uri = http://192.168.1.2:5000
    auth_url = http://192.168.1.2:35357
    memcached_servers = 192.168.1.2:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = neutron
    password = neutron

    4、控制节点配置部分---RabbitMQ


    在 [DEFAULT] 和 [oslo_messaging_rabbit]部分,配置 RabbitMQ 消息队列的连接:
    [DEFAULT]
    ...
    rpc_backend = rabbit

    [oslo_messaging_rabbit]模块下面配置

    [oslo_messaging_rabbit]
    ...
    rabbit_host = 192.168.1.2
    rabbit_userid = openstack
    rabbit_password = openstack

    5、控制节点配置部分---Neutron核心配置

    在[DEFAULT]部分,启用ML2插件并禁用其他插件,等号后面不写,就表示禁用其它插件的意思

    [DEFAULT]
    ...
    core_plugin = ml2
    service_plugins =

    6、 控制节点配置部分---结合nova的配置

    在[DEFAULT]和[nova]部分,配置网络服务来通知计算节点的网络拓扑变化
    打开这两行的注释
    意思是端口状态发生改变,通知nova

    [DEFAULT]
    ...
    notify_nova_on_port_status_changes = True
    notify_nova_on_port_data_changes = True
    [nova]模块下面配置(Neutron配置文件有nova模块)

    auth_url = http://192.168.1.2:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = nova
    password = nova


    7、控制节点配置部分---结合锁路径配置

     在 [oslo_concurrency] 部分,配置锁路径:

    [oslo_concurrency]
    ...
    lock_path = /var/lib/neutron/tmp

    8、控制节点检查主配置文件
    控制节点neutron主配置文件的配置完毕

    [root@linux-node1 ~]# grep -n '^[a-Z]' /etc/neutron/neutron.conf
    2:auth_strategy = keystone
    3:core_plugin = ml2
    4:service_plugins =
    5:notify_nova_on_port_status_changes = true
    6:notify_nova_on_port_data_changes = true
    515:rpc_backend = rabbit
    658:connection = mysql+pymysql://neutron:neutron@192.168.1.2/neutron
    767:auth_uri = http://192.168.1.2:5000
    768:auth_url = http://192.168.1.2:35357
    769:memcached_servers = 192.168.1.2:11211
    770:auth_type = password
    771:project_domain_name = default
    772:user_domain_name = default
    773:project_name = service
    774:username = neutron
    775:password = neutron
    944:auth_url = http://192.168.1.2:35357
    945:auth_type = password
    946:project_domain_name = default
    947:user_domain_name = default
    948:region_name = RegionOne
    949:project_name = service
    950:username = nova
    951:password = nova
    1050:lock_path = /var/lib/neutron/tmp
    1069:rabbit_host = 192.168.1.2
    1070:rabbit_userid = openstack
    1071:rabbit_password = openstack
    1224:rabbit_port = 5672

    9、控制节点配置 Modular Layer 2 (ML2) 插件

    ML2是2层网络的配置,ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施
    编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作:
    在[ml2]部分,启用flat和VLAN网络:
    vim /etc/neutron/plugins/ml2/ml2_conf.ini
    [ml2]
    type_drivers = flat,vlan,gre,vxlan,geneve
    tenant_network_types =


    在[ml2]部分,启用Linuxbridge机制:
    这个的作用是你告诉neutron使用哪几个插件创建网络,此时是linuxbridge
    [ml2]
    ...
    mechanism_drivers = linuxbridge

    它是个列表,你可以写多个,比如再添加个openvswitch

    mechanism_drivers = linuxbridge,openvswitch

    在[ml2]部分,启用端口安全扩展驱动:

    [ml2]
    ...
    extension_drivers = port_security

    在[ml2_type_flat]部分,配置公共虚拟网络为flat网络,官方文档写的改为provider,我们改为flat_networks = public

    [ml2_type_flat]

    ...

    flat_networks = public

    在[securitygroup]部分,启用 ipset 增加安全组规则的高效性:

    [securitygroup]
    ...
    enable_ipset = True

    10、控制节点检查ML2配置文件
    至此控制节点,ML2的配置更改完毕,如下
    [root@linux-node1 ~]# grep -n '^[a-Z]' /etc/neutron/plugins/ml2/ml2_conf.ini
    107:type_drivers = flat,vlan,gre,vxlan,geneve
    112:tenant_network_types =
    116:mechanism_drivers = linuxbridge,openvswitch
    121:extension_drivers = port_security
    153:flat_networks = public
    215:enable_ipset = true

    11、控制节点配置Linuxbridge代理

    Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。
    编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作:
    在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:
    将PUBLIC_INTERFACE_NAME替换为底层的物理公共网络接口
    [linux_bridge]
    physical_interface_mappings = public:ens33

    在[vxlan]部分,禁止VXLAN覆盖网络:

    [vxlan]
    enable_vxlan = False

    在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver:

    [securitygroup]
    ...
    enable_security_group = True
    firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

    查看更改了哪些配置
    [root@linux-node1 ~]# grep -n '^[a-Z]' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    128:physical_interface_mappings = public:ens33
    156:enable_security_group = true
    157:firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
    165:enable_vxlan = false

    12、控制节点配置DHCP代理

    编辑/etc/neutron/dhcp_agent.ini文件并完成下面的操作:
    在[DEFAULT]部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
    [DEFAULT]
    ...
    interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
    dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
    enable_isolated_metadata = True

    查看更改了哪些配置
    第一行是底层接口的配置
    第二行dnsmasq是一个小的dhcp开源项目
    第三行是刷新路由用的
    [root@linux-node1 ~]# grep -n '^[a-Z]' /etc/neutron/dhcp_agent.ini
    2:interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
    3:dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
    4:enable_isolated_metadata = true

    13、控制节点配置元数据代理 

    编辑/etc/neutron/metadata_agent.ini文件并完成以下操作:
    在[DEFAULT] 部分,配置元数据主机以及共享密码:
    [DEFAULT]
    ...
    nova_metadata_ip = controller
    metadata_proxy_shared_secret = METADATA_SECRET
    用你为元数据代理设置的密码替换 METADATA_SECRET。下面的zyx是自定义的共享密钥
    这个共享密钥,在nova里还要配置一遍,你要保持一致的
    [root@linux-node1 ~]# grep -n '^[a-Z]'  /etc/neutron/metadata_agent.ini
    2:nova_metadata_ip = 192.168.1.2
    3:metadata_proxy_shared_secret = shi

    14、在控制节点的nova上面配置neutron

    下面配置的是neutron的keystone的认证地址。9696是neutron-server的端口
    编辑/etc/nova/nova.conf文件并完成以下操作:
    在[neutron]部分,配置访问参数,启用元数据代理并设置密码:

    url = http: //192 .168.1.2:9696
    auth_url = http: //192 .168.1.2:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = neutron
    password = neutron

    然后打开下面并配置如下
    service_metadata_proxy = True
    metadata_proxy_shared_secret = shi

    15、控制节点配置超链接

    网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini 如果超链接不存在,使用下面的命令创建它:

    [root@linux-node1 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

    16、控制节点同步数据库
    [root@linux-node1 ~]# 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
    No handlers could be found for logger "oslo_config.cfg"
    INFO  [alembic.runtime.migration] Context impl MySQLImpl.
    INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
      Running upgrade for neutron ...
    INFO  [alembic.runtime.migration] Context impl MySQLImpl.
    INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
    INFO  [alembic.runtime.migration] Running upgrade  -> kilo, kilo_initial
    INFO  [alembic.runtime.migration] Running upgrade kilo -> 354db87e3225, nsxv_vdr_metadata.py
    INFO  [alembic.runtime.migration] Running upgrade 354db87e3225 -> 599c6a226151, neutrodb_ipam
    INFO  [alembic.runtime.migration] Running upgrade 599c6a226151 -> 52c5312f6baf, Initial operations in support of address scopes
    INFO  [alembic.runtime.migration] Running upgrade 52c5312f6baf -> 313373c0ffee, Flavor framework
    INFO  [alembic.runtime.migration] Running upgrade 313373c0ffee -> 8675309a5c4f, network_rbac
    INFO  [alembic.runtime.migration] Running upgrade 8675309a5c4f -> 45f955889773, quota_usage
    INFO  [alembic.runtime.migration] Running upgrade 45f955889773 -> 26c371498592, subnetpool hash
    INFO  [alembic.runtime.migration] Running upgrade 26c371498592 -> 1c844d1677f7, add order to dnsnameservers
    INFO  [alembic.runtime.migration] Running upgrade 1c844d1677f7 -> 1b4c6e320f79, address scope support in subnetpool
    INFO  [alembic.runtime.migration] Running upgrade 1b4c6e320f79 -> 48153cb5f051, qos db changes
    INFO  [alembic.runtime.migration] Running upgrade 48153cb5f051 -> 9859ac9c136, quota_reservations
    INFO  [alembic.runtime.migration] Running upgrade 9859ac9c136 -> 34af2b5c5a59, Add dns_name to Port
    INFO  [alembic.runtime.migration] Running upgrade 34af2b5c5a59 -> 59cb5b6cf4d, Add availability zone
    INFO  [alembic.runtime.migration] Running upgrade 59cb5b6cf4d -> 13cfb89f881a, add is_default to subnetpool
    INFO  [alembic.runtime.migration] Running upgrade 13cfb89f881a -> 32e5974ada25, Add standard attribute table
    INFO  [alembic.runtime.migration] Running upgrade 32e5974ada25 -> ec7fcfbf72ee, Add network availability zone
    INFO  [alembic.runtime.migration] Running upgrade ec7fcfbf72ee -> dce3ec7a25c9, Add router availability zone
    INFO  [alembic.runtime.migration] Running upgrade dce3ec7a25c9 -> c3a73f615e4, Add ip_version to AddressScope
    INFO  [alembic.runtime.migration] Running upgrade c3a73f615e4 -> 659bf3d90664, Add tables and attributes to support external DNS integration
    INFO  [alembic.runtime.migration] Running upgrade 659bf3d90664 -> 1df244e556f5, add_unique_ha_router_agent_port_bindings
    INFO  [alembic.runtime.migration] Running upgrade 1df244e556f5 -> 19f26505c74f, Auto Allocated Topology - aka Get-Me-A-Network
    INFO  [alembic.runtime.migration] Running upgrade 19f26505c74f -> 15be73214821, add dynamic routing model data
    INFO  [alembic.runtime.migration] Running upgrade 15be73214821 -> b4caf27aae4, add_bgp_dragent_model_data
    INFO  [alembic.runtime.migration] Running upgrade b4caf27aae4 -> 15e43b934f81, rbac_qos_policy
    INFO  [alembic.runtime.migration] Running upgrade 15e43b934f81 -> 31ed664953e6, Add resource_versions row to agent table
    INFO  [alembic.runtime.migration] Running upgrade 31ed664953e6 -> 2f9e956e7532, tag support
    INFO  [alembic.runtime.migration] Running upgrade 2f9e956e7532 -> 3894bccad37f, add_timestamp_to_base_resources
    INFO  [alembic.runtime.migration] Running upgrade 3894bccad37f -> 0e66c5227a8a, Add desc to standard attr table
    INFO  [alembic.runtime.migration] Running upgrade kilo -> 30018084ec99, Initial no-op Liberty contract rule.
    INFO  [alembic.runtime.migration] Running upgrade 30018084ec99 -> 4ffceebfada, network_rbac
    INFO  [alembic.runtime.migration] Running upgrade 4ffceebfada -> 5498d17be016, Drop legacy OVS and LB plugin tables
    INFO  [alembic.runtime.migration] Running upgrade 5498d17be016 -> 2a16083502f3, Metaplugin removal
    INFO  [alembic.runtime.migration] Running upgrade 2a16083502f3 -> 2e5352a0ad4d, Add missing foreign keys
    INFO  [alembic.runtime.migration] Running upgrade 2e5352a0ad4d -> 11926bcfe72d, add geneve ml2 type driver
    INFO  [alembic.runtime.migration] Running upgrade 11926bcfe72d -> 4af11ca47297, Drop cisco monolithic tables
    INFO  [alembic.runtime.migration] Running upgrade 4af11ca47297 -> 1b294093239c, Drop embrane plugin table
    INFO  [alembic.runtime.migration] Running upgrade 1b294093239c -> 8a6d8bdae39, standardattributes migration
    INFO  [alembic.runtime.migration] Running upgrade 8a6d8bdae39 -> 2b4c2465d44b, DVR sheduling refactoring
    INFO  [alembic.runtime.migration] Running upgrade 2b4c2465d44b -> e3278ee65050, Drop NEC plugin tables
    INFO  [alembic.runtime.migration] Running upgrade e3278ee65050 -> c6c112992c9, rbac_qos_policy
    INFO  [alembic.runtime.migration] Running upgrade c6c112992c9 -> 5ffceebfada, network_rbac_external
    INFO  [alembic.runtime.migration] Running upgrade 5ffceebfada -> 4ffceebfcdc, standard_desc
      OK

    17、控制节点重启nova服务以及启动neutron服务

    重启计算nova-api 服务,在控制节点上操作:

    [root@linux-node1 ~]# systemctl restart openstack-nova-api.service

    启动以下neutron相关服务,并设置开机启动

    [root@linux-node1 ~]# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-server.service to /usr/lib/systemd/system/neutron-server.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-linuxbridge-agent.service to /usr/lib/systemd/system/neutron-linuxbridge-agent.serv
    Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-dhcp-agent.service to /usr/lib/systemd/system/neutron-dhcp-agent.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-metadata-agent.service to /usr/lib/systemd/system/neutron-metadata-agent.service.

    [root@linux-node1 ~]# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

    官方文档提到下面,我们用不到,不用操作,这里以删除线标识

    对于网络选项2,同样启用layer-3服务并设置其随系统自启动

    # systemctl enable neutron-l3-agent.service
    # systemctl start neutron-l3-agent.service

    查看监听,多了9696端口
    [root@linux-node1 ~]# netstat -nltp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1874/mysqld         
    tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      910/memcached       
    tcp        0      0 0.0.0.0:9292            0.0.0.0:*               LISTEN      4019/python2        
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      912/httpd           
    tcp        0      0 0.0.0.0:4369            0.0.0.0:*               LISTEN      1/systemd           
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      997/sshd            
    tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      898/beam            
    tcp        0      0 0.0.0.0:35357           0.0.0.0:*               LISTEN      912/httpd           
    tcp        0      0 0.0.0.0:9696            0.0.0.0:*               LISTEN      6659/python2        
    tcp        0      0 0.0.0.0:6080            0.0.0.0:*               LISTEN      4569/python2        
    tcp        0      0 0.0.0.0:8774            0.0.0.0:*               LISTEN      6592/python2        
    tcp        0      0 0.0.0.0:8775            0.0.0.0:*               LISTEN      6592/python2        
    tcp        0      0 0.0.0.0:9191            0.0.0.0:*               LISTEN      4020/python2        
    tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      898/beam            
    tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      912/httpd           
    tcp6       0      0 :::22                   :::*                    LISTEN      997/sshd            
    tcp6       0      0 :::5672                 :::*                    LISTEN      898/beam 

    18、控制节点创建服务实体和注册端点

    在keystone上创建服务和注册端点

    创建neutron服务实体:

    [root@linux-node1 ~]# source admin-openstack.sh
    [root@linux-node1 ~]# openstack service create --name neutron  --description "OpenStack Networking" network
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Networking             |
    | enabled     | True                             |
    | id          | c868d49bb40e4d679c2dca6f3f0d1663 |
    | name        | neutron                          |
    | type        | network                          |
    +-------------+----------------------------------+

    创建网络服务API端点
     
    创建public端点
    [root@linux-node1 ~]# openstack endpoint create --region RegionOne network public http://192.168.1.2:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | a0e23a10c72b43d69195c14361a1d0d3 |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c868d49bb40e4d679c2dca6f3f0d1663 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://192.168.1.2:9696          |
    +--------------+----------------------------------+

    创建internal端点

    [root@linux-node1 ~]# openstack endpoint create --region RegionOne  network internal http://192.168.1.2:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 3caa998f60f34ebdae00fa1a843f7dc8 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c868d49bb40e4d679c2dca6f3f0d1663 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://192.168.1.2:9696          |
    +--------------+----------------------------------+

    创建admin端点

    [root@linux-node1 ~]# openstack endpoint create --region RegionOne  network admin http://192.168.1.2:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 5c56915f077447d09c06905bcfb7069a |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c868d49bb40e4d679c2dca6f3f0d1663 |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://192.168.1.2:9696          |
    +--------------+----------------------------------+

    检查,看到下面3行,说明没问题,右边alive是笑脸状态。表示正常
    [root@linux-node1 ~]# neutron agent-list
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+
    | id                             | agent_type         | host                | availability_zone | alive | admin_state_up | binary                    |
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+
    | 8beadbbc-                      | Linux bridge agent | linux-node1.shi.com |                   | :-)   | True           | neutron-linuxbridge-agent |
    | d8f0-4a07-8036-eb4d0bf4b563    |                    |                     |                   |       |                |                           |
    | 9a486841-382c-                 | DHCP agent         | linux-node1.shi.com | nova              | :-)   | True           | neutron-dhcp-agent        |
    | 49f9-a1d5-7c8dd752ec5d         |                    |                     |                   |       |                |                           |
    | ead97fe2-90be-4516-a120-8c21ad | Metadata agent     | linux-node1.shi.com |                   | :-)   | True           | neutron-metadata-agent    |
    | 6b10f9                         |                    |                     |                   |       |                |                           |
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+



    计算节点安装和配置neutron
    早期版本nova-compute可以直接连接数据库,那么存在一个问题,任何一个计算节点被入侵了。那么数据库整个就危险了。后来就出现了个nova-condutor,它作为中间访问的
    1、安装组件
    [root@linux-node2 ~]# yum install openstack-neutron-linuxbridge ebtables ipset -y

    计算节点要改2个文件配置通用组件和配置网络选项

    配置通用组件
    Networking 通用组件的配置包括认证机制、消息队列和插件。
    /etc/neutron/neutron.conf

    配置网络选项
    配置Linuxbridge代理
    /etc/neutron/plugins/ml2/linuxbridge_agent.ini

    文档连接可以参照
    https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install-option1.html

    因为计算节点和控制节点neutron配置相似,可以在控制节点配置文件基础上完善下

    [root@linux-node1 ~]# scp -p /etc/neutron/neutron.conf 192.168.1.3:/etc/neutron/

    2、计算节点更改配置

    删除mysql的配置,并注释这行
    [database]
    #connection =
    把下面nova的下面配置删除
    [nova]
    auth_url = http://192.168.1.2:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = nova
    password = nova

    注释下面4行
    #notify_nova_on_port_status_changes = true
    #notify_nova_on_port_data_changes = true
    #core_plugin = ml2
    #service_plugins =

    3、查看更改后的配置

    [root@linux-node2 neutron]# grep -n '^[a-Z]' /etc/neutron/neutron.conf
    2:auth_strategy = keystone
    515:rpc_backend = rabbit
    767:auth_uri = http://192.168.1.2:5000
    768:auth_url = http://192.168.1.2:35357
    769:memcached_servers = 192.168.1.2:11211
    770:auth_type = password
    771:project_domain_name = default
    772:user_domain_name = default
    773:project_name = service
    774:username = neutron
    775:password = neutron
    1042:lock_path = /var/lib/neutron/tmp
    1061:rabbit_host = 192.168.1.2
    1062:rabbit_userid = openstack
    1063:rabbit_password = openstack
    1216:rabbit_port = 5672

    4、计算节点更改nova主配置文件

    编辑/etc/nova/nova.conf文件并完成下面的操作:
    在[neutron] 部分,配置访问参数:

    [neutron]
    ...
    url = http: //192 .168.1.2:9696
    auth_url = http: //192 .168.1.2:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = neutron
    password = neutron

    5、计算节点配置Linuxbridge代理

    (1)Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。
    编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作:
    在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:

    [linux_bridge]
    physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
    将PUBLIC_INTERFACE_NAME 替换为底层的物理公共网络接口

    (2)在[vxlan]部分,禁止VXLAN覆盖网络:
    [vxlan]
    enable_vxlan = False

    (3)在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver:

    [securitygroup]
    ...
    enable_security_group = True
    firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
    由于上面3处的配置和控制节点的一模一样,直接拷贝控制节点文件到此替换即可
    [root@linux-node1 ~]# scp -r /etc/neutron/plugins/ml2/linuxbridge_agent.ini 192.168.1.3/etc/neutron/plugins/ml2/


    6、在计算节点检查linuxbridge_agent配置文件
    [root@linux-node2 neutron]# grep -n '^[a-Z]' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    128:physical_interface_mappings = public:ens33
    156:enable_security_group = true
    157:firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
    165:enable_vxlan = false

    7、重启nova服务并启动neutron服务

    因为改动了nova主配置文件,需要重启nova服务

    同时启动neutron服务,并设置开机启动

    [root@linux-node2 neutron]# systemctl restart openstack-nova-compute.service
    [root@linux-node2 neutron]# systemctl enable neutron-linuxbridge-agent.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-linuxbridge-agent.service to /usr/lib/systemd/system/neutron-linuxbridge-agent.service.
    [root@linux-node2 neutron]# systemctl start neutron-linuxbridge-agent.service

    8、控制节点检查

    看到多了个计算节点Linux bridge agent
    [root@linux-node1 ~]# source admin-openstack.sh
    [root@linux-node1 ~]# neutron agent-list
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+
    | id                             | agent_type         | host                | availability_zone | alive | admin_state_up | binary                    |
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+
    | 0ebb213b-4933-4a34-be61-2aeeb4 | DHCP agent         | linux-node1.shi.com | nova              | :-)   | True           | neutron-dhcp-agent        |
    | 6574a6                         |                    |                     |                   |       |                |                           |
    | 4677fa97-6569-4ab1-a3db-       | Linux bridge agent | linux-node1.shi.com |                   | :-)   | True           | neutron-linuxbridge-agent |
    | 71d5736b40fb                   |                    |                     |                   |       |                |                           |
    | 509da84b-                      | Linux bridge agent | linux-node2.shi.com |                   | :-)   | True           | neutron-linuxbridge-agent |
    | 8bd3-4be0-9688-94d45225c3c0    |                    |                     |                   |       |                |                           |
    | 5ec0f2c1-3dd3-40ba-            | Metadata agent     | linux-node1.shi.com |                   | :-)   | True           | neutron-metadata-agent    |
    | a42e-e53313864087              |                    |                     |                   |       |                |                           |
    +--------------------------------+--------------------+---------------------+-------------------+-------+----------------+---------------------------+



    下面映射,可以理解为给网卡起个别名,便于区分用途
    同时你的物理网卡名字必须是eth0,对应上配置文件。或者说配置文件对用上实际的网卡名
    [root@linux-node2 ~]# grep physical_interface_mappings /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    physical_interface_mappings = public:ens33







    展开全文
  • 控制element tree组件展开子节点

    千次阅读 2019-05-08 11:08:49
    如果tree组件没有添加...现在是用按钮控制默认打开的树形节点,而不是全部。采用以下方法。利用文档中的方法通过子default-expanded-keys默认打开某个节点。 element文档里面有这个方法。idArr是我定义的数组...
  • ROS节点

    千次阅读 2019-12-28 16:25:22
    ROS节点介绍 在ROS的世界里,最小的进程单元就是节点(node) 一个软件包里可以有多个可执行文件,可执行文件在运行之后就成了一个进程(process),这个进程在ROS中就叫做节点 从程序角度来说,node就是一个可执行...
  • k8s pod 在节点间调度控制

    千次阅读 2019-03-24 12:57:35
    当需要在指定pod运行在某个节点上时,可以通过以下几种方式: 1. 在部署pod的yaml中,指定nodeName 指定了nodeName的Pod会直接跳过Scheduler的调度逻辑,直接写入PodList列表,该匹配规则是强制匹...
  • ROS可以通过launch文件进行节点的管理、初始参数的设置,但是launch文件不能指定节点的启动顺序,因此本文简单介绍下通过launch进行节点启动管理,通过shell来控制节点启动顺序。 1,我将读取参数的代码片段放在了...
  • 区块链节点与主节点分别是什么?

    万次阅读 2018-12-18 11:48:23
    虽然币市低迷,但是区块链技术的发展却并未受到影响,本文将和大家分享一些区块链的基础知识,即节点和主节点分别是什么,我们如何参与及他们在区块链网络中执行的任务是什么?希望帮助大家更好的认识区块链技术。 ...
  • elasticsearch节点脱离集群 分片控制

    千次阅读 2016-12-30 14:47:23
    当集群节点脱离集群的时候会有以下动作产生: 1. master将离开节点包含的所有主分片的副本分片提升为主分片 2. 假如有足够的节点将把所有丢失的副本分片重新分配到集群中的其他节点中 3. Rebalancing操作 ...
  • 实现可文字编辑也可插入节点的功能 展示如下: html5中contentEditable属性规定是否可编辑元素的内容,给需要编辑的节点添加contentEditable=“true”。 兼容性: 当点击Button时在编辑框内增加节点: 一开始div...
  • VRML参考节点

    千次阅读 2013-03-18 14:58:54
    VRML节点集包括基本几何节点、复杂群节点、VRML场景效果节点、动画节点及动态感知节点等。排序后的VRML节点集如下。   1.Anchor锚节点,是超级链接群节点,具有超级链接网络文件和站点功能。 Anchor锚节点的...
  • Elasticsearch节点类型

    千次阅读 2017-08-02 17:48:44
    当我们启动Elasticsearch的实例,就会启动至少一个节点。相同集群名的多个节点的连接就组成了一个集群。...节点以下类型: 1、主(master)节点 node.master设置为True(默认)的时候,它有资格被选作为主节点,控
  • 1、ztree树菜单控制展开到任意几级节点的实现方法 二、代码实现 //展开全部ztree树节点(b-(true:ztree-对象;false:树节点),childnodes-子节点或ztree对象,l-要展开到哪个层级) function showztreemenuNum(b,...
  • 为了避免X某个设备因为自身原因(例如硬件损坏)导致无法正确收发报文而不断的破坏总线的数据帧,从而影响其它正常节点通信,CAN网络具有严格的错误诊断功能,CAN通用规范中规定每个CAN控制器中有一个发送错误计数器...
  • Pi Network节点教程

    万次阅读 多人点赞 2021-01-08 00:58:57
    文章目录1、简介2、Pi节点安装2.1、操作系统2.2、路由器设置2.3、Docker安装2.4、Pi Node安装 1、简介     2020年3月31日(太平洋时间)Node软件的测试版上线此,版本号0.015。写下这篇文章时,版本号已更新至...
  • Zookeeper客户端API之创建节点(七)

    万次阅读 2017-03-24 10:16:05
    本篇博客主要讲一下使用Zookeeper原生的客户API来创建一个数据节点。 创建数据节点方法 Zookeeper提供了两个创建数据节点的方法。 同步创建数据节点方法: public String create(final String path, byte data[]...
  • 某些情况下,您可以在没有 Microsoft Windows NT 4.0、Windows 2000 或 Windows Server 2003 域控制器的环境中部署 Windows 2000 和 Windows Server 2003 群集节点。此方案要求至少将一个群集节点配置为域控制器。...
  • kubernetes的node 节点管理

    千次阅读 2018-07-10 17:45:34
    node是kubernetes集群中的工作节点,可以是虚拟机也可以是物理机。node节点上运行一些服务用来运行pod以及与master通信等。一个node上的服务包括docker运行时环境、kubelet、kube-proxy以及其它一些可选的add-ons。...
  • 创建sysfs节点

    千次阅读 2016-04-09 20:00:46
    如果有时间,还是建议看上面官网的英文原文。...以下是个人翻译:  Linux有2个虚拟文件系统:sysf和configfs。虚拟文件系统有别于其他文件系统。sysfs和configfs存在与内存中。sysfs的挂载点是/sys/或/sysfs/。然而
  • bootstraptreeview子父节点选中

    千次阅读 2019-04-22 12:53:28
    在使用bootstrap-treeview插件的时候,需要实现选中某个节点时同时选中其祖辈节点和其子孙节点,难受的是它貌似并没有实现这样的功能,只能自己动手实现了,我这里是直接修改源代码实现的。 在源码中找到以下函数 ...
  • 根据文件路径查找索引节点 操作系统的文件管理系统的主要作用就是,当用户需要访问一个文件时,系统可以通过用户给出的文件路径找到文件的索引节点,从而找到文件,并以文件对象的实例交付给用户进程。下面就以系统...
  • Zookeeper节点Znode

    千次阅读 2015-11-15 23:53:47
    ZooKeeper目录树中每一个节点对应一个Znode。每个Znode维护着一个属性结构,它包含着版本号(dataVersion),时间戳(ctime,mtime)等状态信息。ZooKeeper正是使用节点的这些特性来实现它的某些特定功能。每当Znode的...
  • Opensrack一般来说由以下四个功能节点组成,分别是:控制节点、网络节点、存储节点和计算节点,但由于我现在采用虚拟机搭建,所以选择双节点(控制节点、计算节点)搭建。 部署Openstack Mitaka版本 虚拟机1:控制...
  • I节点介绍

    千次阅读 2013-11-14 18:02:23
    2. 一个磁盘可以划分为N多扇区,每个扇区有512字节 。扇区是磁盘上的基本存储单元,我们可以将每个扇区进行编号,这样磁盘就变为一系列编了号的块的组合。 3. 磁盘块上存储文件时,按照一定的...i-节点表 :每个文件
  • js|jq获取兄弟节点,父节点,子节点

    千次阅读 2019-09-22 18:08:17
    js|jq获取兄弟节点,父节点,子节点 一.js var parent = test.parentNode; // 父节点 var chils = test.childNodes; // 全部子节点 var first = test.firstChild; // 第一个子节点 var last = test.lastChile; // 最后...
  • Devstack 多节点自动化部署

    千次阅读 2016-07-17 22:03:52
    在计算节点设置收集日志的IP地址必须只想keystone控制节点,这样能够统一的收集日志。以下例子指出如何在计算节点添加输出日志的条目值: SYSLOG_HOST = 192.168.42.11 3.5 使用不同repo源与分支 在...
  • HDFS节点内数据平衡:DiskBalancer

    万次阅读 2016-06-28 15:12:55
    前言做集群运维的同学可能都会遇到这样一个问题:Hadoop集群使用久了,各个节点上的数据会变得不均衡,多的达到70,80%,少的就10,20%.面对这种场景,我们的办法一般就是用HDFS自带的Balancer工具对其进行数据平衡.但有的...
  • 分布式节点协调实现方式

    千次阅读 2017-08-15 15:35:39
    通常节点间的协调与控制主要是通过以下几种方式完成的。   一、硬件负载均衡   这是一个远程通讯过程,请求发起方和请求处理方之间有一个硬件负载均衡设备(例如F5,很贵。。。。),所有请求都要通过...
  • Polkadot验证节点的安全性和可用性

    万次阅读 2019-05-16 18:29:45
    在本文中,我将在验证节点的安全性和可用性方面讨论两个主题。我知道,这里介绍的技巧仅仅涵盖了POS验证节点的“安全性和可用性”冰山一角。不过,我发现它们对于您的测试实例提供最小的安全性和可用性是有用的。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 304,880
精华内容 121,952
关键字:

以下属于控制节点的是