zoukankan      html  css  js  c++  java
  • Nova控制节点集群

    #Nova控制节点集群

    openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html

    ##Nova控制节点集群
    # controller 安装
    
    #########以下在controller1执行
    #创建Nova数据库、用户、认证,前面已设置
    source ./admin-openstack.sh || { echo "加载前面设置的admin-openstack.sh环境变量脚本";exit; }
    
    # keystone上服务注册 ,创建nova用户、服务、API
    # nova用户前面已建
    openstack service create --name nova --description "OpenStack Compute" compute
    openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
    openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
    openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
    #创建placement用户、服务、API
    openstack user create --domain default --password=placement placement
    openstack role add --project service --user placement admin
    openstack service create --name placement --description "Placement API" placement
    openstack endpoint create --region RegionOne placement public http://controller:8778
    openstack endpoint create --region RegionOne placement internal http://controller:8778
    openstack endpoint create --region RegionOne placement admin http://controller:8778
    #
    #openstack endpoint delete id?
    
    ## 安装nova控制节点
    yum install -y openstack-nova-api openstack-nova-conductor 
      openstack-nova-console openstack-nova-novncproxy 
      openstack-nova-scheduler openstack-nova-placement-api
    #
    cp /etc/nova/nova.conf{,.bak}
    # #nova控制节点配置
    echo '#
    [DEFAULT]
    [DEFAULT]
    my_ip = controller1
    use_neutron = True
    osapi_compute_listen = controller1
    osapi_compute_listen_port = 8774
    metadata_listen = controller1
    metadata_listen_port=8775
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    enabled_apis = osapi_compute,metadata
    transport_url = rabbit://openstack:openstack@controller:5673
    
    [api_database]
    connection = mysql+pymysql://nova:nova@controller/nova_api
    [database]
    connection = mysql+pymysql://nova:nova@controller/nova
    
    [api]
    auth_strategy = keystone
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller1:11211,controller2:11211,controller3:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = nova
    
    [vnc]
    enabled = true
    vncserver_listen = $my_ip
    vncserver_proxyclient_address = $my_ip
    novncproxy_host=$my_ip
    novncproxy_port=6080
    
    [glance]
    api_servers = http://controller:9292
    [oslo_concurrency]
    lock_path = /var/lib/nova/tmp
    
    [placement]
    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    auth_type = password
    user_domain_name = Default
    auth_url = http://controller:35357/v3
    username = placement
    password = placement
    
    [scheduler]
    discover_hosts_in_cells_interval = 300
    
    [cache]
    enabled = true
    backend = oslo_cache.memcache_pool
    memcache_servers = controller1:11211,controller2:11211,controller3:11211
    #'>/etc/nova/nova.conf
    
    echo "
    
    #Placement API
    <Directory /usr/bin>
       <IfVersion >= 2.4>
          Require all granted
       </IfVersion>
       <IfVersion < 2.4>
          Order allow,deny
          Allow from all
       </IfVersion>
    </Directory>
    ">>/etc/httpd/conf.d/00-nova-placement-api.conf
    systemctl restart httpd
    sleep 2
    
    #同步数据库
    su -s /bin/sh -c "nova-manage api_db sync" nova
    su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
    su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
    su -s /bin/sh -c "nova-manage db sync" nova
    
    #检测数据
    nova-manage cell_v2 list_cells
    mysql -h controller -u nova -pnova -e "use nova_api;show tables;"
    mysql -h controller -u nova -pnova -e "use nova;show tables;" 
    mysql -h controller -u nova -pnova -e "use nova_cell0;show tables;"
    
    #更改默认端口8778给集群VIP使用
    sed -i 's/8778/9778/' /etc/httpd/conf.d/00-nova-placement-api.conf
    systemctl restart httpd #haproxy高可用配置
    echo ' ##nova_compute listen nova_compute_api_cluster bind controller:8774 balance source option tcpka option httpchk option tcplog server controller1 controller1:8774 check inter 2000 rise 2 fall 5 server controller2 controller2:8774 check inter 2000 rise 2 fall 5 server controller3 controller3:8774 check inter 2000 rise 2 fall 5 #Nova-api-metadata listen Nova-api-metadata_cluster bind controller:8775 balance source option tcpka option httpchk option tcplog server controller1 controller1:8775 check inter 2000 rise 2 fall 5 server controller2 controller2:8775 check inter 2000 rise 2 fall 5 server controller3 controller3:8775 check inter 2000 rise 2 fall 5 #nova_placement listen nova_placement_cluster bind controller:8778 balance source option tcpka option tcplog server controller1 controller1:9778 check inter 2000 rise 2 fall 5 server controller2 controller2:9778 check inter 2000 rise 2 fall 5 server controller3 controller3:9778 check inter 2000 rise 2 fall 5 '>>/etc/haproxy/haproxy.cfg systemctl restart haproxy.service netstat -antp|grep haproxy netstat -antp|egrep '8774|8778|6080' #开机自启动 systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service #启动服务 systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service #查看节点 #nova service-list openstack catalog list nova-status upgrade check openstack compute service list #########在controller2节点安装配置 # 安装nova控制节点 yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api

    #同步controller1配置并修改
    rsync -avzP -e 'ssh -p 22' controller1:/etc/nova/* /etc/nova/
    rsync -avzP -e 'ssh -p 22' controller1:/etc/httpd/conf.d/00-nova-placement-api.conf /etc/httpd/conf.d/
    rsync -avzP -e 'ssh -p 22' controller1:/etc/haproxy/* /etc/haproxy/
    sed -i '1,9s/controller1/controller2/' /etc/nova/nova.conf

    
    

    #开机自启动,启动服务nova服务 ,同上
    #重启服务
    systemctl restart httpd haproxy

    
    

    #########controller3节点安装配置
    #同controller2一样,只是替换不同 sed -i 's/controller1/controller3/' /etc/nova/nova.conf

    
    

    #nova-manage cell_v2 delete_cell --cell_uuid b736f4f4-2a67-4e60-952a-14b5a68b0f79
    # #发现计算节点,新增计算节点时执行
    #su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

  • 相关阅读:
    HDU 3564 Another LIS
    POJ 2104 K-th Number
    HYSBZ 1901 Dynamic Rankings
    HYSBZ 4321 queue2
    HYSBZ 3991 寻宝游戏
    工作中使用到的的MonogoDB查询语句记录。
    工作中使用到的的MySQL查询语句记录。
    python对文本文件的读写操作
    WRK的使用-lua脚本POST请求(静态数据)
    WRK的使用-lua脚本GET请求
  • 原文地址:https://www.cnblogs.com/elvi/p/7736691.html
Copyright © 2011-2022 走看看