Das längste Thema

  • Hat schon mal jemand hier Server mit dd über ssh geklont? (Sind zwei Server mit identischer Spezifikation und Plattengröße)

    Snapshot exportieren und auf den anderen Server wieder einspielen habe ich schon erfolgreich durchgeführt.

    Aber geht es evtl. auch auf direktem Weg?

    Ich habs ein paar mal probiert aber an irgendwas ist es immer gescheitert. Weiß aber nicht mehr was das war. Ich mach das nur noch über rsync wenn ich keinen Snapshot mehr erstellen / exportieren kann, da hatte ich nie Probleme

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Ich habs ein paar mal probiert aber an irgendwas ist es immer gescheitert. Weiß aber nicht mehr was das war. Ich mach das nur noch über rsync wenn ich keinen Snapshot mehr erstellen / exportieren kann, da hatte ich nie Probleme

    Ah. OK. rsync ist natürlich auch eine Option.

    Schließt du da so Verzeichnisse wie /boot, /proc usw. aus, oder haust du alles komplett rüber?

  • aRaphael ich hab das mehrmals schon gemacht, des klappt ganz wunderbar;

    ich habs mal auf die Art gemacht

    dd if=/dev/sda | ssh root@ip "dd of=/mnt/data/img.dd"

    und die IP war a paar 100 km weit entfernt


    gestern hatte ich wieder mal was seltsames entdeckt


    ich mein, dass jemand auf seiner website in irgend ein Unterverz. schnell mal einen File kopiert

    und den URL zu dem File wo postet is ja eh normal;

    aber dass bei https://domain/ a Seite mit dem Inhalt von phpinfo( ); kommt ist dann doch Strange :D


    weils irgendwie gerade passt, der schnellste Zug in Indien kracht mit 200 km/h durch den Bahnhof;

    stell ich mir in Berlin, Frankfurt, München od. Leipzig Hbf lustig vor :D

    das ist das höchste der Gefühle durch Wels Hbf (a unbedeutendes 60-70 k Kuhdorf)

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • ich hab das mehrmals schon gemacht, des klappt ganz wunderbar;

    ich habs mal auf die Art gemacht

    dd if=/dev/sda | ssh root@ip "dd of=/mnt/data/img.dd"

    Ich dachte jetzt weniger an ein Image, sondern an direktes klonen.
    So was wie

    dd if=/dev/sda | ssh root@ip "dd of=/dev/sda"

    Geht aber wohl nicht so einfach... :/

  • Hab gerade gelernt dass ipv6 ohne nd-* kram in der Firewall plötzlich kaputt ist, dinge über die man sie nie Gedanken macht solange man ipv4 only fährt..

    Ja, man muss einen großen Bereich von ICMP zulassen. Habe mir mal die Mühe gemacht die Types, die man zulassen sollte, per RFC zu erarbeiten (gleiches gilt natürlich auch für die Forwarding chain):


  • Nachtrag: Übrigens ist es auch bei IPv4 falsch, alle ICMP zu blocken. Genau aus diesem Grund funktioniert zB. das Path MTU discovery nicht zuverlässig, weil es zu viele fehlerhaft konfigurierte Firewalls im Netz gibt....


  • Ah. OK. rsync ist natürlich auch eine Option.

    Schließt du da so Verzeichnisse wie /boot, /proc usw. aus, oder haust du alles komplett rüber?

    Ich starte bei beiden das Rettungssystem, mounte die jeweiligen Partitionen und kopier da dann alles 1:1 rüber. /dev, /proc etc hab ich da ja gar nicht. /boot kopier ich auch 1:1 rüber.

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Weshalb zum Geier will man mit dd Clonen und damit nicht nur jede Menge unbelegte Bits, sondern auch noch jede Fragmentation und jeden Dateisystemfehler mit kopieren?

    Prinzipiell berechtigter Einwand. Es kommt aber auch darauf an, was bzw. wie viel auf der Platte liegt und wie schnell es gehen muss. Wenn es sich z.B. um Millionen kleine Dateien handelt, ist dd oftmals effektiver.


    An dieser Stelle übrigens ein kleines Codebeispiel, wie man mittels "Process Substitution" im gleichen Durchgang eine Prüfsumme berechnen kann, um sie nach dem Kopieren nochmals abzugleichen:

    Bash
    # Speichert den Hash in einer eigenen Datei und kopiert die Eingabedatei gleichzeitig...
    dd if=/tmp/input | tee >(sha512sum | cut -d ' ' -f 1 > /tmp/sha512sum) | dd of=/tmp/test-file
    
    # Macht das gleiche, aber zeigt Dir den Hash stattdessen auf STDERR an...
    dd if=/tmp/input | tee >(sha512sum | cut -d ' ' -f 1 >&2) | dd of=/tmp/test-file

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Weshalb zum Geier will man mit dd Clonen und damit nicht nur jede Menge unbelegte Bits, sondern auch noch jede Fragmentation und jeden Dateisystemfehler mit kopieren?

    Tu ich ja nicht. Ich kopier die Dateien 1:1 rüber mit rsync, und gerade nicht das gesamte Dateisystem

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Ich hab meine Vorgehensweise mal in einem Blogbeitrag festgehalten. Häufig holt man (wenn's ausreichend CPU gibt) mit Kompression nochmal etwas Geschwindigkeit raus. und du solltest auf jeden Fall eine Blocksize setzen ;)

    Ich starte bei beiden das Rettungssystem, mounte die jeweiligen Partitionen und kopier da dann alles 1:1 rüber. /dev, /proc etc hab ich da ja gar nicht. /boot kopier ich auch 1:1 rüber.

    Danke für die Infos :thumbup:

    Ja, da die Disks einige hundert GB groß sind, könnte dd schon eine Weile dauern. ;)

    Evtl. ist da rsync doch die schnellere Lösung. Ich hatte halt nur das Bedenken, dass, wenn man das so macht:

    Ich kopier die Dateien 1:1 rüber mit rsync, und gerade nicht das gesamte Dateisystem

    ...dass es dann Probleme gibt, wenn man so Verzeichnisse wie /boot, /etc/fstab, /ect/mtab usw mit rüberkopiert, da man ja eben nicht die gesamte Disk, inkl. bootpartition überträgt.

  • Evtl. ist da rsync doch die schnellere Lösung. Ich hatte halt nur das Bedenken, dass, wenn man das so macht:

    ...dass es dann Probleme gibt, wenn man so Verzeichnisse wie /boot, /etc/fstab, /ect/mtab usw mit rüberkopiert, da man ja eben nicht die gesamte Disk, inkl. bootpartition überträgt.

    ich mach das pro partition immer mit

    Code
    ionice -c idle rsync -axHAXvP --numeric-ids --delete / root@<targethost>:/new-root/
    ionice -c idle rsync -axHAXvP --numeric-ids --delete /boot root@<targethost>:/new-root/boot

    das -x bzw --one-file-system bewirkt, daß er innerhalb des einen filesystems bleibt. /boot zb dann nicht vergessen wenn es auf einer eigenen partition liegt.

    das quell-system kann dazu beim ersten sync noch im normalbetrieb sein, das ziel-system ist auf jedenfall im recovery. erst beim letzten durchlauf (und dann hoffentlich nur mehr die deltas syncend) ist auch das quell-system im recovery. somit ist auch die downtime recht kurz.


    im anschluß am ziel-system im recovery im chroot den grub installieren

    Code
    grub-mkdevicemap -n
    grub-install /dev/sda
    grub-install /dev/sdb

    auf persistierte net-interfaces nicht vergessen in /etc/udev/rules.d/70-persistent-net.rules


    md-array informationen aktualisieren bei bedarf

    Code
    mdadm --detail --scan >> mdadm.conf
    vim /etc/mdadm/mdadm.conf

    und zu guter letzt initramfs und grub aktualisiern

    Code
    update-initramfs -u -k all
    update-grub2