2016-03-07 11 views
6

Przechowuję dane w tabelach magazynów Azure i magazynach obiektów blob. Chciałbym automatycznie wykonywać kopie zapasowe moich danych, aby chronić przed przypadkowymi uszkodzeniami danych przez użytkowników lub problemy z oprogramowaniem. Nie ma dobrego rozwiązania w tym zakresie ze strony Microsoftu i chociaż istnieją płatne rozwiązania do automatycznego tworzenia kopii zapasowych, wydaje się, że powinien istnieć prosty sposób tworzenia kopii zapasowych i przywracania tych danych.Jak tworzyć kopie zapasowe tabel Azure i obiektów Blob

+0

Do przechowywania tabel użyj [AzCopy] (http://aka.ms/downloadazcopy). Działa dobrze i może być również wykorzystywany w skryptach automatyzacji. '' 'azcopy.exe/Source: http: // PathToYourTableStorage/Dest: C: \ YourFolderPath/Key: StorageAccessKey1or2''' –

+0

Możesz również użyć [tego skryptu] (https://github.com/higtrollers/Scripts/tree/master/Azure % 20Table% 20Storage) w procesie CI. –

+0

Zrobiłem skrypt ten [https://github.com/kritollm/tablesbackup]. To tylko tworzenie kopii zapasowych zmian w tabelach, dzięki czemu można go często uruchamiać. – user3717718

Odpowiedz

1

Po przeprowadzeniu wielu badań na temat najlepszego sposobu automatycznego tworzenia kopii zapasowych danych okazało się, że najłatwiej to zrobić, aby zaplanować zadanie w Harmonogramie zadań systemu Windows na maszynie wirtualnej Azure, która używa AZCopy. AZCopy wykonuje operację przenoszenia danych tabeli do maszyny wirtualnej, a następnie wycofuje się do dodatkowego magazynu blob na platformie Azure w celu przechowywania kopii zapasowej. Plik wsadowy powoduje również, że AZCopy kopiuje bloki z konta magazynu źródłowego bezpośrednio na konto docelowe.

Można zobaczyć szczegółowy opis, jak zrobiłem to dzieło wraz z linkami do plików wsadowych, które używam do automatyzacji tworzenia kopii zapasowych na ten link: http://www.eastfive.com/2016/03/01/automated-backup-of-azure-storage-tables-and-blobs/

02/08/2018 aktualizacji na tę odpowiedź : Podniosłem to pytanie do wsparcia platformy Azure w dniu 18 stycznia 2018 r., Zakładając, że na pewno mieli sposób zrobić to teraz za pośrednictwem usługi na Azure. Niestety tak nie jest i istnieje (zgodnie z obsługą Microsoft) lepszy sposób tworzenia kopii zapasowych tabel niż te, które istniały, gdy pierwsze pytanie było zadane. Jest to odpowiedź od wsparcia od 01/24/2018:

„Sprawdziliśmy nad Twoim przypadku i niestety nie jest sposobem zrobić migawkę całego konta lub pojemnika a więc jedynym sposobem wykonywanie migawek w usłudze Azure Storage odbywa się za pomocą iteracji typu "blob" i stosowania migawek, a następnie migracji migawek do drugiego konta . Można też po prostu skopiować rzeczywiste pliki do innego konta , ale będzie to miało większe opóźnienie i będzie bardziej kosztowne przy przechowywaniu pojemność, gdzie migawki zajmowałyby mniej i byłyby szybsze do przeniesienia .
Metody obsługujemy transfer: AzCopy i Data Movement Library, które mogą być używane do tworzenia niestandardowych migracji rozwiązań w języku Java lub C#.
Jeśli chcesz zautomatyzować te procesy następnie można to zrobić za pomocą PowerShell i Azure Automation lub z Azure funkcje, ale pomoc z tych rozwiązań będzie prawdopodobnie potrzebować zostać podniesiona przez inne żądanie wsparcia, jak mój zespół czysto obsługuje Azure Storage. "

Tak, wciąż istnieje nie zautomatyzowany sposób to zrobić tych kopii zapasowych. Mój zespół pracuje nad biblioteką robić kopie zapasowe. Gdy mamy, że zakończone, będę pisać tutaj.

+1

Możesz chcieć ponownie sprawdzić swoje wykorzystanie AzCopy, ponieważ nie ma potrzeby, aby kiedykolwiek kopiować obiekty typu blob na pośrednią maszynę wirtualną; jest przeznaczony do bezpośredniego kopiowania między obiektami blob-blob. Przy przechowywaniu tabel musisz kopiować dane, nawet jeśli przechowujesz json/csv w blobie później. –

+0

@DavidMakogon, dzięki za złapanie tego błędu w moim piśmie. Zaktualizowałem odpowiedź, aby odzwierciedlić, że dane tabeli są pobierane lokalnie, podczas gdy dane blob są przesyłane bezpośrednio do celu. –

+0

Przepraszam, tylko wyjaśniłem. Dawno, dawno temu kopiowanie typu "blob" działało tylko poprzez przeniesienie do tymczasowej przestrzeni. Nie wiedziałem, czy ta informacja (poza danymi) wciąż się zmienia ... –

1

można również użyj narzędzi innych firm, takich jak Cerebrata Azure Management Cmdlets lub functionalit y Asynchronous Copy Blob ogłaszany przez zespół Microsoft Azure Storage, który zasadniczo umożliwia kopiowanie danych z jednego konta pamięci masowej do innego konta magazynu bez pobierania danych lokalnie.

Sprawdź wątek, aby uzyskać więcej informacji: What is the best way to backup Azure Blob Storage contents.

Mam nadzieję, że to pomoże.

+0

Derek, Dzięki za komentarz. Spojrzałem na Cmartlets Cerebrata i wyglądali obiecująco, ale mieli 125 $, gdzie moje polecenia wypisywania do AZCopy.exe są bezpłatne. Co więcej, jeśli spojrzysz na moje odpowiedzi powyżej, możesz zobaczyć, że wyjaśniłem, że AZCopy robi kopię blobów po stronie serwera, więc nie muszą opuszczać Azure. Przechowywanie w tabeli to inna historia - dane tabeli muszą być pobierane lokalnie, przynajmniej w tym momencie. Dziękuję za twój komentarz. –

+0

@ Kee Holloway, przepraszam, że nie zauważyłem, że i kiedy wątek, który dołączyłem, nie powinien być ogłaszany. W tej chwili AzCopy powinien być najlepszym sposobem tworzenia kopii zapasowych danych na platformie Azure. – Derek

+0

Cmdlets Cerebrata Azure Management zostało wycofane! –

Powiązane problemy