Η μετακίνηση δεδομένων σε αποθήκευση σύννεφων μπορεί να αποτελέσει μια σειρά προκλήσεων για οργανισμούς σε όλες τις βιομηχανίες. Ορισμένες από αυτές τις προκλήσεις περιλαμβάνουν την εύρεση ενός εργαλείου που μπορεί να απλοποιήσει τη διαδικασία και μια λύση που μπορεί να μεταφέρει τα δεδομένα στο σύννεφο όσο το δυνατόν γρηγορότερα. Αυτό το ιστολόγιο θα εξετάσει δύο μεθόδους που χρησιμοποιούνται για τη μεταφορά αρχείων στη Microsoft Αποθήκευση Azure Blob: χρησιμοποιώντας το εργαλείο της Microsoft AzCopy και χρησιμοποιώντας FileCatalyst Direct.

Για τις δοκιμές, χρησιμοποίησα πολλαπλά VM μέσα σε Azure. Επίσης επέλεξα περιοχές γεωγραφικά διασκορπισμένες για να δημιουργήσουν λανθάνουσα κατάσταση μεταξύ της πηγής και της θέσης αποθήκευσης. Εδώ είναι το πώς το έθεσα:

Η μηχανή πελάτη / προέλευσης φιλοξενήθηκε στην περιοχή της Δυτικής Ευρώπης. Το μηχάνημα ήταν ένα πρότυπο D4s v3 (4 vcpus, μνήμη 16GB το καθένα) με Windows Server 2016 Datacenter. Δείτε τις πλήρεις προδιαγραφές στην παρακάτω εικόνα:

Επειδή λειτουργούσε ως μηχανή αποστολής / φόρτωσης, για να βεβαιωθείτε ότι η ταχύτητα ανάγνωσης ήταν αρκετά καλή για ταχύτητες πολλαπλών Gbps, ορίσαμε μια αποθήκευση υψηλής ταχύτητας και την προσαρτήσαμε στο VM:

Τότε έχω ρυθμίσει ένα δοχείο αποθήκευσης Azure Blob στη δυτική περιοχή των ΗΠΑ:

Απενεργοποίησα τη λειτουργία "Απαιτείται ασφαλής μεταφορά" για το χώρο αποθήκευσης Blob, καθώς το HTTPS καταναλώνει πολύ περισσότερη ισχύ CPU. Προφανώς, αυτό δεν συνιστάται εάν χρειάζεστε ασφαλείς μεταφορές. Απλά γνωρίζετε ότι τα μηχανήματα αποστολής θα χρησιμοποιήσουν πολύ περισσότερο από τους πόρους της CPU σας εάν χρησιμοποιείτε το HTTPS. Τέλος, δημιούργησα ένα δοχείο που ονομάζεται "testcontainer" που θα λάβει τα αρχεία.

Για να μεταφέρω αρχεία χρησιμοποιώντας το FileCatalyst Direct, χρειάστηκα ένα VM που φιλοξενήθηκε στην ίδια περιοχή με το δοχείο αποθήκευσης Blob. Έτσι, δημιούργησα ένα VM με δύο πυρήνες ως μηχανή αποστολής δεδομένου ότι θα κάνει δύο φορές την εργασία. Το VM πρέπει να λάβει τη ροή UDP που έχει επιταχυνθεί με FileCatalyst και στη συνέχεια να στείλει αυτά τα δεδομένα στην αποθήκευση του Blob με τον ίδιο ρυθμό. Χρησιμοποίησα ένα τυπικό DS4 v2 (8 vCPUs, 28 GB μνήμη), πλήρεις προδιαγραφές παρακάτω:

Δεδομένου ότι το FileCatalyst Direct γράφει δεδομένα απευθείας στο αποθηκευτικό χώρο του Bob, δεν χρειάστηκε να ορίσω κανένα γρήγορο αποθηκευτικό χώρο για το West US VM. Τα δεδομένα αρχείου ρέουν απευθείας στην αποθήκευση blob.

Σημειώστε ότι για όλα τα εμπλεκόμενα VM, έπρεπε να ενεργοποιήσω Επιτάχυνση δικτύωσης για ταχύτητες υψηλότερες από το 1 Gbps.

Η προσθήκη του λογαριασμού αποθήκευσης Azure Blob σε ένα διακομιστή FileCatalyst είναι μια εύκολη διαδικασία. απλώς πηγαίνετε στην καρτέλα Συστήματα αρχείων και πατήστε Νέο, επιλέξτε "Azure Blob" και εισάγετε το όνομα του λογαριασμού σας, το κλειδί λογαριασμού και το τελικό σημείο. Δες παρακάτω:

Τώρα που έχω προσθέσει λογαριασμό αποθήκευσης Azure Blob σε ένα διακομιστή FileCatalyst, μπορώ να ορίσω έναν λογαριασμό χρήστη που δείχνει στο κοντέινερ σας. Δες παρακάτω:

Για να ανεβάσετε τα αρχεία, το FileCatalyst HotFolder εγκαταστάθηκε στη μηχανή της Δυτικής Ευρώπης. Σε αυτό το σημείο, ήμουν έτοιμος να δοκιμάσω και να συγκρίνω το AzCopy με το FileCatalyst Direct.

Πραγματοποίησα δοκιμές 3:

  1. Μεταφέρετε ένα αρχείο 5GB από τοπικό αποθηκευτικό χώρο στη Δυτική Ευρώπη σε απομακρυσμένο δοχείο Azure Blob στις δυτικές ΗΠΑ
  2. Μεταφέρετε δέκα αρχεία 500MB από τοπικό αποθηκευτικό χώρο στη Δυτική Ευρώπη σε απομακρυσμένο δοχείο Azure Blob στη Δυτική Αμερική
  3. Μεταφέρετε χίλια αρχεία 500KB από την τοπική αποθήκη στη Δυτική Ευρώπη σε απομακρυσμένο δοχείο Azure Blob στη Δυτική Αμερική

Όλες οι δοκιμές, τόσο για το FileCatalyst όσο και για το AzCopy, εκτελέστηκαν δέκα φορές. Τα αποτελέσματα υπολογίστηκαν κατά μέσο όρο και συγκρίθηκαν.

Ακολουθεί ένα στιγμιότυπο οθόνης του AzCopy που μεταφορτώνει ένα μόνο αρχείο 5GB από τη Δυτική Ευρώπη στο Blob storage στις δυτικές ΗΠΑ. Μπορείτε να δείτε ότι η μεταφορά ολοκληρώθηκε κάτω από το 1 Gbps.

Ακολουθεί ένα στιγμιότυπο οθόνης του FileCatalyst HotFolder που μεταφορτώνει το ίδιο αρχείο από τη Δυτική Ευρώπη με το Blob storage στη Δυτική Αμερική. Μπορείτε να δείτε ότι το FileCatalyst Hotfolder διατήρησε το 2 Gbps κατά τη διάρκεια της δοκιμής.

Ακολουθεί μια πλήρης ανάλυση των αποτελεσμάτων των δοκιμών:

Το AzCopy υπερέχει κατά την έναρξη των δοκιμών. Ωστόσο, ο ρυθμός αιχμής για το HotFilder FileCatalyst σχεδόν διπλασιάζεται. Στις περισσότερες περιπτώσεις, το FileCatalyst Hotfolder έχει επίσης πολύ χαμηλότερη χρήση CPU.

Το FileCatalyst μπορεί να παρέχει τα ακόλουθα πλεονεκτήματα για τις μεταναστεύσεις δεδομένων σε Azure:

  • Ταχύτερη ταχύτητα μεταφοράς για μεγάλα αρχεία (> 500MB) όταν το εύρος ζώνης υπερβαίνει το 1.5 Gbps με> 80ms RTT ή 1.0 Gbps με> 150ms RTT
  • Λιγότερο εντατική CPU σε υπολογιστή-πελάτη - πιο εύκολο να κλιμακωθεί σε υψηλότερες ταχύτητες
  • Το FileCatalyst χρησιμοποιεί μια ενιαία ροή UDP ανά αρχείο αντί για πολλαπλές ροές TCP = φιλικότερη προς άλλη κίνηση
  • Χαρακτηριστικά επιπέδου εφαρμογής, συμπεριλαμβανομένης της αυτοματοποίησης και ενός προγράμματος μεταφόρτωσης ιστού
  • Μπορεί να κλιμακωθεί πέρα ​​από το 2 Gbps όταν η υποδομή το επιτρέπει. Δεν περιορίζεται από το γεγονός ότι η RTT δεν απαιτεί την περαιτέρω κλιμάκωση των ροών.
  • Πολύ ανεκτική για την απώλεια πακέτων (wifi και δίκτυα κινητής τηλεφωνίας) και jitter (δεσμών και πολλαπλών συνδέσεων)

Προφανώς, επέλεξα να χρησιμοποιήσω τα Windows για τις δοκιμές μου (Afterall, είναι το Windows Azure). Αυτές οι δοκιμές θα μπορούσαν εύκολα να επαναληφθούν χρησιμοποιώντας το Linux, καθώς τόσο το AzCopy όσο και το FileCatalyst Direct λειτουργούν με Linux.

Πώς μπορείτε να λάβετε αυτά τα αποτελέσματα

Για να λάβετε αυτά τα αποτελέσματα όταν μεταφέρετε αρχεία από τη δική σας υποδομή σε αποθήκευση Azure Blob χρησιμοποιώντας το AzCopy, δεν χρειάζεται να χρησιμοποιήσετε εργαλεία ή VMs εκτός από AzCopy.

Αν θέλετε να επιτύχετε ταχύτερες ταχύτητες χρησιμοποιώντας το FileCatalyst, θα πρέπει να ξεκινήσετε ένα VM στην ίδια περιοχή με το δοχείο αποθήκευσης Azure Blob. Εάν χρειάζεστε ταχύτητες πάνω από 3 Gbps, πρέπει να επιλέξετε μια παράμετρο F16. Μπορείτε να μειώσετε ανάλογα το μέγεθος εάν δεν απαιτείτε μεγάλη ταχύτητα.

Θα χρειαστεί να πάρετε μια άδεια FileCatalyst (ζητήστε δωρεάν δοκιμή εδώ) και να εγκαταστήσετε το FileCatalyst Server στο VM που εκτελείται στην ίδια περιοχή με την αποθήκευση Blob. Μόλις εγκατασταθεί ο διακομιστής FileCatalyst, μπορείτε να εγκαταστήσετε τους πελάτες FileCatalyst στην υποδομή σας (χρησιμοποιήσαμε HotFolder στις δοκιμές μας).

Και αυτό είναι λίγο πολύ! Απλά ακολουθήστε τον οδηγό Getting Started που συνοδεύει το λογισμικό FileCatalyst και θα μεταφερθείτε σε αποθήκευση Azure Blob σε χρόνο μηδέν!

Περαιτέρω αποτελέσματα

Λίγες εβδομάδες μετά τη σύνταξη όλων αυτών των αποτελεσμάτων, ήμουν σε θέση να φτάσω ταχύτητες έως και 3 Gbps με το FileCatalyst, αυξάνοντας τα μεγέθη εμφάνισης σε F16. Έχω επίσης επαληθεύσει ότι ο οδηγός μας για το Azure Blob μπορεί να γράψει πραγματικά από μια παρουσία στην ίδια περιοχή με την αποθήκευση (περίπου 7 Gbps) κατά τη μεταφορά των αρχείων 5 κάθε φορά. Όταν το εύρος ζώνης είναι διαθέσιμο, δεν υπάρχει κανένας λόγος ότι το FileCatalyst θα περιοριζόταν από οτιδήποτε άλλο εκτός από τα σημεία συμφόρησης της CPU. Υποψιάζομαι καθώς πλησιάζετε στο 6-7 Gbps, θα χρειαστεί να χρησιμοποιήσετε τα πλαίσια Jumbo για να πάτε πιο γρήγορα. Αλλά ο καθοριστικός παράγοντας για το εύρος ζώνης όταν εκτελείτε VMs σε Azure είναι το μέγεθος του στιγμιότυπου. Δείτε τους παρακάτω συνδέσμους σχετικά με το αναμενόμενο εύρος ζώνης για κάθε μέγεθος εμφάνισης.

αναφορές

Μου βρήκε δύσκολο να βρω όλα τα εκπαιδευτικά έγγραφα που χρησιμοποίησα για να βρω τις καλύτερες ταχύτητες στην Azure υποδομή, οπότε εδώ είναι μερικοί από τους συνδέσμους που χρησιμοποιούσα για να ξεκινήσω:

Τα μεγέθη διαστάσεων και το αναμενόμενο εύρος ζώνης για κάθε - https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-compute

Βελτιστοποίηση του εύρους ζώνης στις εμφανίσεις σας - https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-optimize-network-bandwidth

Δοκιμάζοντας την ταχύτητα μεταξύ των παρουσιών σας ή μεταξύ της τοπικής σας υποδομής και ενός Azure VM - https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-bandwidth-testing

Πώς να ενεργοποιήσετε την Επιτάχυνση Δικτύωσης σε μια κατάσταση Azure - https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-vm-accelerated-networking