Zwei VMs ohne eigene öffentliche IP synchronisieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
jack88
Beiträge: 72
Registriert: 23.05.2008 18:50:25

Zwei VMs ohne eigene öffentliche IP synchronisieren

Beitrag von jack88 » 30.07.2014 14:03:34

Hallo,

ich möchte mit rsync Daten zwischen zwei VMs übertragen/synchronisieren die keine Öffentliche IP haben und auf verschiedenen Servern liegen.

Also:

KVM-Host1 (ip:aa.aa.aa.aa) hat VM1 (private ip: 10.9.9.2)
KVM-Host2 (ip:bb.bb.bb.bb) hat VM2 (private ip: 10.9.9.2)

Eine lokale Verbindung zwischen Host/VM ist natürlich über das private Netzwerk 10.9.9.0 möglich.

Jetzt würde ich gerne z.B. auf KVM-Host1 einen rsync-job einrichten der KVM-Host1/VM1 mit KVM-Host2/VM2 synchronisiert. Wie könnte man sowas realisieren?

vg
jack

ericle
Beiträge: 21
Registriert: 02.08.2012 09:43:36

Re: Zwei VMs ohne eigene öffentliche IP synchronisieren

Beitrag von ericle » 30.07.2014 15:25:09

Ohne erreichbare Öffentliche IP? - Gar nicht...

Ansonsten evtl. über NAT wenn zumindest eine Firewall im Netz ist.

jack88
Beiträge: 72
Registriert: 23.05.2008 18:50:25

Re: Zwei VMs ohne eigene öffentliche IP synchronisieren

Beitrag von jack88 » 30.07.2014 15:33:50

Ohne erreichbare Öffentliche IP? - Gar nicht...
Also die KVM-Host-Server sind natürlich jeweils über eine eigene öffentliche IP erreichbar. Ich kann mich auf dem KVM-Host ganz normal einloggen

Code: Alles auswählen

ssh root@aa.aa.aa.aa
und von da aus auf die VM zugreifen:

Code: Alles auswählen

kvm-host1:~# ssh root@10.9.9.2
vg
jack

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Zwei VMs ohne eigene öffentliche IP synchronisieren

Beitrag von hec_tech » 30.07.2014 19:45:28

Einfach auf den KVM Hosts einen SSH Tunnel.

jack88
Beiträge: 72
Registriert: 23.05.2008 18:50:25

Re: Zwei VMs ohne eigene öffentliche IP synchronisieren

Beitrag von jack88 » 31.07.2014 09:54:15

Vielen Dank für den Hinweis mit dem Tunnel. Das funktioniert schon mal soweit ganz gut.

Code: Alles auswählen

kvm-host1: ~ # ssh -L 2222:10.9.9.2:22 root@kvm-host2 –N &
somit kann ich mich jetzt über localhost:2222 direkt mit der VM2 auf kvm-host2 verbinden:

Code: Alles auswählen

ssh –p 2222 root@localhost
Jetzt bleibt nur noch ein Problem. Ein Sync zwischen dem kvm-host1 und kvm-host2/VM2 wäre problemlos möglich

Code: Alles auswählen

kvm-host1: ~ # rsync -avn -e "ssh -p 2222" root@localhost:/test/ /test
Allerdings möchte ich nicht den kvm-host1 syncen, sondern die VM1 also kvm-host1/VM1.
Wie synchronisiere ich also vom kvm-host1 die beiden VMs mit rsync? Der Befehl dazu müßte eigentlich so ähnlich aussehen:

Code: Alles auswählen

kvm-host1: ~ # rsync -avn -e "ssh -p 2222" root@localhost:/test/ root@10.9.9.2:/test/
Das Problem ist nur, daß rsync keinen sync zwischen zwei remote-servern unterstützt, d.h. ein Verzeichnis muss immer local sein.

Aktuell würde mir dazu nur ein Umweg über einen temporären „transfer-ordener“ einfallen:

Code: Alles auswählen

mkdir /tmp/rsync_transit

rsync -av root@10.9.9.2:/test /tmp/rsync_transit
rsync -av -e "ssh -p 2222" root@localhost:/test /tmp/rsync_transit
rsync -av /tmp/rsync_transit/ root@10.9.9.2:/test
Gibt es evtl. noch eine andere/bessere Möglichkeit?


vg
jack

Antworten