14 Replies Latest reply on Apr 25, 2017 12:48 AM by derniwi

    Verteilung großer Dateien (30GB+)

    Weinheimer Rookie
      Hallo zusammen,

      Ich muss viele Software supporten die nur unter Windows 98 / Windows XP läuffähig ist.
      Den DSM Agent in die Virtuelle Machienen zu installiern, um diese zu aktualisiern, hätte das Problem das der User jede Virtuelle Machine einzeln für die Updates starten müsste. Es müssten regelmäßig Änderungen in den Virtuellen Machienen gemacht werden. Aus diesem Grund habe ich mich entschieden, die Software in Virtuelle Machinen zu installieren und die Virtuelle Machinen auf die Clients zu verteilen.
      Für die Erstellung der Virtuellen Machinen möchte ich VMWare Workstation einsetzen. Die Virtuellen Machinen sind Standort spezifisch und können recht groß (40GB) werden.
      Die Verteilung der Virtuellen Machinen erfolgt zu den einzeln Standorten über das Internet (je nach Standort variert die Internet Anbindung 2MBit - 100Mbit). An jedem Standort steht ein Depo Server der die Daten vorhält.

      Ich habe heute einen Test gemacht, bei dem ich versuche eine VM mit 40 GB zu paketieren. Leider läuft das "Distribution vorbereiten..." schon seit 8:30 Stunden und es ist noch kein ende in sicht.

      Wie kann man mit DSM derartige Datenmengen sinnvoll paketieren und auf die Depo Server verteilen?
      Zuerst hatte ich die Hoffnung, dass ich die DSM Verteilung nutzen könnte. Aufgrund der langen dauer für die Paketerstellung, stellt sich mir die frage ob es einen "schnelleren/sinnvolleren" weg gibt, um die Daten auf die Depo Server zu bekommen.

      Vielen Dank für die Hilfe.
        • 1. Re: Verteilung großer Dateien (30GB+)
          SitzRieSe Expert
          Hi,

          wenn ihr über das Internet verteilt, macht ihr das über HTTP Depots? Es gab zum 2015.x Release das Problem das keine Dateien übertragen werden konnten die größer als 4GB sind. Dort ist die Distribution dann stehen geblieben, das könnte hier vielleicht auch ein Problem sein?

          ich würde dir sonst empfehlen die Dateien zu splitten. Bei VMWare Workstation kannst du die Platten schon out of the box in Splitfiles packen, ansonsten kannst du evtl noch mit Komprimierung arbeiten und die Pakete zippen. Dann dauert halt nur die Installation deutlich länger weil die Daten erst wieder entpackt werden müssten.

          Gruß

          Alex
          • 2. Re: Verteilung großer Dateien (30GB+)
            ChristophSteckelberg Expert
            Beim "Distribution vorbereiten" werden (bei Defaulteinstellungen des Depots) die Dateien noch vom Distributionsdienst gezippt.
            Egal, ob die Platte des VMWare Gasts in 2GB Stücke zerschnippelt ist, wird der Distributionsdienst ein großes ZIP daraus bauen und in die Remotestandorte übertragen, welche dann dort (hoffentlich vom lokalen Distributionsdienst) von Work nach Install wieder entpackt werden.
            Wenn die resultierenden ZIPs jeweils um die 40GB groß sind, kann die Kompression ja schon ein paar Stunden dauern... bis sie für das letzte Paket abgeschlossen ist ... vielleicht Tage ?
            Ich glaube nicht, dass diese großen Pakete überhaupt sinnvoll über die 2Mbit Leitungen distribuiert werden können.
            Wenn nämlich während der Distribution die Leitung zusammenbricht, oder der Remote-Server neu gestartet wird (z.B. wegen Microsoft Patchday), dann fängt die Distribution des Pakets auf dem Work-Verzeichnis komplett von vorne an.
            • 3. Re: Verteilung großer Dateien (30GB+)
              SitzRieSe Expert
              Man kann auch überlegen die Daten anders zu dem Server zu übertragen und das Paket an die richtige Stelle ablegen. Wenn du dann die Distribution im Anschluss konfiguriert, findet der Dienst das Paket und setzt die Distri auf grün.
              • 4. Re: Verteilung großer Dateien (30GB+)
                NicoS1 Master
                Hallo,

                ich hab eine ähnliche Situation, mit einer ~20 GB VM (auf Virtual PC Basis). Wir hatten uns dazu entscheiden die VM in den extern$ Ordner zu packen (\\masterserver\dsm$\extern$). Falls es das Verzeichnis nicht gibt, einfach anlegen (auf dem Master Server!)

                Sobald es angelegt ist, schiebt der Distributionsdienst den Inhalt dessen automatisch auf alle Depots.

                Du hast die Daten dann nur 1x auf dem Server liegen. Nachteilig ist allerdings, dass du den Distrubtionsstatus nur umständlich prüfen kannst (Logfiles lesen) und kontrollieren schon gar nicht: Es geht einfach an alle Depots raus! Auch hast du natürlich keine Revisionssicherheit.

                Ich würde die Methode allerdings nicht empfehlen, wenn du die VM regelmäßig ändern musst. Wenn wir bei uns eine Änderung machen, stoppen wir den Rollout des Pakets und warten bis die VM überall aktuell ist, danach starten wir den Rollout wieder.

                In einem eScript kannst du dann einfach per %nidir%\extern$ auf das Verzeichnis zugreifen (das nimmt dann automatisch den Server an dessen Site du gerade bist) und von dort aus dann einen Copy/InstallFile(List) machen. Er holt dann die Datei immer frisch vom DSM Server und staged die x Gigabyte auch nicht vorher in den Repository Cache.

                Zu beachten ist noch, bei er Arbeit mit dem Verzeichnis: Es wird immer vom Master Server gespiegelt. Wenn du von einem Sitedepot Server aus etwas in das Verzeichnis legst, wird es wieder gelöscht.

                Gruß
                • 5. Re: Verteilung großer Dateien (30GB+)
                  Weinheimer Rookie
                  Die Standorte sind via VPN mit einander verbunden, die Daten werden via SMB Freigabe auf die Depo Server kopiert.

                  Das Problem Momentan ist, das es mehrere Standorte sind (derzeit 52) und jeder Standort seine individuelle VM benötigt. Die Software wird regelmäßig aktualisiert, so das auch immer wieder die VM aktualisiert werden muss.
                  Somit wäre es super gewesen, wenn ich mit DSM die VM verteilen könnte.

                  Eine SMB Freigabe auf den Depo Server wäre eine Möglichkeit, nur ist mir nicht klar wie die Daten auf einfachen Wege dort hinkommen können. Im Moment würde mir nur ein BatchJob einfallen der die Dateien kopiert. Nur würde ich so, auch die schönen features von DSM in diesem Fall nicht voll ausnützen können.

                  Gibt es eine Möglichkeit die Daten unkomprimiert mit DSM zu verteilen, so das ich an diesem Punkt Zeit sparen könnte. Ich habe eine kleine VM 5GB mit WinRar komprimiert und festgestellt das diese nicht nennenswert kleiner geworden ist.
                  • 6. Re: Verteilung großer Dateien (30GB+)
                    NicoS1 Master

                    Die Software wird regelmäßig aktualisiert, so das auch immer wieder die VM aktualisiert werden muss.



                    Ok, unter den Umständen würde ich von dem von mir beschrieben Ansatz absolut abraten.

                    Edit: Ich hätte noch eine kleine Idee, aber die ist absolut unsauber was DSM Methoden angeht.
                    Wenn du dir ein "fake" OS Setup Source Package angelegt. Eigentlich ein Paket für Betriebssystem-Installationsdateien. Dort legst du deine VM rein, steuerst wohin sie distributiert werden soll usw.

                    In deinem eScript müsstest du dann via %nidir%\install\master\projects\%iddesanderenpakets%\... auf die Dateien zugreifen. Und sie quasi rauskopieren.
                    Das sehr unschöne dran ist, dass die 2 Pakete (eScript + OS Setup Source Package) dann voneinander abhängig sind... und du diese Abhängigkeit innerhalb von DSM nicht abbilden kannst. Sprich du musst dir selbst irgendwo dokumentieren / aufschreiben was von was abhängig ist.

                    Ein OS Setup Source Package deshalb, weil dieses nicht komprimiert übertragen wird... zumindest nicht in der DSM Version die ich hier habe. Ob sich das in Zukunft aber mal ändert, weiß ich leider nicht. Aber man könnte zumindest den Pakettyp missbräuchlich dafür nutzen... auf die Gefahr hin dass es irgendwann in Zukunft von Ivanti mal geändert wird.
                    • 7. Re: Verteilung großer Dateien (30GB+)
                      derniwi Master
                      Hallo,

                      noch eine Idee.
                      Wenn Du zwei Pakete verwenden würdest und ein Software-Set.
                      Im ersten Paket wäre dann die Grundinstallation der VM (also das Betriebssystem bis vor die Softwareinstallation, inkl. Windows-Patches). Dann müsste die VM noch so konfiguriert sein, dass Änderungen als zweite Datei abgelegt werden, also einen Snapshot der VM erstellen. Ich weiß nicht, ob VM Workstation das kann. Wenn dadurch dann eine zweite Festplatten-Datei (also das Delta) erzeugt wird, sollte diese klein bleiben. Damit hätte man das erste Paket.

                      Im zweiten Paket geht man immer von diesem Snapshot aus, installiert dann in der VM die Anwendung und Updates und aktualisiert dann nur dieses Paket. Das sollte dann eigentlich recht klein bleiben.

                      Gruß
                      Nils
                      • 8. Re: Verteilung großer Dateien (30GB+)
                        Klaus Salger Expert
                        Hallo Weinheimer,

                        viele verschiedene, große VMs relativ häufig an viele Standorte über teilweise langsame Leitungen zu verteilen ist schmerzhaft.
                        Man kann jetzt versuchen die Schmerzen etwas zu lindern indem man z.B. versucht nur Differentials zu übertragen, d.h. also einmalig 1 Basisimage + 1 Differenz pro Standort pro Änderung. Im einfachsten Fall geht das womöglich per VMware linked Clones.
                        Die Differenz wird allerdings mit der Zeit immer größer.

                        Mein Eindruck ist, dass es dann womöglich doch einfacher wäre, die VMs als normale Clients zu behandeln und ganz normal per DSM zu installieren und zu aktualisieren.
                        OK, die Änderungen können nur gemacht werden wenn die Maschine läuft, darin unterscheiden sich die VMs aber auch nicht von den anderen Clients.
                        Zum Zeitpunkt des Starts kann jede VM also auch aktualisiert werden - wie üblich.
                        Oder nicht?

                        Wenn das in diesem Fall nicht geht, dann würde ich die VMs halt zum passenden Zeitpunkt per Script starten.
                        Statt zu dem Zeitpunkt ein neues Image auf den Client zu kopieren und einzubinden würde man ein bereits vorhandenes starten und aktualisieren.
                        Das muss keine Verschlechterung sein.

                        Vorteile dieser Variante:
                        - Einsatz von Standard-DSM-Mechanismen
                        - keine Paketierung der kompletten VMs nötig
                        - keine regelmäßige Kopie von sehr großen Datenmengen zwischen den Standorten
                        - keine regelmäßige Kopie von sehr großen Datenmengen auf die Clients
                        - weniger Platzbedarf auf Depots + Client Disks

                        Ciao
                          Klaus
                        • 9. Re: Verteilung großer Dateien (30GB+)
                          schurl85 Apprentice
                          vielleicht ein ganz anderer Ansatz. Müssen die VMs in den jeweiligen Standorten sein oder reicht es wenn die jeweiligen Mitarbeiter remote auf den VMs arbeiten können? Dann würde man sich das ganze ersparen, und lässt die VMs einfach zentral in einer VMWare Umgebung, bzw, wenn es nichts kosten darf in VMWare Workstation oder Hyper-V oder was weiß ich laufen. Die jeweiligen Mitarbeiter machen dann halt eine Remote Session zu den VMs.

                          das updaten der Clients ist dann auch eher unproblematisch, da die VMs sowieso immer gestartet sind.

                          wenn es hier keine Abhängigkeiten an lokal angeschlossene Devices gibt, wäre das der Weg, den ich einschlagen würde.
                          • 10. Re: Verteilung großer Dateien (30GB+)
                            Weinheimer Rookie
                            @NicoS
                            Die Idee mit den OS Setup Source Paket find ich interessant, nur kann ich meine Kollegen für den mehraufwand nicht begeistern. Ich werde mir diese Lösung im Hinterkopf behalten, wenn ich keine andere Lösung zum laufen bekomme.

                            @derniwi
                            Ich kann mit VMWare Workstation Snapshots erstellen, diese werden auch in extra Dateien gespeichert. Ich muss noch rausfinden welche Dateien benötigt werden damit es wieder lauffähig ist. Die Idee die Änderungen einzeln zu paketieren würde somit funktionieren. Die einzelnen Pakete könnte ich in einem Software Set zusammen packen.
                            Bis jetzt habe ich die Snapshot funktion bereits eingesetzt, nur wollte ich immer die ganze VM in ein Paket einbinden. Das Paket anschließend mit Robocopy und dem Client verleichen, um die gänderten Dateien zu ersetzen.

                            @Klaus Salger
                            Den Agent in die VMs zu installieren und diese Automatisch zu starten wäre eine interessante Möglichkeit. Für Windows XP würde laut Dokumentation noch unterstützt werden, für Windows 98 müsste ich mir dann eine andere Lösung suchen.

                            @schurl85
                            Die Clients müssen leider auf die VM offline zugreifen können, somit ist keine Remote Session möglich.

                            Ich danke euch für euere Unterstütztung, ich habe so noch ein paar Möglichkeiten die ich morgen ausprobieren kann.
                            • 11. Re: Verteilung großer Dateien (30GB+)
                              NicoS1 Master


                              @Klaus Salger
                              Den Agent in die VMs zu installieren und diese Automatisch zu starten wäre eine interessante Möglichkeit. Für Windows XP würde laut Dokumentation noch unterstützt werden, für Windows 98 müsste ich mir dann eine andere Lösung suchen.



                              Daran hätte ich auch denken könnten.
                              Was Windows XP angeht, wäre es durchaus auch möglich, dass du die VM komplett mit DSM provisionierst mit OSD und allem drum und dran. Ich weiß jetzt nicht, ob du die VM zum Domainmitglied machen willst, aber wenn nicht, dann kannst (und solltest) du über eine 2. Site am Standort (mit virtuellem Depot) und "RESDOMAIN" als Zuordnungskriterium die VMs auch mit separaten DSM Einstellungen rennen lassen. Die User / Dienst Einstellungen müssten bei Workgroup Mitgliedern meistens eh anders sein, aber auch so Einstellungen, dass der Service bzw. AutoInstaller sofort nach Anmeldung starten soll.

                              Bei Windows 98 ( ) hingegen... da würde ich mir überlegen, ob sich DIESE VM nicht über deinen Ursprünglich geplanten Weg verteilen lässt. Wenn deine Anwendung nicht riesig ist... Win98 wird jetzt keine 30 GB VDisk erzeugen oder? (P.S.: Da fällt mir noch ein, in VMWare Workstation gibt's auch eine "Compact" Option für VDisks, vielleicht hilft die vor der Verteilung).
                              • 12. Re: Verteilung großer Dateien (30GB+)
                                Weinheimer Rookie
                                Mit VMWare Workstation erstellte Snapshots können einzeln auf einen anderen Client übertragen werden. Somit muss ich nicht mehr die komplette VM übertragen, was die Datenmengen erheblich reduziert.

                                Ich habe nun ein Paket in dem die Grundinstallation mit VMWare Workstation ist, und Update Pakte in denen die Snapshots, *.nvram, *.vmsd und *.vmx drin sind

                                Ist das praktikabel ein Softwae Set zu erstellen und die Updates hinzuzufügen?
                                Kann ich Pakete aus einem Software Set löschen, wenn der Client das Software Set schon erhalten hat?
                                Für den Fall das ich ein Update ausgerollt habe und sich doch ein Fehler eingeschlichen haben sollte.



                                Für den Fall das noch jemand, in der Richtung etwas machen möchte/muss, hab ich noch zwei VMWare Programme gefunden. Mit den Programmen muss ich noch Tests machen, wie ich diese nutzen kann.
                                vmrun.exe mit diesem Programm kann man die VM starten, Dateien in die VM kopieren, ausführen und löschen
                                vmware-mount.exe mit diesem Programm kann man die VM als Laufwerk mounten und darauf zugreifen
                                • 13. Re: Verteilung großer Dateien (30GB+)
                                  SitzRieSe Expert
                                  Hi,

                                  also ein Software Set kannst du nachträglich nur noch ändern wenn du es revisionierst. Seit DSM 2016.1 lässt sich auch ein Software Set nicht anpassen wenn es sich um eine Pilot Installation handelt.

                                  Möglich wäre ja auch das Update Paket mit einer höheren InstallationsID zuzuweisen.

                                  Nachteil, es ist nicht mehr 100% transparent das die Pakete zusammen gehören und er würde das Update Paket installieren auch wenn das Installationspaket fehlgeschlagen ist.

                                  Vorteil, das Handling das Update Paket zu aktualisieren ist einfacher.

                                  Letztendlich eine persönliche Entscheidung und beides möglich. Sauberer ist das Software Set.

                                  Gruß

                                  Alex
                                  • 14. Re: Verteilung großer Dateien (30GB+)
                                    derniwi Master

                                    also ein Software Set kannst du nachträglich nur noch ändern wenn du es revisionierst. Seit DSM 2016.1 lässt sich auch ein Software Set nicht anpassen wenn es sich um eine Pilot Installation handelt.


                                    Genuaer: ein freigegebenes Set kann man natürlich nicht bearbeiten, also keine Pakete hinzufügen oder entfernen. Verschiedene Anpassungen wie etwa Shop-Kategorie, Anzeigename oder auch Haken bei "Deinstallation unterstützt" können geändert werden.

                                    Für Paketänderungen, auch neue Revisionen eines Paketes braucht eine neue Revision des Sets. Diese kann man auch ändern, solange es keine Policy für die neue, nicht freigegebene Revision gibt. Eine Pilot-Installation kann man durchaus durchführen, testen, und diese Policy auch wieder löschen. Dann auch bei den Clients die Policy-Instanzen wegräumen. Und dann darf man auch wieder ein Paket hinzufügen oder entfernen.

                                    Ein Set ist meiner Meinung nach die sauberste Lösung. Jetzt stellt sich noch die Frage, ob Du eine oder mehrere VMs für ein bestimmtest OS benötigst (als Basis).

                                    Es ist durchaus möglich, ein Paket "VM Windows XP SP3 Deutsch" zu erstellen und dieses in mehreren Sets zu verwenden. Damit sparst Du natürlich auch viel Platz. Wenn Du aber auf einem PC zwei VMs benötigst, dann wird es komplizierter. Ich weiß nicht, ob man bei VMware verschiedene Speicherorte verwenden kann, die man dann per Installationparameter übergeben könnte.

                                    Wenn es nur eine VM pro echtem PC ist, dann ist die Sache somit auch relativ sauber.

                                    Das zweite Paket im Set würde dann nur die Änderungen beinhalten. Jetzt muss man noch irgendwie schauen, dass ein Anwender am PC nicht einen weiteren Snapshot (so heißt es halt bei VirtualBox) der VM erstellt oder die Snapshots konsolidiert. Damit würde man wahrscheinlich Probleme mit einem Update bekommen.

                                    Vor einem Update solltest Du auch prüfen, dass VMWare nicht gestartet ist.