01 OpenStack多节点环境部署之Controller配置详解

合集下载

OpenStack详解

OpenStack详解
3.创建云主机类型
云主机类型主要是指一些虚拟硬件设施的模板,它通过定义内存、硬盘及CPU等参数大小来限制用户对硬件设施的使用,防止因为用户申请过多的资源。Openstack允许开发者或管理员自定义云主机类型,它提供了命令行工具和Web图形界面两种方式支持云主机类型的自定义。Openstack默认提供了常用的五种云主机类型,如图3-1所示。开发者可根据实际需求自定义云主机的大小。
(1)制作操作系统镜像:创建操作系统镜像要求本地环境支持KVM以及安装vncviewer组件。首先创建一个镜像盘,如"qemu -img create -f raw windows_xp.img 10G",该命令创建了一个容量为10G、raw格式的镜像盘;接着创建KVM镜像虚拟机,通过下面的命令启动系统安装W及建立引导启动系统,kvm -m 512 –cdrom windows_xp.iso –drivefile=windows_xp.img,if=scsi,index= 0-boot d –net nic -net user -nogrephic -vnc:0;最后使用vnc viewer登录引导界面安装系统;
图3-1 OpenStack中云主机类型
0x
1.虛拟机创建流程分析
后台创建虚拟机的过程实际上是为用户创建系统环境的过程,后台根据用户选择的云主机大小和系统环境模板为用户创建一个虚拟机,虚拟机提供了用户所需的操作系统和专业的软件环境。虚拟机创建过程如图4-1所示。
图4-1虚拟机创建过程
(1)当API服务器从User处接收到一个创建虚拟机的请求时,API服务器将会通过Keystone对User的权限进行验证,如果验证通过,就把送个虚拟机创建请求发送给(云控制器);
(2)主机权衡
权值是一个经过计算的数值,用来表示宿主主机与请求的符合度。经过主机过滤筛选出符合条件的计算节点集合Hosts,对Hosts集合中的每个主机进行主机权衡,权衡过程如图4-5所示。针对每个主机调用代价函数_weight_object()进行计算,将得到的值weight进行如下处理:

openstack-cinder配置

openstack-cinder配置

openstack-cinder配置1.Cinder控制节点配置文件[DEFAULT]rpc_backend = rabbitauth_strategy = keystonemy_ip = 172.20.36.154osapi_volume_listen = 172.20.36.155[BACKEND][BRCD_FABRIC_EXAMPLE][CISCO_FABRIC_EXAMPLE][COORDINATION][FC-ZONE-MANAGER][KEYMGR][cors][cors.subdomain][database]connection = mysql+pymysql://cinder:123456@controller/cinder [keystone_authtoken]auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller1:11211,controller2:11211,controller3:11211 auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = cinderpassword = 123456[matchmaker_redis][oslo_concurrency]lock_path = /var/lib/cinder/tmp[oslo_messaging_amqp][oslo_messaging_notifications]driver = messagingv2[oslo_messaging_rabbit]rabbit_hosts = controller1:5672,controller2:5672,controller3:5672rabbit_userid = openstackrabbit_password = 123456rabbit_retry_interval=1rabbit_retry_backoff=2rabbit_max_retries=0rabbit_durable_queues=truerabbit_ha_queues=true[oslo_middleware][oslo_policy][oslo_reports][oslo_versionedobjects][ssl]2.Cinder存储节点配置文件[DEFAULT]rpc_backend = rabbitauth_strategy = keystonemy_ip = 172.20.36.153enabled_backends = netapp-iscsi201glance_api_servers = http://controller:9292host=cinderosapi_volume_listen = 172.20.36.153[BACKEND][BRCD_FABRIC_EXAMPLE][CISCO_FABRIC_EXAMPLE][COORDINATION][FC-ZONE-MANAGER][KEYMGR][cors][cors.subdomain][database]connection = mysql+pymysql://cinder:123456@controller/cinder [keystone_authtoken]auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller1:11211,controller2:11211,controller3:11211 auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = cinderpassword = 123456[matchmaker_redis][oslo_concurrency]lock_path = /var/lib/cinder/tmp[oslo_messaging_amqp][oslo_messaging_notifications]driver = messagingv2[oslo_messaging_rabbit]rabbit_hosts =controller1:5672,controller2:5672,controller3:5672rabbit_userid = openstackrabbit_password = 123456rabbit_retry_interval=1rabbit_retry_backoff=2rabbit_max_retries=0rabbit_durable_queues=truerabbit_ha_queues=true[oslo_middleware][oslo_policy][oslo_reports][oslo_versionedobjects][ssl][lvm]volume_driver = cinder.volume.drivers.lvm.LVMVolumeDrivervolume_group = cinder-volumesiscsi_protocol = iscsiiscsi_helper = lioadm[netapp-iscsi201]volume_driver = /doc/597265303.html,AppDrivernetapp_storage_family = ontap_7modenetapp_storage_protocol = iscsinetapp_server_hostname = 172.20.36.201netapp_server_port = 80netapp_login = rootnetapp_password = root1234volume_backend_name = netapp-iscsi3.Cinder-api、cinder-scheduler的高可用由于是无状态的服务,因此可直接使用pacemaker和Haproxy 完成高可用配置。

controller设置与运行

controller设置与运行

Controller设置与运行操作说明1新建场景打开controller应用设置为手动场景,添加已录制好的脚本2 设置场景本次测试中场景设置主要分为两种方式1)设置迭代次数,直到运行完后停止(此种设置一般具有明确的目标,如需登录1000个用户,即并发数*迭代数,运行完成后查看运行时间与平均响应时间等,是否满足性能需求)2)设置运行时间,时间到达后强制停止(此种设置一般具有明确的时间需求,如查看一个小时可执行多少次业务,是否满足性能需求)2.1 第一种方式1)设置迭代次数PS:场景运行时还需要修改log和Miscellaneous设置,如图2)初始化数据设置(由于并发数不是很多,可选择同时初始化)3)设置加载用户4)Duration设置,选择“run until completion”2.2 第二种方式(不需要设置迭代个数,在运行期间默认执行迭代操作)1)初始化用户设置(同上一种方法)2)设置加载用户(同上一种方法)3)Duration设置4)stop Vuser设置3 场景运行设置好场景后,点击左下角“Run”页签进入场景运行界面1)如果要看服务器性能,可先连接服务器(测试服务器为linux,没连上,建议场景运行时,登录服务器,查看服务器性能并截图)2)点击“Start Scenario”开始运行场景选中有变的监控窗口,双击左边的性能指标,可进行任意切换3)运行过程中,通过、失败事物数、错误等情况可在”Scenario Status”中查看4)运行完成后,点击“Analyze Results”,进入Analysis分析器,自动生成分析图4 测试环境下测试分析1)并发数设置为7个虚拟用户时开始出现失败事物,在同样运行1个小时的情况下,并发数为8个虚拟用户的失败事务数大于7个并发的,同时,通过事务数小于7个并发的数据,由此设定最大并发数为72)并发数为7,运行一个小时,成功业务数据为422个,即一个小时内可成功登录422个用户3)压力测试(可靠性测试),并发数为7,运行两个小时,成功业务数据为837,失败事务数据为4,成功率几近100%,可看出系统运行稳定注:平均响应时间较长,不具备参考价值,这里不做分析。

openstack操作手册

openstack操作手册

以下是使用openstack的基本操作手册:
1. 安装openstack:根据您的系统和环境要求,遵循官方的安装指南进行安装。

2. 创建项目:使用命令行或管理界面创建一个新的项目。

项目将包含一组资源,包括计算、网络和存储资源。

3. 创建网络:在项目中创建一个新的网络。

网络是用于连接云中的虚拟机和其他资源的虚拟架构。

4. 创建虚拟机:使用命令行或管理界面在项目中创建一个新的虚拟机。

您需要指定所需的配置选项,例如操作系统、处理器、内存和存储。

5. 连接到虚拟机:使用SSH或其他远程桌面工具连接到虚拟机。

您需要提供虚拟机的IP地址和密码或密钥。

6. 配置和管理虚拟机:根据需要配置和管理虚拟机,例如安装软件、配置网络设置等。

7. 创建和管理云存储:使用命令行或管理界面在项目中创建一个新的云存储后端。

您可以定义存储的容量、访问级别和其他配置选项。

8. 创建和管理镜像:使用命令行或管理界面在项目中创建一个新的镜像。

镜像是虚拟机的完整快照,可用于创建新的虚拟机实例。

9. 管理和监控资源:使用命令行或管理界面监控和管理项目中的资源使用情况,例如CPU、内存和存储。

10. 删除项目和资源:根据需要删除项目和其中的资源,以释放云资源并降低成本。

以上是openstack的基本操作手册,根据您的具体需求,您可能需要进行其他高级配置和管理操作。

建议参考openstack的官方文档以获取更详细的信息和指导。

云计算管理平台之OpenStack网络服务neutron

云计算管理平台之OpenStack网络服务neutron

云计算管理平台之OpenStack⽹络服务neutron ⼀、简介 neutron的主要作⽤是在openstack中为启动虚拟机实例提供⽹络服务,对于neutron来讲,它可以提供两种类型的⽹络;第⼀种是provider network,这种⽹络就是我们常说的桥接⽹络,虚拟机内部⽹络通常是通过bridge的⽅式直接桥接到宿主机的某块物理⽹卡上,从⽽实现虚拟机可以正常的访问外部⽹络,同时虚拟机外部⽹络也可以访问虚拟机的内部⽹络;第⼆种是self-service networks,这种⽹络就是nat⽹络;nat⽹络的实现是通过在虚拟机和宿主机之间实现了虚拟路由器,在虚拟机内部可以是⼀个私有地址连接⾄虚拟路由器的⼀个接⼝上,⽽虚拟路由器的另外⼀端通过⽹桥桥接到宿主机的某⼀张物理⽹卡;所以nat⽹络很好的隐藏了虚拟机的地址,它能够实现虚拟机访问外部⽹络,⽽外⽹⽤户是不能够直接访问虚拟机的;但在openstack中,它能够实现虚拟机和外部的⽹络做⼀对⼀nat绑定,从⽽实现从虚拟机外部⽹络访问虚拟机; self-service network ⽰意图 提⽰:self-service network 和provide network最⼤的区别是⾃服务⽹络中有虚拟路由器;有路由器就意味着虚拟机要和外⽹通信,⽹络报⽂要⾛三层,⽽对于provide network 来讲,它的⽹络报⽂就可以直接⾛⼆层⽹络;所以在openstack上这两种类型的⽹络实现⽅式和对应的组件也有所不同; provide network 实现所需组件 Provider networks - Overview Provider networks 连接⽰意图 提⽰:桥接⽹络也叫共享⽹络,虚拟机实例⽹络是通过桥接的⽅式直接共享宿主机⽹络;虚拟机和宿主机通信,就类似宿主机同局域⽹的其他主机通信⼀样;所以虚拟机和宿主机通信报⽂都不会到三层,所以这⾥⾯就不涉及三层⽹络相关的操作和配置; self-service network实现所需组件 Self-service networks - Overview Self-service networks连接⽰意图 对⽐上⾯两种⽹络的实现所需组件,我们可以发现self-service network的实现要⽐provide network要多⼀个networking L3 Agent插件;这个插件⽤作实现3层⽹络功能,⽐如,提供或管理虚拟路由器;从上⾯的两种⽹络连接⽰意图也可以看出,self-service network是包含provide network,也就是说我们选择使⽤self-service network这种类型的⽹络结构,我们即可以创建⾃服务⽹络,也可以创建桥接⽹络;对于⾃服务⽹络来讲,我们在计算节点启动的虚拟机,虚拟机想要访问外部⽹络,它会通过计算节点的vxlan接⼝,这⾥的vxlan我们可以理解为在计算节点内部实现的虚拟交换机,各虚拟机实例通过连接不同的vni(⽹络标识符,类似vlan id⼀样)的vxlan来实现⽹络的隔离,同时vxlan这个虚拟接⼝通常是桥接在本地管理⽹络接⼝上,这个管理⽹络⼀般是不能够和外部⽹络通信;虚拟机访问外部⽹络,通过vxlan接⼝实现的vxlan隧道,这个隧道是⼀头是和计算节点的管理⽹络接⼝连接,⼀头是和控制节点的管理⽹络接⼝连接;虚拟机访问外部⽹络是通过vxlan隧道,再通过控制节点中的虚拟路由器,将请求通过路由规则,路由到控制节点能够上外⽹的接⼝上,然后发出去,从⽽实现虚拟机能够和外部⽹络进⾏交互;⽽对于外部⽹络要访问虚拟机,在openstack上是通过⼀对⼀nat绑定实现;也就说在控制节点能够上外⽹的接⼝上配置很多ip地址,这些IP地址都是可以正常访问外部⽹络的,在虚拟机访问外部⽹络时,在控制节点的虚拟机路由器上就固定的把计算节点的某个虚拟机的流量通过固定SNAT的⽅式进⾏数据发送,对于这个固定地址在控制节点上再做固定的DNAT,从⽽实现外部⽹络访问控制节点上的这个固定ip,通过DNAT规则把外部流量引⼊到虚拟机,从⽽实现外部⽹络和虚拟机通信; neutron⼯作流程 neutron服务主要由neutron-server、neutron agents、neutron plugins这三个组件组成,这三者都依赖消息队列服务;其中neutron server主要⽤来接收⽤户的请求,⽐如创建或管理⽹络;当neutron server接收到客户端(openstack其他服务,如nova,neutron专有客户端)请求后,它会把请求丢到消息队列中去,然后neutron agents负责从消息队列中取出客户端的请求,在本地完成⽹络创建或管理,并把对应的操作的结果写到neutron 数据库中进⾏保存;这⾥需要说明⼀点neutron agents是指很多agent,每个agent都负责完成⼀件事,⽐如DHCP agent负责分配ip地址,network manage agent负责管理⽹络;⽽对于neutron plugins 主要⽤来借助外部插件的⽅式提供某种服务;⽐如ML2 plugin ⽤来提供2层虚拟⽹络服务的;如果neutron agents在创建或管理⽹络需要⽤到某个插件服务时,它会把请求插件的消息丢到消息队列,然后neutron plugins 从消息队列取出消息,并响应请求,把结果丢到消息队列,同时也会写到数据库中; ⼆、neutron服务的安装、配置 1、准备neutron 数据库、⽤户以及授权⽤户对neutron数据库下的所有表有所有权限;[root@node02 ~]# mysqlWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 184Server version: 10.1.20-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> CREATE DATABASE neutron;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> 验证:⽤其他主机⽤neutron⽤户,看看是否可以正常连接数据库?[root@node01 ~]# mysql -uneutron -pneutron -hnode02Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 185Server version: 10.1.20-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;+--------------------+| Database |+--------------------+| information_schema || neutron || test |+--------------------+3 rows in set (0.00 sec)MariaDB [(none)]> 2、在控制节点安装配置neutron 导出admin环境变量,创建neutron⽤户,设置其密码为neutron[root@node01 ~]# source admin.sh[root@node01 ~]# openstack user create --domain default --password-prompt neutronUser Password:+---------------------+----------------------------------+| Field | Value |+---------------------+----------------------------------+| domain_id | 47c0915c914c49bb8670703e4315a80f || enabled | True || id | e7d0eae696914cc19fb8ebb24f4b5b0f || name | neutron || options | {} || password_expires_at | None |+---------------------+----------------------------------+[root@node01 ~]# 将neutron⽤户添加⾄service项⽬,并授权为admin⾓⾊[root@node01 ~]# openstack role add --project service --user neutron admin[root@node01 ~]# 创建neutron服务[root@node01 ~]# openstack service create --name neutron \> --description "OpenStack Networking" network+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | OpenStack Networking || enabled | True || id | 3dc79e6a21e2484e8f92869e8745122c || name | neutron || type | network |+-------------+----------------------------------+[root@node01 ~]# 创建neutron服务端点(注册neutron服务) 公共端点[root@node01 ~]# openstack endpoint create --region RegionOne \> network public http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 4a8c9c97417f4764a0e61b5a7a1f3a5f || interface | public || region | RegionOne || region_id | RegionOne || service_id | 3dc79e6a21e2484e8f92869e8745122c || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+[root@node01 ~]# 私有端点[root@node01 ~]# openstack endpoint create --region RegionOne \> network internal http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 1269653296e14406920bc43db65fd8af || interface | internal || region | RegionOne || region_id | RegionOne || service_id | 3dc79e6a21e2484e8f92869e8745122c || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+[root@node01 ~]# 管理端点[root@node01 ~]# openstack endpoint create --region RegionOne \> network admin http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 8bed1c51ed6d4f0185762edc2d5afd8a || interface | admin || region | RegionOne || region_id | RegionOne || service_id | 3dc79e6a21e2484e8f92869e8745122c || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+[root@node01 ~]# 安装neutron服务组件包[root@node01 ~]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables -y 编辑neutron服务的配置⽂件/etc/neutron/neutron.conf的【DEFAULT】配置段配置连接rabbitmq相关信息以及核⼼插件和⽹络插件等; 提⽰:我这⾥选择使⽤⾃服务⽹络类型;所以这⾥要配置service_plugins = router 并且启⽤叠加⽹络选项; 在【database】配置段配置连接neutron数据库相关信息 在【keystone_authtoken】配置段配置使⽤keystone做认证的相关信息 在【DEFAULT】配置段配置⽹络通知相关选项 在【nova】配置段配置nova服务相关信息 在【oslo_concurrency】配置段配置锁路径 neutron.conf的最终配置[root@node01 ~]# grep -i ^"[a-z\[]" /etc/neutron/neutron.conf[DEFAULT]transport_url = rabbit://openstack:openstack123@node02allow_overlapping_ips = trueauth_strategy = keystonenotify_nova_on_port_status_changes = truenotify_nova_on_port_data_changes = true[agent][cors][database]connection = mysql+pymysql://neutron:neutron@node02/neutron[keystone_authtoken]www_authenticate_uri = http://controller:5000auth_url = http://controller:5000memcached_servers = node02:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = neutron[matchmaker_redis][nova]auth_url = http://controller:5000auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = novapassword = nova[oslo_concurrency]lock_path = /var/lib/neutron/tmp[oslo_messaging_amqp][oslo_messaging_kafka][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][quotas][ssl][root@node01 ~]# 配置ML2插件 编辑配置⽂件/etc/neutron/plugins/ml2/ml2_conf.ini ,在【ml2】配置段配置⽀持flat(平⾯⽹络),vlan和vxlan 提⽰:配置ML2插件之后,删除type_drivers选项中的值可能会导致数据库不⼀致;意思是初始化数据库后,如果在删除上⾯的值,可能导致数据库不⼀致的情况; 在【ml2】配置段开启租户⽹络类型为vxlan 在【ml2】配置段启⽤Linux桥接和⼆层填充机制 在【ml2】配置段中启⽤端⼝安全扩展驱动程序 在【ml2_type_flat】配置段配置flat_networks = provider 提⽰:这⾥主要是指定平⾯⽹络的名称,就是虚拟机内部⽹络叫什么名,这个名称可以⾃定义,但后⾯会⽤到把该⽹络桥接到物理⽹卡中的配置,以及后续的创建⽹络都要⽤到这名称,请确保后续的名称和这⾥的名称保持⼀致; 在【ml2_type_vxlan】配置段中配置vxlan的标识范围 在【securitygroup】配置段启⽤ipset ml2_conf.ini的最终配置[root@node01 ~]# grep -i ^"[a-z\[]" /etc/neutron/plugins/ml2/ml2_conf.ini[DEFAULT][l2pop][ml2]type_drivers = flat,vlan,vxlantenant_network_types = vxlanmechanism_drivers = linuxbridge,l2populationextension_drivers = port_security[ml2_type_flat]flat_networks = provider[ml2_type_geneve][ml2_type_gre][ml2_type_vlan][ml2_type_vxlan]vni_ranges = 1:1000[securitygroup]enable_ipset = true[root@node01 ~]# 配置linux bridge agent 编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini,在【linux_bridge】配置段配置provider⽹络映射到物理的那个接⼝ 提⽰:这⾥主要是配置把把虚拟机内部的那个⽹络和物理接⼝的桥接映射,请确保虚拟机内部⽹络名称和这⾥配置的保持⼀致;冒号前指定虚拟机内部⽹络名称,冒号后⾯指定要桥接的物理⽹卡接⼝名称; 在【vxlan】配置段配置启⽤vxlan,并配置本地管理ip地址和开启l2_population 提⽰:local_ip写控制节点的管理ip地址(如果有多个ip地址的话); 在【securitygroup】配置段配置启⽤安全组并配置Linux bridge iptables防⽕墙驱动程序 linuxbridge_agent.ini的最终配置[root@node01 ~]# grep -i ^"[a-z\[]" /etc/neutron/plugins/ml2/linuxbridge_agent.ini[DEFAULT][agent][linux_bridge]physical_interface_mappings = provider:ens33[network_log][securitygroup]enable_security_group = truefirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver[vxlan]l2_population = true[root@node01 ~]# 确定br_netfilter内核模块是加载启⽤,若没加载,加载内核模块并配置相关内核参数[root@node01 ~]# lsmod |grep br_netfilter[root@node01 ~]# modprobe br_netfilter[root@node01 ~]# lsmod |grep br_netfilterbr_netfilter 22209 0bridge 136173 1 br_netfilter[root@node01 ~]# 配置相关内核参数[root@node01 ~]# sysctl -pnet.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1[root@node01 ~]# 配置L3 agent 编辑/etc/neutron/l3_agent.ini配置⽂件,在【DEFAULT】配置段⽹络接⼝驱动为linuxbridge[DEFAULT]interface_driver = linuxbridge 配置DHCP agent 编辑/etc/neutron/dhcp_agent.ini配置⽂件,在【DEFAULT】配置段配置⽹络接⼝驱动为linuxbridge,启⽤元数据隔离,并配置dhcp驱动程序[DEFAULT]interface_driver = linuxbridgedhcp_driver = neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata = true 配置metadata agent 编辑/etc/neutron/metadata_agent.ini配置⽂件,在【DEFAULT】配置段配置metadata server地址和共享密钥[DEFAULT]nova_metadata_host = controllermetadata_proxy_shared_secret = METADATA_SECRET 提⽰:metadata_proxy_shared_secret 这个是配置共享密钥的参数,后⾯的密钥可以随机⽣成,也可以设定任意字符串; 配置nova服务使⽤neutron服务 编辑/etc/nova/nova.conf配置⽂件,在【neutron】配置段配置neutron相关信息[neutron]url = http://controller:9696auth_url = http://controller:5000auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = neutronpassword = neutronservice_metadata_proxy = truemetadata_proxy_shared_secret = METADATA_SECRET 提⽰:这⾥的metadata_proxy_shared_secret要和上⾯配置的metadata agent中配置的密钥保持⼀致即可; 将ml2的配置⽂件软连接到/etc/neutron/plugin.ini[root@node01 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini[root@node01 ~]# ll /etc/neutron/total 132drwxr-xr-x 11 root root 260 Oct 31 00:03 conf.d-rw-r----- 1 root neutron 10867 Oct 31 01:23 dhcp_agent.ini-rw-r----- 1 root neutron 14466 Oct 31 01:23 l3_agent.ini-rw-r----- 1 root neutron 11394 Oct 31 01:30 metadata_agent.ini-rw-r----- 1 root neutron 72285 Oct 31 00:25 neutron.conflrwxrwxrwx 1 root root 37 Oct 31 01:36 plugin.ini -> /etc/neutron/plugins/ml2/ml2_conf.inidrwxr-xr-x 3 root root 17 Oct 31 00:03 plugins-rw-r----- 1 root neutron 12689 Feb 28 2020 policy.json-rw-r--r-- 1 root root 1195 Feb 28 2020 rootwrap.conf[root@node01 ~]# 初始化neutron数据库[root@node01 ~]# 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" neutronINFO [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 -> kiloINFO [alembic.runtime.migration] Running upgrade kilo -> 354db87e3225INFO [alembic.runtime.migration] Running upgrade 354db87e3225 -> 599c6a226151INFO [alembic.runtime.migration] Running upgrade 599c6a226151 -> 52c5312f6bafINFO [alembic.runtime.migration] Running upgrade 52c5312f6baf -> 313373c0ffeeINFO [alembic.runtime.migration] Running upgrade 313373c0ffee -> 8675309a5c4fINFO [alembic.runtime.migration] Running upgrade 8675309a5c4f -> 45f955889773INFO [alembic.runtime.migration] Running upgrade 45f955889773 -> 26c371498592INFO [alembic.runtime.migration] Running upgrade 26c371498592 -> 1c844d1677f7INFO [alembic.runtime.migration] Running upgrade 1c844d1677f7 -> 1b4c6e320f79INFO [alembic.runtime.migration] Running upgrade 1b4c6e320f79 -> 48153cb5f051INFO [alembic.runtime.migration] Running upgrade 48153cb5f051 -> 9859ac9c136INFO [alembic.runtime.migration] Running upgrade 9859ac9c136 -> 34af2b5c5a59INFO [alembic.runtime.migration] Running upgrade 34af2b5c5a59 -> 59cb5b6cf4dINFO [alembic.runtime.migration] Running upgrade 59cb5b6cf4d -> 13cfb89f881aINFO [alembic.runtime.migration] Running upgrade 13cfb89f881a -> 32e5974ada25INFO [alembic.runtime.migration] Running upgrade 32e5974ada25 -> ec7fcfbf72eeINFO [alembic.runtime.migration] Running upgrade ec7fcfbf72ee -> dce3ec7a25c9INFO [alembic.runtime.migration] Running upgrade dce3ec7a25c9 -> c3a73f615e4INFO [alembic.runtime.migration] Running upgrade c3a73f615e4 -> 659bf3d90664INFO [alembic.runtime.migration] Running upgrade 659bf3d90664 -> 1df244e556f5INFO [alembic.runtime.migration] Running upgrade 19f26505c74f -> 15be73214821INFO [alembic.runtime.migration] Running upgrade 15be73214821 -> b4caf27aae4INFO [alembic.runtime.migration] Running upgrade b4caf27aae4 -> 15e43b934f81INFO [alembic.runtime.migration] Running upgrade 15e43b934f81 -> 31ed664953e6INFO [alembic.runtime.migration] Running upgrade 31ed664953e6 -> 2f9e956e7532INFO [alembic.runtime.migration] Running upgrade 2f9e956e7532 -> 3894bccad37fINFO [alembic.runtime.migration] Running upgrade 3894bccad37f -> 0e66c5227a8aINFO [alembic.runtime.migration] Running upgrade 0e66c5227a8a -> 45f8dd33480bINFO [alembic.runtime.migration] Running upgrade 45f8dd33480b -> 5abc0278ca73INFO [alembic.runtime.migration] Running upgrade 5abc0278ca73 -> d3435b514502INFO [alembic.runtime.migration] Running upgrade d3435b514502 -> 30107ab6a3eeINFO [alembic.runtime.migration] Running upgrade 30107ab6a3ee -> c415aab1c048INFO [alembic.runtime.migration] Running upgrade c415aab1c048 -> a963b38d82f4INFO [alembic.runtime.migration] Running upgrade kilo -> 30018084ec99INFO [alembic.runtime.migration] Running upgrade 30018084ec99 -> 4ffceebfadaINFO [alembic.runtime.migration] Running upgrade 4ffceebfada -> 5498d17be016INFO [alembic.runtime.migration] Running upgrade 5498d17be016 -> 2a16083502f3INFO [alembic.runtime.migration] Running upgrade 2a16083502f3 -> 2e5352a0ad4dINFO [alembic.runtime.migration] Running upgrade 2e5352a0ad4d -> 11926bcfe72dINFO [alembic.runtime.migration] Running upgrade 11926bcfe72d -> 4af11ca47297INFO [alembic.runtime.migration] Running upgrade 4af11ca47297 -> 1b294093239cINFO [alembic.runtime.migration] Running upgrade 1b294093239c -> 8a6d8bdae39INFO [alembic.runtime.migration] Running upgrade 8a6d8bdae39 -> 2b4c2465d44bINFO [alembic.runtime.migration] Running upgrade 2b4c2465d44b -> e3278ee65050INFO [alembic.runtime.migration] Running upgrade e3278ee65050 -> c6c112992c9INFO [alembic.runtime.migration] Running upgrade c6c112992c9 -> 5ffceebfadaINFO [alembic.runtime.migration] Running upgrade 5ffceebfada -> 4ffceebfcdcINFO [alembic.runtime.migration] Running upgrade 4ffceebfcdc -> 7bbb25278f53INFO [alembic.runtime.migration] Running upgrade 7bbb25278f53 -> 89ab9a816d70INFO [alembic.runtime.migration] Running upgrade 89ab9a816d70 -> c879c5e1ee90INFO [alembic.runtime.migration] Running upgrade c879c5e1ee90 -> 8fd3918ef6f4INFO [alembic.runtime.migration] Running upgrade 8fd3918ef6f4 -> 4bcd4df1f426INFO [alembic.runtime.migration] Running upgrade 4bcd4df1f426 -> b67e765a3524INFO [alembic.runtime.migration] Running upgrade a963b38d82f4 -> 3d0e74aa7d37INFO [alembic.runtime.migration] Running upgrade 3d0e74aa7d37 -> 030a959ceafaINFO [alembic.runtime.migration] Running upgrade 030a959ceafa -> a5648cfeeadfINFO [alembic.runtime.migration] Running upgrade a5648cfeeadf -> 0f5bef0f87d4INFO [alembic.runtime.migration] Running upgrade 0f5bef0f87d4 -> 67daae611b6eINFO [alembic.runtime.migration] Running upgrade 67daae611b6e -> 6b461a21bcfcINFO [alembic.runtime.migration] Running upgrade 6b461a21bcfc -> 5cd92597d11dINFO [alembic.runtime.migration] Running upgrade 5cd92597d11d -> 929c968efe70INFO [alembic.runtime.migration] Running upgrade 929c968efe70 -> a9c43481023cINFO [alembic.runtime.migration] Running upgrade a9c43481023c -> 804a3c76314cINFO [alembic.runtime.migration] Running upgrade 804a3c76314c -> 2b42d90729daINFO [alembic.runtime.migration] Running upgrade 2b42d90729da -> 62c781cb6192INFO [alembic.runtime.migration] Running upgrade 62c781cb6192 -> c8c222d42aa9INFO [alembic.runtime.migration] Running upgrade c8c222d42aa9 -> 349b6fd605a6INFO [alembic.runtime.migration] Running upgrade 349b6fd605a6 -> 7d32f979895fINFO [alembic.runtime.migration] Running upgrade 7d32f979895f -> 594422d373eeINFO [alembic.runtime.migration] Running upgrade 594422d373ee -> 61663558142cINFO [alembic.runtime.migration] Running upgrade 61663558142c -> 867d39095bf4, port forwarding INFO [alembic.runtime.migration] Running upgrade b67e765a3524 -> a84ccf28f06aINFO [alembic.runtime.migration] Running upgrade a84ccf28f06a -> 7d9d8eeec6adINFO [alembic.runtime.migration] Running upgrade 7d9d8eeec6ad -> a8b517cff8abINFO [alembic.runtime.migration] Running upgrade a8b517cff8ab -> 3b935b28e7a0INFO [alembic.runtime.migration] Running upgrade 3b935b28e7a0 -> b12a3ef66e62INFO [alembic.runtime.migration] Running upgrade b12a3ef66e62 -> 97c25b0d2353INFO [alembic.runtime.migration] Running upgrade 97c25b0d2353 -> 2e0d7a8a1586INFO [alembic.runtime.migration] Running upgrade 2e0d7a8a1586 -> 5c85685d616dOK[root@node01 ~]# 验证:连接neutron数据库中是否有表⽣成?MariaDB [(none)]> use neutronReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedMariaDB [neutron]> show tables;+-----------------------------------------+| Tables_in_neutron |+-----------------------------------------+| address_scopes || agents || alembic_version || allowedaddresspairs || arista_provisioned_nets || arista_provisioned_tenants || arista_provisioned_vms || auto_allocated_topologies || bgp_peers || bgp_speaker_dragent_bindings || bgp_speaker_network_bindings || bgp_speaker_peer_bindings || bgp_speakers || brocadenetworks || brocadeports || cisco_csr_identifier_map || cisco_hosting_devices || cisco_ml2_apic_contracts || cisco_ml2_apic_host_links || cisco_ml2_apic_names || cisco_ml2_n1kv_network_bindings || cisco_ml2_n1kv_network_profiles || cisco_ml2_n1kv_policy_profiles || cisco_ml2_n1kv_port_bindings || cisco_ml2_n1kv_profile_bindings || cisco_ml2_n1kv_vlan_allocations || cisco_ml2_n1kv_vxlan_allocations || cisco_ml2_nexus_nve || cisco_ml2_nexusport_bindings || cisco_port_mappings || cisco_router_mappings || consistencyhashes || default_security_group || dnsnameservers || dvr_host_macs || externalnetworks || extradhcpopts || firewall_policies || firewall_rules || firewalls || flavors || flavorserviceprofilebindings || floatingipdnses || floatingips || ha_router_agent_port_bindings || ha_router_networks || ha_router_vrid_allocations || healthmonitors || ipallocations || ipamallocationpools || ipamallocations || ipamsubnets || ipsec_site_connections || ipsecpeercidrs || ipsecpolicies || logs || lsn || lsn_port || maclearningstates || members || meteringlabelrules || meteringlabels || ml2_brocadenetworks || ml2_brocadeports || ml2_distributed_port_bindings || ml2_flat_allocations || ml2_geneve_allocations || ml2_geneve_endpoints || ml2_gre_allocations || ml2_gre_endpoints || ml2_nexus_vxlan_allocations || ml2_nexus_vxlan_mcast_groups || ml2_port_binding_levels || ml2_port_bindings || ml2_ucsm_port_profiles || ml2_vlan_allocations || ml2_vxlan_allocations || ml2_vxlan_endpoints || multi_provider_networks || networkconnections || networkdhcpagentbindings || networkdnsdomains || networkgatewaydevicereferences || networkgatewaydevices || networkgateways || networkqueuemappings || networkrbacs || networks || networksecuritybindings || networksegments || neutron_nsx_network_mappings || neutron_nsx_port_mappings || neutron_nsx_router_mappings || neutron_nsx_security_group_mappings | | nexthops || nsxv_edge_dhcp_static_bindings || nsxv_edge_vnic_bindings || nsxv_firewall_rule_bindings || nsxv_internal_edges || nsxv_internal_networks || nsxv_port_index_mappings || nsxv_port_vnic_mappings || nsxv_router_bindings || nsxv_router_ext_attributes || nsxv_rule_mappings || nsxv_security_group_section_mappings | | nsxv_spoofguard_policy_network_mappings | | nsxv_tz_network_bindings || nsxv_vdr_dhcp_bindings || nuage_net_partition_router_mapping || nuage_net_partitions || nuage_provider_net_bindings || nuage_subnet_l2dom_mapping || poolloadbalanceragentbindings || poolmonitorassociations || pools || poolstatisticss || portbindingports || portdataplanestatuses || portdnses || portforwardings || portqueuemappings || ports || portsecuritybindings || providerresourceassociations || provisioningblocks || qos_bandwidth_limit_rules || qos_dscp_marking_rules || qos_fip_policy_bindings || qos_minimum_bandwidth_rules || qos_network_policy_bindings || qos_policies || qos_policies_default || qos_port_policy_bindings || qospolicyrbacs || qosqueues || quotas || quotausages || reservations || resourcedeltas || router_extra_attributes || routerl3agentbindings || routerports || routerroutes || routerrules || routers || securitygroupportbindings || securitygrouprules || securitygroups || segmenthostmappings || serviceprofiles || sessionpersistences || standardattributes || subnet_service_types || subnetpoolprefixes || subnetpools || subnetroutes || subnets || subports || tags || trunks || tz_network_bindings || vcns_router_bindings || vips || vpnservices |+-----------------------------------------+167 rows in set (0.00 sec)MariaDB [neutron]>[root@node01 ~]# systemctl restart openstack-nova-api.service[root@node01 ~]# ss -tnlState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 128 *:9292 *:*LISTEN 0 128 *:22 *:*LISTEN 0 100 127.0.0.1:25 *:*LISTEN 0 100 *:6080 *:*LISTEN 0 128 *:8774 *:*LISTEN 0 128 *:8775 *:*LISTEN 0 128 *:9191 *:*LISTEN 0 128 :::80 :::*LISTEN 0 128 :::22 :::*LISTEN 0 100 ::1:25 :::*LISTEN 0 128 :::5000 :::*LISTEN 0 128 :::8778 :::*[root@node01 ~]# 提⽰:重启确保nova-api服务的8774和8775端⼝正常监听; 启动neutron相关服务,并将其设置为开机启动[root@node01 ~]# systemctl start neutron-server.service \> neutron-linuxbridge-agent.service neutron-dhcp-agent.service \> neutron-metadata-agent.service[root@node01 ~]# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.serviceCreated 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.service.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@node01 ~]# ss -tnlState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 128 *:9292 *:*LISTEN 0 128 *:22 *:*LISTEN 0 100 127.0.0.1:25 *:*LISTEN 0 128 *:9696 *:*LISTEN 0 100 *:6080 *:*LISTEN 0 128 *:8774 *:*LISTEN 0 128 *:8775 *:*LISTEN 0 128 *:9191 *:*LISTEN 0 128 :::80 :::*LISTEN 0 128 :::22 :::*LISTEN 0 100 ::1:25 :::*LISTEN 0 128 :::5000 :::*LISTEN 0 128 :::8778 :::*[root@node01 ~]# 提⽰:请确保9696端⼝正常监听; 如果我们选⽤的是self-service network 我们还需要启动L3 agent 服务,并将其设置为开机启动[root@node01 ~]# systemctl start neutron-l3-agent.service[root@node01 ~]# systemctl enable neutron-l3-agent.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/neutron-l3-agent.service to /usr/lib/systemd/system/neutron-l3-agent.service.[root@node01 ~]# 到此控制节点的neutron服务就配置好了 3、在计算节点安装配置neutron服务 安装neutron相关服务包[root@node03 ~]# yum install openstack-neutron-linuxbridge ebtables ipset -y 编辑/etc/neutron/neutron.conf,在【DEFAULT】配置段配置连接rabbitmq相关信息,以及配置认证策略为keystone 在【keystone_authtoken】配置段配置keystone认证相关信息 在【oslo_concurrency】配置段配置锁路径 neutron.conf最终配置[root@node03 ~]# grep -i ^"[a-z\[]" /etc/neutron/neutron.conf[DEFAULT]transport_url = rabbit://openstack:openstack123@node02auth_strategy = keystone[agent][cors][database][keystone_authtoken]www_authenticate_uri = http://controller:5000auth_url = http://controller:5000memcached_servers = node02:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = neutron[matchmaker_redis][nova][oslo_concurrency]lock_path = /var/lib/neutron/tmp[oslo_messaging_amqp][oslo_messaging_kafka][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][quotas][ssl][root@node03 ~]# 配置linux bridge agent 编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini配置⽂件,在【linux_bridge】配置段配置provider⽹络映射到物理的那个接⼝ 提⽰:这⾥冒号前边的是虚拟机内部⽹络名称,这个名称请确保和控制节点上配置的虚拟机内部⽹络名称相同;冒号后⾯的是配置要桥接的物理接⼝名称; 在【vxlan】配置段配置启⽤vxlan,并配置本地管理ip地址和开启l2_population 在【securitygroup】配置段配置启⽤安全组并配置Linux bridge iptables防⽕墙驱动程序。

OpenStack云计算平台搭建与管理 第7讲 基础环境配置——安装时间同步服务

OpenStack云计算平台搭建与管理 第7讲 基础环境配置——安装时间同步服务

时间同步是为整个计算机集群提供统一 时间标准的服务,Chrony在CentOS7中自 带的时间同步软件,我们不需要安装它 就可以直接配置使用。
把控制节点配置为 时间服务器 启动时间同步服务: 重启服务 systemctl restart chronyd
设置开机启动 systemctl enable chronyd
在计算节点配置与控制节点同步
编辑配置文件:/etc/chrony.conf 删除默认的外网同步服务器 增加 server controller iburst
云计算基础平台搭务
问题引入
因为云计算平台是个计算机集群,必然包 含多台服务器,如我们实验都用了两台服 务器。要让所有服务器协同工作,我们需 要将所有的服务器进行时间同步,也就是 保持所有服务器处于相同的时间。
安装
软件框架
我们选用Chrony软件进行时间同步,让计算节点保持与 控制节点的时间一致。Chrony是一个开源的自由软件, 在CentOS7操作系统中是默认服务。Chrony包括两个核 心组件: chronyd:后台一直运行的守护进程,用于调整内核中运 行的系统时钟与网络时间服务器同步。 chronyc:命令行的用户管理组件,用于监控性能并进行 多样化的配置。
把控制节点配置为 时间服务器
由于chrony在CentOS7中已经默认安装 好,我们只需要配置服务器即可。编 辑配置文件:/etc/chrony.conf
把控制节点配置为 时间服务器
删除默认的外网同步服务器: server iburst server iburst server iburst server iburst 增加 server iburst allow 192.168.10.0/24

OpenStack——云平台使用

OpenStack——云平台使用

OpenStack——云平台使⽤⼀、如何创建云主机使⽤双节点部署,控制节点(controller):192.168.16.10,计算节点(compute):192.168.16.20(⼀)、创建镜像1、在控制节点中找到qcow2镜像[root@controller ~]# cd /opt/iaas/images/[root@controller images]# lsCentOS_6.5_x86_64_XD.qcow2 CentOS_7.2_x86_64_XD.qcow2 MySQL_5.6_XD.qcow22、通过glance命令,将qcow2镜像上传到平台[root@controller images]# source /etc/keystone/admin-openrc.sh[root@controller images]# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2(⼆)、创建⽹络1、创建外部⽹络选择菜单栏:项⽬ -> ⽹络 -> ⽹络。

单击“创建⽹络”,来创建虚拟机⽹络。

创建⽹络名称为net-gre,配置⼦⽹名称为net-subnet,⽹络地址为192.168.20.0/24,⽹关为192.168.20.2。

再配置DHCP地址池,激活DHCP,配置DNS为114.114.114.114。

点击“已创建”创建⽹络。

选择菜单栏:管理员 -> 系统 -> ⽹络。

对已创建的net-gre⽹络,点击 “编辑⽹络”,在弹框中勾选“外部⽹络”。

2、创建内部⽹络选择菜单栏:项⽬ -> ⽹络 -> ⽹络。

单击“创建⽹络”,来创建虚拟机⽹络。

创建⽹络名称为int-gre,配置⼦⽹名称为int-subnet,⽹络地址为10.10.0.0/24,⽹关为10.10.0.1。

openstack 双网卡 双节点 安装v2

openstack 双网卡 双节点 安装v2

环境:硬件及系统配置1.华硕PC机两台,主要openstack相关配置如下:●双网卡(eth0为主板集成网卡,eth1为自己购买的TPLINK TF3239DL,插在主板PCI卡槽上,注意:在ubuntu上即插即用)●i5-3350P四核●4G 内存●500G 硬盘2.网络设备机●TP-LINK TL-SF1005+ 5口百兆交换机●腾达普通路由器(办公室多人办公使用)3.物理网络连接●controller:eth0 链接外网(路由器)ip 192.168.1.10eth1 链接交换机ip 10.0.0.10●compute1:eth0 链接路由器ip 192.168.1.11eth1 链接交换机ip 10.0.0.11Havana 官方安装手册简单网络图(P4)4.系统Ubuntu server 12.04LTS ubuntu官网下载分区:/dev/sda1 95989516 2428756 88678024 3% //dev/sda2 95990540 61104 91046648 1% /nova-swift/dev/sda5 95989516 61104 91045676 1% /nova-volume/dev/sda6 139798464 60956 132629464 1% /home其中/dev/sda3为swap交换分区(要大于内存两倍,负责机器无法进入自动休眠,现在内存为4G,可能远远不够,因此暂时设置为50G)安装前准备网络配置/etc/network/interfaces1.控制节点controller:auto loiface lo inet loopback# The primary network interface#auto eth0#iface eth0 inet dhcp# Internal Networkauto eth1iface eth1 inet staticaddress 10.0.0.10netmask 255.255.255.0# External Networkauto eth0iface eth0 inet staticaddress 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 192.168.1.1计算节点compute1:auto loiface lo inet loopback# The primary network interface#auto eth0#iface eth0 inet dhcp# Internal Networkauto eth1iface eth1 inet staticaddress 10.0.0.11netmask 255.255.255.0# External Networkauto eth0iface eth0 inet staticaddress 192.168.1.11netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 192.168.1.12.重启网络# /etc/init.d/networking restart更改主机名字1./etc/hostname中修改为controller2.为实现各机器间的互联配置在controller和所有节点配置vi /etc/hosts127.0.0.1 localhost10.0.0.10 controller 注意不是:192.168.1.10 controller10.0.0.11 compute1 注意不是:192.168.1.11 compute13.重启,执行hostname 看修改是否生效安装Network Time Protocol (NTP)所有节点执行:# apt-get install ntp获取用于service的密码在执行数据库、消息服务器配置时,为了安全需要用到随机密码,同时使用该随机密码,使用连通这些服务:root@controller:/home/server1# openssl rand -hex 10a8aedb272ddb43cc3b62数据库mysql安装控制节点安装1.安装mysql-server 和python库文件# apt-get install python-mysqldb mysql-server2.修改配置:/etc/mysql/f[mysqld]bind-address = 10.0.0.10 (controller ip)3.重启mysql:# service mysql restart4.如果是新安装mysql删除匿名用户:# mysql_secure_installationnote:This command presents a number of options for you to secure your database installation. Respond yesto all prompts unless you have a good reason to do otherwise.计算节点安装所有计算节点安装python-mysqldb mysql-client#apt-get install python-mysqldb mysql-client安装havana架构所有节点:1. 安装ubuntu Havana 架构:# apt-get install python-software-properties# add-apt-repository cloud-archive:havana2. 更新源,升级系统# apt-get update && apt-get dist-upgrade# reboot消息服务controller节点安装:1.安装rabbitmq# apt-get install rabbitmq-server2.rabbitmq 安装时默认密码账户guest/guest不安全所以修改密码# rabbitmqctl change_password guest RABBIT_PASS环境变量文件env.sh 注意source该文件export OS_USERNAME=adminexport OS_PASSWORD=ADMIN_PASSexport OS_TENANT_NAME=adminexport OS_AUTH_URL=http://controller:35357/v2.0export OS_AUTH_URL=http://controller:5000/v2.0export OS_SERVER_TOKEN= d42bb2198d68afa0ca33身份认证服务keystone用于创建管理服务、租户等,每一个项目都要在keystone当中备案。

openstack的安装和部署

openstack的安装和部署

openstack的安装和部署1.什么是云计算1:什么是云计算?云计算是通过虚拟化技术去实现的,它是⼀种按量付费的模式!2:为什么要⽤云计算?⼩公司:1年,20⼈+,500w,招⼀个运维,15k,(10台*1.5w,托管IDC机房,8k/年,带宽 100M,5个公⽹ip, 10k/⽉), 买10台云主机,600*10=6000⼤公司:举⾏活动,加集群,把闲置时间出租,超卖(kvm)16G,kvm,64G(ksm),⾦牌⽤户(200w+/⽉)3:云计算有哪些功能?虚拟机的管理平台(计费)kvm:1000宿主机(agent),虚拟出2w虚拟机,虚拟机的详细情况:硬件资源,ip情况统计?虚拟机管理平台:每台虚拟机的管理,都⽤数据库来统计4:云计算的服务类型IAAS 基础设施即服务 ECS云主机⾃⼰部署环境,⾃⼰管理代码和数据infrastructure as an servicePAAS(docker) 平台即服务提供软件的运⾏环境,java ,python,go, c#,nodejs ⾃⼰管理代码和数据platfrom as an serviceSAAS 软件即服务企业邮箱,cdn,rdssoftware as an serviceopenstack实现的是云计算IAAS,开源的云计算平台,apache 2.0,阿⾥云(飞天云平台)2.openstack (soa架构)云平台(keystone认证服务,glance镜像服务,nova计算服务,neutron⽹络服务,cinder存储服务,horizon web界⾯)每个服务:数据库,消息队列,memcached缓存,时间同步⾸页/index.html秒杀/miaosha/index.html会员:/plus/index.html登录:/login/indexnginx+php +mysql(500张表)SOA(拆业务,把每⼀个功能都拆成⼀个独⽴的web服务,每⼀个独⽴的web服务,⾄少拥有⼀个集群)微服务架构:亿级⽤户开源的微服框架阿⾥开源的dubbospring boot⾃动化代码上线 Jenkins + gitlab ci⾃动化代码质量检查 sonarqube官⽹:openstack 版本A-Z 开头3.虚拟机规划controller:内存3G,cpu开启虚拟化,ip:10.0.0.11compute01:内存1G,cpu开启虚拟化(必开),ip:10.0.0.31host解析,[root@controller ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.11 controller10.0.0.31 computer1[root@controller ~]# scp -rp /etc/hosts 10.0.0.31 /etc/hosts4.配置yum源1.挂载光盘[root@computer1 ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@controller ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only#查看(如果有内容代表挂载成功)[root@computer1 ~]# ll /mnttotal 686-rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTagdrwxr-xr-x 3 root root 2048 Nov 26 2018 EFI-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPLdrwxr-xr-x 3 root root 2048 Nov 26 2018 imagesdrwxr-xr-x 2 root root 2048 Nov 26 2018 isolinuxdrwxr-xr-x 2 root root 2048 Nov 26 2018 LiveOSdrwxrwxr-x 2 root root 663552 Nov 26 2018 Packagesdrwxrwxr-x 2 root root 4096 Nov 26 2018 repodata-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL[root@controller ~]# scp -rp openstack_rpm.tar.gz 10.0.0.31:/optrz 上传openstack_rpm.tar.gz到/opt,并解压⽣成repo配置⽂件root@controller opt]# vim/etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntgpgcheck=0[openstack]name=openstackbaseurl=file:///opt/repogpgcheck=0root@controller opt]#echo 'mount /dev/cdrom /mnt' >>/etc/rc.localroot@controller opt]# chmod +x /etc/rc.d/rc.local[root@controller opt]# scp -rp /etc/yum.repos.d/local.repo 10.0.0.31:/etc/yum.repos.d/local.repo [root@computer1 opt]# vim /etc/yum.repos.d/local.repo[root@computer1 opt]# echo 'mount /dev/cdrom /mnt' >>/etc/rc.local[root@computer1 opt]# chmod +x /etc/rc.d/rc.local#注意:两台都要配2.安装基础服务在所有节点上执⾏:a:时间同步[root@controller opt]# yum install -y chrony[root@computer1 opt]# yum install -y chrony#编辑控制节点配置⽂件[root@controller opt]# vim /etc/chrony.conf1.将 server iburst 改成server iburst另三⾏删掉2.将 #allow 192.168.0.0/1改成allow 10.0.0.0/24#重启服务[root@controller opt]# vim /etc/chrony.confsystemctl restart chronyd#编辑计算节点[root@computer1 opt]# vim /etc/chrony.conf将 server iburst 改成server 10.0.0.11 iburst另三⾏删掉[root@computer1 opt]# systemctl restart chronyd5.安装openstack客户端和openstack-selinux1.在所有节点上执⾏[root@control ~]# yum install python-openstackclient openstack-selinux -y[root@computer1 ~]# yum install python-openstackclient openstack-selinux -y查看官⽅⽂档6.安装数据库以及安全初始化2.仅控制节点执⾏:[root@control ~]# yum install mariadb mariadb-server python2-PyMySQL -y在官⽅⽂档上有https:///mitaka/zh_CN/install-guide-obs/environment-sql-database.html3.创建并编辑 /etc/f.d/f[root@control ~]# cat /etc/f.d/f[mysqld]bind-address = 10.0.0.11 # 值为控制节点的管理⽹络IP地址以使得其它节点可以通过管理⽹络访问数据库default-storage-engine = innodb #默认存储引擎innodb_file_per_table #为每个表独⽴表空间⽂件max_connections = 4096 #最⼤连接数collation-server = utf8_general_ci # 默认字符集character-set-server = utf84.启动mariadb 并加⼊开机⾃启[root@control ~]# systemctl start mariadb[root@control ~]# systemctl enable mariadb5. 为了保证数据库服务的安全性,运⾏[root@control ~]# mysql_secure_installation ⼀定要执⾏要不然后⾯时间同步会有坑脚本。

openstack安装配置文档

openstack安装配置文档

openstack(kilo版)安装配置文档写在前面:本文档所有指令在拷贝的时候注意空格和换行,由于文档的排版原因可能会出现自动换行等误差。

一、实验环境物理机器上的3台虚拟机分别模拟控制节点、网络节点、计算节点。

采用VMware虚拟机管理软件,首先建立一个模板,在上面安装第五部分所涉及到的基本组件,分别克隆出3台虚拟机作为控制、网络、计算节点。

虚拟机操作系统为Ubuntu 14.04.3,openstack版本为kilo版。

所需各部分组件均采用apt-get自动安装。

二、openstack的两种常用上网方式1、在官方文档的三个网卡基础上,我们使用第四个网卡上网(NAT 方式或桥接方式均可)。

另外三个网卡采用host-only方式。

2、使用管理网络上网。

本文采用第二种方式对网络进行配置,即将管理网络根据自己的网络环境配置成可上网的IP地址段(NAT和host-only均可)。

由于对第一种方式进行尝试时最终会遇到ping不通外网的情况,所以不建议尝试。

具体可见/thread-13508-1-1.html三、各节点的网络配置各节点建立好以后,根据openstack-install-guide-apt-kilo官方文档对各节点进行网络配置。

本例采用OpenStack Networking (neutron)方式进行网络配置。

使用OpenStack网络(neutron)的架构样例中,需要一个控制节点、一个网络节点以及至少一个计算节点。

控制节点包含一个在管理网络上的网络接口。

网络节点在包含一个在管理网络上的网络接口,一个在实例隧道网络上的网络接口和一个在外部网络上的网络接口。

计算节点包含一个在管理网络上的网络接口和一个在实例隧道网络上的接口。

所以此时需要在虚拟机管理界面添加虚拟网络,由于采用第二部分提到的第二种方式(即管理网络上网),所以网络分配如下:◆管理网络使用 192.168.109.0/24 带有网关 192.168.109.2◆实例隧道网络使用 10.0.1.0/24 无网关◆外部通道网络使用192.168.109.0/24 带有网关192.168.109.2首先需要配置管理网络采用NAT方式上网:VMware默认VMnet8为NAT模式,打开系统的网络适配器设置,可以看到VMnet8的网络配置信息,如下图:这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。

openstack安装配置详细手册(单节点)

openstack安装配置详细手册(单节点)

openstack安装配置手册目录一、控制节点系统及环境安装 (1)1:准备光盘 (1)2:安装OS (1)3:设置root权限 (1)4:设置网络 (1)5:安装bridge (2);6:设置NTP () (2)7:设置Iscsi (2)8:安装rabbitmq (2)二:安装mysql和创建相关数据库 (2)1:安装mysql (2)2:安装phpmyadmin (2)3:创建数据库 (2)三:安装和配置keystone (2)¥1:安装keystone (2)2:配置keystone (2)创建服务 (2)3:验证安装 (2)四:安装和配置glance (2)1:安装软件 (2)2:配置/etc/glance/ (2)3:设置/etc/glance/ (2)¥4:配置/etc/glance/ (2)5:配置/etc/glance/ (2)6:同步数据库 (2)7:验证glance服务是否正常 (2)8:下载镜像并上传 (2)五:安装配置nova (2)1:安装nova相关组件 (2)2:配置/etc/nova/ (2)(3:配置/etc/nova/ (2)4:停止和重启nova相关服务 (2)5:同步数据库 (2)6:检查nova服务 (2)六:安装和配置Dashbaord (2)1:安装dashbaord (2)2:配置/etc/openstack-dashboard/ (2)3:重启服务 (2)]Appendix A: 使用nova-volume (2)Appendix B: glance使用swift存储镜像 (2)Appendix C: 多计算节点配置 (2)一、控制节点系统及环境安装1:准备光盘:安装OS服务器是两块硬盘,将一个单独的分区专门给nova-volume使用(nova-volume一般不用)。

系统最小化安装,只需要安装ssh server就可以。

装完系统后。

apt-get updateapt-get upgrade更新源里的包,更新系统。

OpenStack安装配置篇

OpenStack安装配置篇

OpenStack是一套用来管理虚拟机的平台软件。

它不是一个单一的软件,而是集成了很多个组件用来协同合作。

简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。

类似的,红帽也有virsh 这种管理虚拟机的程序。

在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。

如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。

在本篇文章里,我将介绍采用ec2兼容认证的方式。

所有组件安装在一台controller 上。

关键字定义控制端:类似vcenter的管理系统。

节点:类似安装了esx的服务器。

nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。

glance组件:用来管理镜像。

环境准备ubuntu 11.10,服务器双网卡步骤安装完基本的操作系统后$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install bridge-utils #安装网桥软件配置网络接口在这里我的架构是eth0连接了外网,即我們可以访问的网口。

eth1做了网桥,和节点之间通过一个交换机连接。

这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。

$ sudo vi /etc/network/interfacesauto eth0iface eth0 inet staticaddress 192.168.200.21netmask 255.255.255.0network 192.168.200.0broadcast 192.168.200.255gateway 192.168.200.10auto br100iface br100 inet staticbridge_ports eth1bridge_stp offbridge_maxwait 0bridge_fd 0address 10.200.200.2netmask 255.255.255.0$ sudo /etc/init.d/networking restart初期准备工作做好,接下来就是要安装关于nova,glance等组件$ sudo apt-get install -y rabbitmq-server #安装MQ消息組件$ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖$ sudo apt-get install nova-volume nova-vncproxy nova-apinova-ajax-console-proxy$ sudo apt-get install nova-doc nova-scheduler nova-objectstore$ sudo apt-get install nova-network nova-compute$ sudo apt-get install glance安装euca2ools和unzip$ sudo apt-get install -y euca2ools unzip接下来我们安装数据库,这裡我选择了MySQL,其实个人觉得PostgreSQL更好。

OpenStack安装手册

OpenStack安装手册

OpenStack安装手册目录OpenStack安装手册 (1)一、安装环境 (4)1、示例架构 (4)2、网络 (4)3、安全 (5)4、主机网络配置 (5)5、NTP (7)6、安装OpenStack包 (9)7、安装数据库 (10)8、消息队列 (11)9、缓存令牌 (12)二、认证服务 (12)在控制节点上配置。

(13)1、前提条件 (13)配置Apache服务器 (15)3、创建一个域、项目、用户和角色 (16)4、验证操作 (17)1、前提条件 (20)2、安装并配置组件 (22)5、验证操作 (24)四、计算服务 (25)1、安装和配置控制节点 (25)∙安装并配置组件 (26)∙完成安装 (30)3、安装并配置计算节点 (30)∙安装并配置组件 (30)∙验证操作 (33)一、安装环境1、示例架构根据官方文档,本文架构采用一个控制节点和一个计算节点。

(The example architecture requires at least twonodes (hosts) to launch a basic virtual machine or instance. )控制节点运行认证服务、镜像服务、计算服务的管理部分、网络服务的管理部分、各种网络代理以及Dashboard,还包括一些基础服务如数据库、消息队列以及NTP。

计算节点上运行计算服务中管理实例的管理程序部分。

默认情况下,计算服务使用KVM。

还运行网络代理服务,用来连接实例和虚拟网络以及通过安全组给实例提供防火墙服务。

2、网络∙公有网络公有网络选项以尽可能简单的方式通过layer-2(网桥/交换机)服务以及VLAN网络的分割来部署OpenStack网络服务。

实际上,它将虚拟网络桥接到物理网络,并依靠物理网络基础设施提供layer-3服务(路由)。

另外,DHCP服务为实例提供IP地址。

∙私有网络私有网络选项扩展了公有网络选项,增加了layer-3(路由)服务,使用VXLAN类似的方式。

OpenStack的架构详解

OpenStack的架构详解

OpenStack的架构详解OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。

其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

1. OpenStack是什么OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。

其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。

OpenStackCompute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(thecloudthroughusersandprojects)。

它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于AmazonEC2和RackspaceCloudServers。

实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于WebAPI的功能。

OpenStackObjectStorage[2],是一个可扩展的对象存储系统。

对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。

OpenStackImageService[1],是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。

VM镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统,直接用Amazon'sSimpleStorageSolution(S3)存储,用带有ObjectStore的S3间接访问S3。

OpenStack网络配置及管理

OpenStack网络配置及管理
创建固定网络
nova-manage network create private --fixed_range_v4=192.168.22.32/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=32
创建浮动IP地址块
添加安全组规则
nova secgroup-add-rule myservers tcp 22 22 192.168.1.1/0 nova secgroup-add-rule myservers icmp -1 -1 192.168.1.1/0
谢谢大家!
20 | Presentation Title | Month 2007
eth0 ●
10.0.1.4 2
eth0 ●
10.0.2.3 3
KVM guest
1
2
network_manager=work.manager.VlanManager network_host=node1 vlan_interface=eth1
OpenStack网络管理--FlatDHCP
(1) DGW(Default gateway) : 自动在网络节点上配置 (2) Cloudpipe VPN instance: 用于通过VPN访问VLAN. (3) Instance fixed IPs: 通过 DHCP自动分配.
OpenStack网络管理--VLAN
创建VLAN
nova-manage network create --label vlan1 --fixed_range_v4 10.0.1.0/24 --vlan 1 --bridge=br1 --project_id=a421ae28356b4cc3a25e1429a0b02e98 以下两个选项可覆盖nova.conf中的设置 --network_size --bridge_interface

OpenStack的Neutron组件详解

OpenStack的Neutron组件详解

OpenStack的Neutron组件详解⼀:简介⼀、概述1. 传统的⽹络管理⽅式很⼤程度上依赖于管理员⼿⼯配置和维护各种⽹络硬件设备;⽽云环境下的⽹络已经变得⾮常复杂,特别是在多租户场景⾥,⽤户随时都可能需要创建、修改和删除⽹络,⽹络的连通性和隔离不已经太可能通过⼿⼯配置来保证了。

2. 如何快速响应业务的需求对⽹络管理提出了更⾼的要求。

传统的⽹络管理⽅式已经很难胜任这项⼯作,⽽“软件定义⽹络(software-defined networking, SDN)”所具有的灵活性和⾃动化优势使其成为云时代⽹络管理的主流。

3. Neutron 的设计⽬标是实现“⽹络即服务(Networking as a Service)”。

为了达到这⼀⽬标,在设计上遵循了基于 SDN 实现⽹络虚拟化的原则,在实现上充分利⽤了 Linux 系统上的各种⽹络相关的技术。

4. SDN 模式服务— NeutronSDN( 软件定义⽹络 ), 通过使⽤它,⽹络管理员和云计算操作员可以通过程序来动态定义虚拟⽹络设备。

Openstack ⽹络中的 SDN 组件就是 Quantum.但因为版权问题⽽改名为Neutron 。

⼆、基本概念1. Network:是⼀个隔离的⼆层⼴播域。

Neutron ⽀持多种类型的 Network,包括 Local, Flat, VLAN, VxLAN 和 GRE。

1. Local⽹络与其他⽹络和节点隔离。

Local ⽹络中的 instance 只能与位于同⼀节点上同⼀⽹络的 Instance 通信,主要⽤于单机测试。

2. Flat ⽹络是⽆ vlan tagging 的⽹络。

Flat ⽹络中的 instance 能与位于同⼀⽹络的 instance 通信,并且可以跨多个节点。

3. VLAN ⽹络是具有 802.1q tagging 的⽹络,是⼀个⼆层的⼴播域,同⼀ Vlan 中的 instance 可以通信,不同 vlan 只能通过 router 通信。

FusionSphere-OpenStack部署配置指南

FusionSphere-OpenStack部署配置指南
节点之间不允许共享,计算节点需要部署compute角色
AZ间不允许共享,每套blockstorage-driver对接一套存储,默认部署 一套blockstorage-driver 使用FusionStorage分布式存储服务时需要部署,默认每个节点都部 署
AZ间不允许共享,每个AZ都需要部署swift,默认部署3个实例
OpenStack部署方案2 - 3Controller
Sys-server controller
auth zookeeper
image router measure database Sys-client compute Blockstorag e driver
FM VM
baremetal rabbitMQ
在WEB UI的配置界面选择配置网络
配置物理网络
系统默认创建一个物理网络,系统平面默认承载在该物理网络上,用户 可根据实际情况新增物理网络
第22页
配置物理网络 (2/3)
配置物理网络和网口的映射关系
第23页
配置物理网络(3/3)
配置系统平面和物理网络的对应关系
external_api和external_om默认承载在默认的物理网络上,用户可 根据 实际情况调整:
第6页
角色介绍 (2/2)
database:提供OpenStack管理数据存储服务 mongodb:提供OpenStack采样数据存储服务 zookeeper:提供分布式集群服务 rabbitMQ:提供分布式通信服务 baremetal :提供裸机管理服务 loadbalancer:提供网络负载均衡能力 sys-client:提供配置代理和组件状态监控的能力
swift
host3

openstack多节点安装

openstack多节点安装

Openstack 多节点先安装一.环境简介分别是两个节点(下面是对其分布的介绍),在同一个网络,关于openstack 的yum源最好做成本地源,所有节点指向yum源服务器。

(两个节点,计算节点安装Nova和network,控制节点安装所有的组件)hostname eth0 eth1-br100 说明control 10.11.54.101 br100:172.0.0.1mysql nova组件dashboardcompute1 10.11.17.60 br100:172.0.0.2nova-network nova-computekeystone 10.11.54.101所有节点通过keystone验证身份glance 10.11.54.101管理img,使用swift来做glance的后端存储swift-proxy 10.11.54.101swift代理节点swift 10.11.54.101提供swift对象存储2.epel的yum源配置cd /tmpwget/pub/epel/6/i386/epel-release-6-7.no arch.rpm# rpm -Uvh epel-release-6-7.noarch.rpmepel-release-6-7.noarch.rpm(rpm包)yum、nameserver、时间同步配置.txt(配置文档)/etc/hosts配置,解析控制和计算节点3、设置所有节点的基本环境(网络的设置,在这里主要是涉及到网桥,所以将外网的ip关闭,eth0配置内网的IP,eth1相当于另外的一层内网,br100是网桥)3.1.配置网络Bridge /etc/sysconfig/network-scripts/网络配置.txtcontrol和compute1的Bridgeifcfg-eth0DEVICE="eth0"NM_CONTROLLED="yes"ONBOOT="yes"BOOTPROTO="static"IPADDR=10.11.54.101 #compute1为10.11.17.60 NETMASK=255.255.255.0GATEWAY=10.11.54.254ifcfg-eth1DEVICE="eth1"NM_CONTROLLED="yes"ONBOOT="yes"BOOTPROTO="none"BRIDGE=br100RELAY=0ifcfg-br100DEVICE="br100"NM_CONTROLLED="yes"ONBOOT="yes"BOOTPROTO="static"TYPE=BridgeIPADDR=172.0.0.1 #compute1为172.0.0.2NETMASK=255.255.255.0安装bridgeyum -y install bridge-utils/etc/init.d/network restart其他节点不用设置网桥,只需要配置eth0的ip,并修改所有节点的hosts使其互相直接可以域名解析。

openstack网络模块详解

openstack网络模块详解

更加深入:Security Group Layer
• iptables -nvL
更加深入:br-int & br-tun
• 由Openvswitch实现 • Openvswitch是一个virutal switch, 支持Open Flow协议,当然也有 一些硬件Switch也支持Open Flow协议,他们都可以被统一的 Controller管理,从而实现物理机和虚拟机的网络联通。
架构
• neutron分成多个模块分布在三个节点上。
• Controller节点:
• neutron-server,用于接受API请求创建网络,子网,路由器等,然而创建的这些东 西仅仅是一些数据结构在数据库里面
• Network节点:
• neutron-l3-agent,用于创建和管理虚拟路由器,当neutron-server将路由器的数据结 构创建好,它是做具体的事情的,真正的调用命令行将虚拟路由器,路由表, namespace,iptables规则全部创建好 • neutron-dhcp-agent,用于创建和管理虚拟DHCP Server,每个虚拟网络都会有一个 DHCP Server,这个DHCP Server为这个虚拟网络里面的虚拟机提供IP • neutron-openvswith-plugin-agent,这个是用于创建虚拟的L2的switch的,在Network 节点上,Router和DHCP Server都会连接到二层的switch上
更加深入:Security Group Layer
1)filter表主要处理过滤功能的 INPUT链:过滤所有目标地址是本机的数据包 FORWARD链:过滤所有路过本机的数据包 OUTPUT链:过滤所有由本机产生的数据包 2)nat表主要处理网络地址转换,可以进行SNAT(改变数据包的 源地址),DNAT(改变数据包的目标地址) PREROUTING链:可以再数据包到达防火墙时改变目标地址 OUTPUT链:可以改变本地产生的数据包的目标地址 POSTROUTING链:在数据包离开防火墙时改变数据包的源地址 3)mangle表修改数据包: 包含PREROUTING链,INPUT链,FORWARD链,OUTPUT链, POSTROUTING链 这里mangle不做过多操作 还有一个表示raw表的,不常用的 优先级raw-->mangle-->nat-->filter raw最高,filter最低 iptables默认操作的是filter表
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#Quantum
CREATE DATABASE quantum;
GRANT ALL ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass';
#Nova
CREATE DATABASE nova;
GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';
connection = mysql://keystoneUser:keystonePass@172.16.77.128/keystone
重启服务:service keystone restart
查看下数据库:
把结构同步到数据库中:keystone-manage db_sync
再次查看数据库:
下载脚本:
重启服务:service glance-api restart; service glance-registry restart
查看进程:ps -ef | grep glance
同步结构到库表:
查看同步是否成功:
上传cirros-0.3.0-x86_64-disk.img:
创建镜像:
查看镜像:
安装Quantum组件:apt-get install -y quantum-server
quantum_url=http://172.16.77.128:9696
quantum_auth_strategy=keystone
quantum_admin_tenant_name=service
quantum_admin_username=quantum
quantum_admin_password=service_pass
novncproxy_port=6080
vncserver_proxyclient_address=172.16.77.128
vncserver_listen=0.0.0.0
# Network settings
network_api_class=work.quantumv2.api.API
# Imaging service
glance_api_servers=172.16.77.128:9292
image_service=nova.image.glance.GlanceImageService
# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http://172.16.77.128:6080/vnc_auto.html
#If you want Quantum + Nova Security groups
firewall_driver=nova.virt.firewall.NoopFirewallDriver
security_group_api=quantum
#If you want Nova Security groups only, comment the two lines above and uncomment line -1-.
安装NTP服务(时间同步服务):apt-get install -y ntp
安装RabbitMQ:apt-get install -y rabbitmq-server
初始化MySQL数据库:(创建一个脚本:create_db.sh,内容如下:)
mysql -u root -p
#Keystone
CREATE DATABASE keystone;
sql_connection=mysql://novaUser:novaPass@172.16.77.128/nova
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
# Auth
use_deprecated_auth=false
auth_strategy=keystone
把官网源写入到源文件中:echo deb /ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list
查看源:
更新系统:apt-get update–y、apt-get upgrade–y、apt-get dist-upgrade -y
# Compute #
compute_driver=libvirt.LibvirtDriver
# Cinder #
volume_api_class=nova.volume.cinder.API
osapi_volume_listen_port=5900
把Nova同步到数据库:
添加本机解析记录:
重启所有服务:
verbose=True
api_paste_config=/etc/nova/api-paste.ini
compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
rabbit_host=172.16.77.128
nova_url=http://172.16.77.128:8774/v1.1/
#-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
#Metadata
service_quantum_metadata_proxy = True
quantum_metadata_proxy_shared_secret = helloOpenStack
quantum_admin_auth_url=http://172.16.77.128:35357/v2.0
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
linuxnet_interface_driver=work.linux_net.LinuxOVSInterfaceDriver
wgethttps:///mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_basic.sh
修改脚本:
下载脚本:
wgethttps:///mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_endpoints_basic.sh
配置环境VMware8.0英文版:
Controller的网卡物理配置:
查看IP地址:
查看网关:
配置IP地址及网关等:vi /etc/network/interface
IP地址配置情况如下:
更改主机名:vi /etc/hostname
更改如下:
重启主机,是网络更改生效:
更新系统:apt-get update、apt-get install -y ubuntu-cloud-keyring
编辑vi /etc/cinder/cinder.conf文件:
查看数据库:
把结构同步到数据库表:cinder-manage db sync
同步后,查看:
创建卷:dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G
挂载卷:losetup /dev/loop2 cinder-volumes
#Cinder
CREATE DATABASE cinder;
GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';
quit;
执行脚本:bash create_db.sh
查看数据库创建:
创建不成功,只能手工添加了:
查看创建是否成功:
查看服务状态:
安装Cinder组件:
apt-get install -y cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms
参数配置,并重启服务:
编辑vi /etc/cinder/api-paste.ini文件:
安装Mysql数据库:apt-get install -y mysql-server python-mysqldb
输入数据库密码:
确认密码:
配置使所有节点都可以访问MySQL数据库:sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/f
重启Mysql服务:service mysql restart
GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';
#Glance
CREATE DATABASE glance;
GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';
修改脚本:
运行脚本:bash keystone_basic.sh、bash keystone_endpoints_basic.sh
相关文档
最新文档