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
Zwei VMs ohne eigene öffentliche IP synchronisieren
Re: Zwei VMs ohne eigene öffentliche IP synchronisieren
Ohne erreichbare Öffentliche IP? - Gar nicht...
Ansonsten evtl. über NAT wenn zumindest eine Firewall im Netz ist.
Ansonsten evtl. über NAT wenn zumindest eine Firewall im Netz ist.
Re: Zwei VMs ohne eigene öffentliche IP synchronisieren
Also die KVM-Host-Server sind natürlich jeweils über eine eigene öffentliche IP erreichbar. Ich kann mich auf dem KVM-Host ganz normal einloggenOhne erreichbare Öffentliche IP? - Gar nicht...
Code: Alles auswählen
ssh root@aa.aa.aa.aa
Code: Alles auswählen
kvm-host1:~# ssh root@10.9.9.2
jack
Re: Zwei VMs ohne eigene öffentliche IP synchronisieren
Einfach auf den KVM Hosts einen SSH Tunnel.
Re: Zwei VMs ohne eigene öffentliche IP synchronisieren
Vielen Dank für den Hinweis mit dem Tunnel. Das funktioniert schon mal soweit ganz gut.
somit kann ich mich jetzt über localhost:2222 direkt mit der VM2 auf kvm-host2 verbinden:
Jetzt bleibt nur noch ein Problem. Ein Sync zwischen dem kvm-host1 und kvm-host2/VM2 wäre problemlos möglich
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:
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:
Gibt es evtl. noch eine andere/bessere Möglichkeit?
vg
jack
Code: Alles auswählen
kvm-host1: ~ # ssh -L 2222:10.9.9.2:22 root@kvm-host2 –N &
Code: Alles auswählen
ssh –p 2222 root@localhost
Code: Alles auswählen
kvm-host1: ~ # rsync -avn -e "ssh -p 2222" root@localhost:/test/ /test
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/
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
vg
jack