如何在openstack中将数据发送到云实例

时间:2013-01-15 05:52:33

标签: openstack openstack-nova

上下文:我使用VirtualBox在我的笔记本电脑中设置了一个演示云,并且有两个虚拟机 - 一个有客户端,另一个有服务器。使用服务器创建一个小实例,正在运行的实例是TinyLinux。

问题:如何将数据发送到该实例中的实例和存储。

一些指示会非常有用。

2 个答案:

答案 0 :(得分:1)

嗯,使用libvirt,您可以选择networking。默认是使用NATing。在这种情况下,libvirt为每个如此配置的虚拟网络创建桥接和虚拟网络:

$ brctl show    
bridge name bridge  id      STP enabled interfaces
virbr0      8000.525400512fc8   yes virbr0-nic
                        vnet0

然后将iptables规则设置为NAT(伪装)此类网桥上的数据包。

Chain POSTROUTING (policy ACCEPT 19309 packets, 1272K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    8   416 MASQUERADE  tcp  --  any    any     192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
  216 22030 MASQUERADE  udp  --  any    any     192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
   11   460 MASQUERADE  all  --  any    any     192.168.122.0/24    !192.168.122.0/24    

启用转发

# cat /proc/sys/net/ipv4/ip_forward 
1

并生成DHCP服务器(dnsmasq同时是DHCP和DNS)

ps aux | grep dnsmasq
nobody    1334  0.0  0.0  13144   568 ?        S    Feb06   0:00 \
     /sbin/dnsmasq --strict-order --local=// --domain-needed \
     --pid-file=... --conf-file= --except-interface lo --bind-dynamic \
     --interface virbr0 --dhcp-range 192.168.122.2,192.168.122.254 \
     --dhcp-leasefile=.../default.leases --dhcp-lease-max=253 --dhcp-no-override

如果我有两个虚拟网络接口(两台机器在同一网络上有一个网卡,则该网桥中将有两个网卡。这些机器从dnsmasq DHCP获取192.168.122.2-254范围内的地址所以如果您知道地址,则应该能够从一个地址连接到另一个虚拟机,因为两者都在同一个广播域(通过网桥连接)。在计算机外部,机器全部显示为“一个IP地址”。

更“高级”的选项是使用桥接网络,它再次将虚拟接口放入一个桥接器,但它也将一些物理设备放在那里,因此机器看起来好像有几台机器连接到某个开关...

答案 1 :(得分:0)

我通常将Web服务器绑定到VM用于与物理主机进行NAT的网关接口。