ryu是一个openflow的中央控制器,与openvswitch和openstack结合使用可以用于搭建一整套openflow网络。
ryu分为两部分,ryu-manager运行在openstack的控制节点,用于处理开发者编写的网络集中控制逻辑,并将任务分发给下面的计算节点。
计算节点也需要安装ryu,并使用ryu-client的api为openvswitch部署相应的配置策略。openstack为计算节点启动ryu插件提供了入口ryu_quantum_agent.py。
ryu安装(官网文档及其靠不住):
一.下载ryu并安装
最新版本的ryu下载地址: git://github.com/yamahata/ryu.git ryu-gre-tunnel-dec-03-2012
运行其中的setup.py安装
sudo python setup.py install
二.启动ryu-manager
首先创建配置文件:/etc/ryu/ryu.conf
# Sample configuration file wsapi_host=10.21.3.83 wsapi_port=8080 ofp_listen_host=10.21.3.83 ofp_listen_port=6633
然后运行
sudo ryu-manage --flagfile /etc/ryu/ryu.conf
启动ryu-manager
三.安装nova quantum ovs
如果事先已经安装了openstack,这一步可以跳过,不一定要使用ryu官网推荐的2012.1版本
四.配置nova quantum
nova.conf:
–fixed_ranges=<setup here> –network_size=<setup here> –network_manager=nova.network.quantum.manager.QuantumManager –quantum_connection_host=<quantum server ip address> –firewall_driver=quantum.plugins.ryu.nova.firewall.NopFirewallDriver –quantum_use_dhcp=True –linuxnet_interface_driver=quantum.plugins.ryu.nova.linux_net.LinuxOVSRyuInterfaceDriver –linuxnet_ovs_ryu_api_host=<IP address of ryu server>:<Ryu rest API port>
quantum.conf
core_plugin = quantum.plugins.ryu.ryu_quantum_plugin.RyuQuantumPluginV2 quantum_plugin_config = /etc/quantum/plugins/ryu/ryu.ini
这两句一定要改过来!这样quantun-server在启动的时候才会去寻找ryu的插件!
ryu.ini
[DATABASE] # This line MUST be changed to actually run the plugin. # Example: sql_connection = mysql://root:nova@127.0.0.1:3306/ryu_quantum #sql_connection = mysql://<user>:<pass>@<IP>:<port>/<dbname> sql_connection=mysql://root:123456@10.21.3.83:3306/ryu_quantum [OVS] integration-bridge = br-int # openflow-controller = <host IP address of ofp controller>:<port: 6633> # openflow-rest-api = <host IP address of ofp rest api service>:<port: 8080> openflow-controller = 10.21.3.83:6633 openflow-rest-api = 10.21.3.83:8080 [AGENT] # Change to "sudo quantum-rootwrap" to limit commands that can be run # as root. root_helper = sudo
这里,需要首先手工在mysql中新建一个数据库 ,我这里起名叫ryu_quantum,然后在这个配置文件中把sql_connection关联到这个数据库上,数据库中建表的命令是包含在quantum-server里的,一会启动quantum-server时会自动在这个数据库里建立需要的表。启动quantum-server后,需要注意观察quantum打印的日志,然后排除相应的问题。
openflow_controller和openflow-rest-api是启动ryu-manager后生成的,因此这里的地址需要填写ryu-manager所在的主机地址。
ovs网桥需要自己手动建立。
完成后,启动quantum-server,命令如下:
sudo quantum-server --config-file=/etc/quantum/quantum.conf --config-file=/etc/quantum/plugins/ryu/ryu.ini
五.启动ryu-quantum-agent
在安装quantum源代码的目录下,有一个ryu-quantum-agent.py文件,路径是<quantum>/quantum/plugins/ryu/agent/,启动这个文件,启动命令如下:
sudo ./ryu_quantum_agent.py --config-file=/etc/quantum/plugins/ryu/ryu.ini
至此,ryu就已经运行起来了。上面标黄的地方就是跟官网有差别的地方。
相关推荐
- Ryu:一个开放源代码的网络操作系统,可与OpenStack集成。 - NEC OpenFlow:利用OpenFlow协议实现网络控制。 - Big Switch/Floodlight REST Proxy:Big Switch的OpenFlow控制器,通过REST接口与Quantum交互。 - ...
此外,RYU 还能与 OpenStack 结合使用,在云计算领域发挥重要作用。RYU 遵循 Apache License 开源协议标准。 #### 1.3 支持资源 - **官方网站**:[http://osrg.github.io/ryu/](http://osrg.github.io/ryu/) - **...
### OpenStack与OpenFlow SDN #### 一、OpenStack Quantum简介 OpenStack Quantum是OpenStack...结合OpenStack Quantum与OpenFlow SDN技术,可以有效提高云环境下的网络效率和服务质量,推动云计算领域的持续发展。
这是一份详细阐述OpenStack与SDN应用分析的文档!
2. **标准协议接口化**:SDN使用标准的南向协议(如OpenFlow)连接控制器与网络设备,确保控制器能够对设备进行指令发送。同时,控制器提供了北向API,让上层的应用和服务可以方便地与控制器交互,实现网络功能的...
5. **集成OpenStack**:对于使用OpenStack的环境,Faucet可以与Neutron服务集成,实现SDN网络的自动化管理。通过Neutron插件,Faucet能够获取虚拟机的信息,并据此动态调整流表。 6. **多租户支持**:Faucet支持多...
Ryu提供了丰富的第三方应用,并且可以与OpenStack集成,但性能方面可能不是最优。 4. Floodlight控制器:Floodlight基于Java,由开源社区维护,同时也用于Big Switch Networks的商业产品。它采用层次化架构,提供了...
SDN控制器,例如OpenDaylight或 Ryu,可以与OpenStack的Neutron服务对接,实现网络资源的自动化配置和动态调整。 SDN与云平台的集成不仅简化了网络资源的管理,还促进了资源的快速调配,提高了云环境的灵活性。此外...
通过PPT中的“实战”部分,你将学习到如何安装、配置OVS,创建桥接、端口,以及如何使用ovs-ofctl命令行工具来管理和调试流表。此外,实验部分还会教你如何设置OpenFlow控制器,例如NOX或 Ryu,实现动态网络策略。 ...
6. **OpenStack集成**:SDN常常与OpenStack云平台结合,学习如何利用JavaScript与OpenStack的Neutron模块进行交互,实现虚拟网络功能。 7. **SDN应用设计**:实践如何设计和实现满足特定需求的SDN应用,如负载均衡...
DPDK内容部分通常会包括DPDK简介、安装、报文转发模型、NUMA(非一致性内存访问)、Ring队列与共享内存、PCIe网卡性能优化、多队列硬件offload、虚拟化支持、OVS DPDK、SPDK(Storage Performance Development Kit)...