自己做网站还能挣钱吗家电网站建设
news/
2025/10/7 12:12:08/
文章来源:
自己做网站还能挣钱吗,家电网站建设,筑招建筑人才网长春安全员,上海企业建设网站报价建立openstack quantum开发环境 作者#xff1a;张华 发表于#xff1a;2012-4-6 版权声明#xff1a;可以任意转载#xff0c;转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 上篇中讲了如何建立openstack的最小开发环… 建立openstack quantum开发环境 作者张华 发表于2012-4-6 版权声明可以任意转载转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 上篇中讲了如何建立openstack的最小开发环境仅运行keystone, nova, glance, horion)今天看看如何运行quantum. quantum是什么呢我们知道一般虚拟网络有三种拓扑一种是NET方式即虚机里是内网地址虚机间可以互访虚机可以访问外面但外面不可以访问虚机当然宿主机除外另一种是Bridge方式这是linux内核自带的一种方式虚机可以访问外面外面也可以访问虚机最后一种就是VLAN通过标签虚拟网络可以分为更多的相互隔离的小子网一般用open×××就可以很容易实现。 扯远了quantum究竟是什么呢上面三种网络拓扑是死的quantum可以通过编程动态的调整拓扑还可以动态定义网络QoS并且基于一种openflow的标准协议可以独立为一个单独的模块用在其他地方。 open vSwitch又是什么呢它是一种软件实现的交换机用于给一台物理机上的虚机提供虚拟网络服务它的实现原理蛮简单就是TUNTUN其实就是linux内核提供的用于两个进程间交换数据用的。在物理机里的两台虚机实际上就两个进程。 先说概念, 如下图虚机里面的虚拟网卡我们一般叫VIF, 它要和Quantum中的virtual port做映射。 具体在quantum中通过API建立网络的过程如下 1服务eg,nova)经它们的tenantAPIs暴露virtualinterface(VIF)表示这个服务里的设备都可以使用这个虚拟网络 nova.foo.com/tenant-id/network/service-id/eth0 2)创建virtualnetwork返回UUID quantum.foo.com/tenant-id/network/network-id 3)创建virtualport, quantum.foo.com/tenant_idnetwork/network-id/port/port-id 4)virtualinterfacemapping to virtual port setquantum.foo.com/tenant-id/network/network-id/port/port-id/attach nova.foo.com/tenant-id/server/server-id/eth0 我们再来看一起一般如果用quantum的话它的结构是什么样子如下图 Quatum首先有一个框架然后有一些插件例如vSwitch有它的插件其他的openflow的交换机需要开发它们自己的插件。看了上在主张图就应该知道建这个环境的大致步骤 1 QuantumManager, 通用框架 2要配置使用vswitch插件quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin 3在计算结点得配置VIF 不说了从下面的安装步骤中会找到对应的等价物的。 5.2.1 安装vSwitch cd/bak/openstack wgethttp://openvswitch.org/releases/openvswitch-1.4.0.tar.gz 1)./configure--prefix/usr--localstatedir/var --with-linux/lib/modules/uname -r/build make make install 2)加载模块用/sbin/insmod./datapath/linux/openvswitch_mod.ko 用dmesg|tail命令看日志 /sbin/rmmod./datapath/linux/openvswitch_mod.ko /sbin/modinfoopenvswitch_mod /sbin/modinfo/lib/modules/uname -r/kernel/net/bridge/bridge.ko 3)初始化数据库配置 mkdir-p /usr/local/etc/openvswitch ovsdb-toolcreate /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema 4)启动数据库 mkdir-p /var/run/openvswitch ovsdb-server --remotepunix:/var/run/openvswitch/db.sock --remotedb:Open_vSwitch,manager_options --pidfile --detach 5)初始化数据库 ovs-vsctl --no-wait init 6) 启动vSwitch daemon ovs-vswitchd --pidfile --detach 7)建立接接 ovs-vsctl add-br br0 ovs-vsctl add-port br0 eth0 ovs-vsctl add-port br0 vif1.0 在启动vswitch之后用linux内核的桥接命令是一样的效果 brctl addbr br0 brctl addif br0 eth0 brctl show http://openvswitch.org/cgi-bin/gitweb.cgi?popenvswitch;ablob_plain;fINSTALL.bridge;hbHEAD 8)open vswitch与kvm vi /etc/ovs-ifup #!/bin/sh switchbr0 /sbin/ifconfig $1 0.0.0.0 up ovs-vsctl add-port ${switch} $1 vi /etc/ovs-ifdown #!/bin/sh switchbr0 /sbin/ifconfig $1 0.0.0.0 down ovs-vsctl del-port ${switch} $1 创建KVM客户机 kvm -m 512 -netnic,maddr00:11:22:EE:EE:EE -net \ tap,script/etc/ovs-ifup,downscript/etc/ovs-ifdown-drive \ file/path/to/disk-image,booton 8)举例 Goal: Isolate VMs using VLANs on the DataNetwork. VLAN 1: VM1,VM3 VLAN 2: VM2,VM4 Configuration: On Host1: ovs-vsctladd-brbr0 ovs-vsctladd-portbr0eth0 ovs-vsctladd-portbr0tap0tag1 ovs-vsctladd-portbr0tap1tag2 On host2 ovs-vsctladd-brbr0 ovs-vsctladd-portbr0eth0 ovs-vsctladd-portbr0tap0tag1 ovs-vsctladd-portbr0tap1tag2 如果是限流量的可以 http://openvswitch.org/support/config-cookbooks/qos-rate-limiting/ ovs-vsctlsetInterfacetap0ingress_policing_rate1000 ovs-vsctl set Interface tap0ingress_policing_burst100 然后可以用Netperf工具测试Netperf是一种网络性能的测量工具以CS模式工具Server端叫netserver,客户端叫netperf。在linux系统中可以直接运行可执行程序来启动netserver也可以让inetd或xinetd 来自动启动netserver。当netserver在server 端启动以后就可以在client端运行netperf 来测试网络的性能。 netperf -H 10.0.0.100 5.5.2 配置quantum 1) 安装依赖我们的目的是在eclipse中可以调试quantum工程但对于quantum-client工程要安装它们。 cd/bak/openstack/quantum pip-python install-r tools/pip-requires pip-python install-r tools/test-requires cd /bak/openstack/python-quantumclient pip-python install -r tools/pip-requires pip-python install -r tools/test-requires python setup.py develop 2集成后对horizon配置的改动 ln -s/bak/openstack/python-quantumclient/quantum/bak/openstack/horizon/openstack_dashboard/quantum sed -e s,QUANTUM_ENABLED False,QUANTUM_ENABLED True,g -i/bak/openstack/horizon/openstack_dashboard/local/local_settings.py 在/etc/nova/nova.conf中添加配置 --network_managernova.network.quantum.manager.QuantumManager --quantum_connection_hostlocalhost --quantum_connection_port9696 --libvirt_vif_typeethernet --libvirt_ovs_bridgebr-int --libvirt_vif_drivernova.virt.libvirt.vif.LibvirtOpenVswitchDriver --linuxnet_interface_drivernova.network.linux_net.LinuxOVSInterfaceDriver --quantum_use_dhcp 这样配置之后之前的-flat_network_bridgebr100 就失效了改用br-int了 if nova-network has DHCP enabled or isacting as the L3 gateway. 3)在keystone/etc/default_catalog.templates中添加 catalog.RegionOne.network.publicURL http://localhost:9696/ catalog.RegionOne.network.adminURL http://localhost:9696/ catalog.RegionOne.network.internalURL http://localhost:9696/ catalog.RegionOne.network.name Quantum Service 并确保在keystone/etc/keystone.conf文件中使用keystone/etc/default_catalog.templates [catalog] # dynamic, sql-based backend (supportsAPI/CLI-based management commands) #driver keystone.catalog.backends.sql.Catalog # static, file-based backend (does*NOT* support any management commands) driver keystone.catalog.backends.templated.TemplatedCatalog template_file ./etc/default_catalog.templates 5数据库 DROP DATABASE IF EXISTS ovs_quantum; CREATE DATABASE IF NOT EXISTSovs_quantum; vi./etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini sql_connection mysql://root:passwordlocalhost:3306/ovs_quantum 6)配置 vi./etc/quantum.conf #auth_admin_user admin #auth_admin_password password auth_admin_token ADMIN 6启动quantum-server vi/bak/openstack/quantum/etc/plugins.ini provider quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPlugin python./bin/quantum-server ./etc/quantum.conf 验证quantum-client与quantum能通信 quantumcreate_net quantum-fake-tenant net1 list_nets[tenant-id] rename_net [tenant-id] [net-id][new-name] show_port [tenant-id] [net-id][port-id] unplug_iface [tenant-id] [net-id][port-id] plug_iface [tenant-id] [net-id][port-id] [iface-id] show_net [tenant-id] [net-id] delete_port [tenant-id] [net-id][port-id] delete_net [tenant-id] [net-id] set_port_state [tenant-id] [net-id][port-id] [new_state] create_net [tenant-id] [net-name] create_port [tenant-id] [net-id] list_ports [tenant-id] [net-id] 7)在computenode需要安装quantumagent sudo ovs-vsctl --no-wait -- --if-existsdel-br br-int sudo ovs-vsctl --no-wait add-br br-int sudo ovs-vsctl --no-waitbr-set-external-id br-int bridge-id br-int 上述的配置对应/etc/nova/nova.conf的 --libvirt_ovs_bridgebr-int 及./etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini integration-bridge br-int python/bak/openstack/quantum/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py/bak/openstack/quantum/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini-v8用 8)quantum manager创建网络 nova-manage network delete --uuid32b09c60-ac6f-45e4-8728-5b6dbea13af5 nova-manage network list nova-manage network create--labelpublic --fixed_range_v4192.168.99.0/24 --priority0 nova-manage network create--labeladmin-private --fixed_range_v410.10.10.0/24--project_id986a58e77d8c49da9b4ff0dd1e823f0f --priority1--gateway10.10.10.1 验证下列命令出来一定要有东西才算成功如果没有的话检查你的/etc/nova/nova.conf文件的--network_managernova.network.quantum.manager.QuantumManager一句是否生效你最好将这些配置放到最下面不然会被其他同名的--network_manager覆盖掉了。 quantum list_nets default 9)通过-nicnet-id参数启动实例 ./bin/glance -f index novaboot--image5213ac41-a588-419f-9b50-c86217433df9 --flavor 1 --nicnet-idadc806ec-a13b-4f75-bbc9-945d71114fa5 test4 或 /bak/openstack/python-novaclient/novaclient/shell.py--os_usernameadmin --os_passwordpassword --os_tenant_nameadmin--os_auth_urlhttp://localhost:35357/v2.0 --debug boot --flavor 1--image 5213ac41-a588-419f-9b50-c86217433df9 --nicnet-idadc806ec-a13b-4f75-bbc9-945d71114fa5 test5 转载于:https://blog.51cto.com/prothesman/1411526
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930392.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!