2

We are trying to mirror a volumes over a geographical zone using DRBD (and Ubuntu 11.10). We are using elastic IP's - however there is no local interface for Elastic IP's - only an interface for a local IP. Thus, DRBD will not work as it needs an interface.

I've thought about using VIP or VPN to be able to use local IP's, but that would degrade the connection as its another layer.

Any thoughts or ideas?

          [US EAST 1]                             [US WEST 1]
[EC2-INSTANCE] -> [ELASTIC-IP] -> DRBD <- [ELASTIC-IP] <- [EC2-INSTANCE]
       *no eth interface*                     *no eth interface*

Edit: Alternative solutions (to DRBD/Clustering/Replciating) are more than welcome!

Edit 2:


Client connecting to address.com, TCP port 5001

TCP window size: 16.0 KByte (default)

[ 3] local 10.160.27.107 port 59254 connected with 107.21.118.27 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 44.1 MBytes 36.9 Mbits/sec

(Mbits/sec was 25 to 36)

Kladskull
  • 1,255
  • 5
  • 15
  • 32
  • Does the replication have to be in real time? DRBD overheads will cripple IOWait whilst replicating over the internet. Anything less than 100MBit will have a pretty terrible effect on overall performance. Also, using block replication over public IPs doesn't sound too bright, especially in a cloud environment where packet sniffing is ripe. – Ben Lessani Mar 21 '12 at 13:17
  • 1
    So basically we'd be looking at using a VIP or VPN to encrypt the traffic and connect the two regions then? The connection between the two is likely fiber (Amazon Region to Region). – Kladskull Mar 21 '12 at 14:10
  • Have you ran a speed test between the two sites, using `iperf`. I would imagine there is some QoS going on that will rate limit you down. – Ben Lessani Mar 21 '12 at 14:15
  • Just ran iperf... Transfer: 30.2 MBytes Bandwidth: 25.2 Mbits/sec to 36.9 Mbits/sec – Kladskull Mar 21 '12 at 16:11
  • How does DRBD need an interface? Don't you specify the IP addresses in the config file? – Mark Wagner Mar 21 '12 at 16:33
  • Can you also run `mtr` and see what the average ping is? I would think the low transfer rate and high latency is going to make DRBD quite a bottleneck. What is the application this is for? – Ben Lessani Mar 21 '12 at 17:37
  • DRBD requires a network interface to run. – Kladskull Mar 21 '12 at 17:51
  • The 'address' directive on the local host in a DRBD resource simply specifies the interface that is used. As such (and if you don't mind having mismatched configs on each machine), you can specify the private ip address for the local host and the elastic ip address for the remote host and it will work (security group needs to be open on the right port). A simple script to generate your resource file and fill in the correct IPs would resolve the issue of the private ip varying. (An alternate solution is to use GlusterFS - a bit more overhead, but works well enough). – cyberx86 Mar 21 '12 at 19:13
  • DRBD does need IPs and Ports - not interfaces. You can even suppress the drbd-ping-test, if you like to. What DRBD-major/minor-version are we talking about here? – Nils Sep 16 '13 at 20:01
  • @sonassi you could use luks to encrypt the uderlying device, before you replicate with drbd. That way replication can be encrypted, too. – Nils Sep 16 '13 at 20:04

1 Answers1

0

The Elastic IP isnt a new interface, its a public IP that maps to an interface. So if you have an instance with one interface, and you bind an EIP to it, traffic sent to that IP will go to that interface

Alex
  • 256
  • 1
  • 2