Tydzień z Azure – odcinek #40

Nabraliśmy tempa z Darkiem dlatego żeby dotrzymać tradycji – kolejny tydzień to kolejny odcinek naszego webcastu 🙂 Zapraszamy zatem do oglądania, like’owania, komentowania i share’owania!

Oglądaj!

Szybkie kopiowanie plików z/do/pomiędzy Azure

Jedną z najczęściej pojawiających się potrzeb wśród użytkowników Microsoft Azure jest potrzeba skopiowania do Azure jakiejś dużej ilości danych, plików etc. . Później pojawia się potrzeba ściągania dużych ilości danych, a już w bardziej zaawansowanych scenariuszach użytkownicy kopiują dane pomiędzy kontami storage w Azure. Oczywiście mówię tu o rozsądnym wgrywaniu, ściąganiu danych do Azure, bo w razie potrzeby skopiowania w obojętnie, którą stronę można skorzystać z usługi Import/Export gdzie wysyłamy/odbieramy dysk z danymi do/z Azure 🙂

Scenariusze o jakich tu mowa to jakieś pliki np. strony internetowej czy bardzo często pliki .vhd dla maszyny wirtualnej, która została stworzona w lokalnej serwerowni czy wręcz na lokalnym komputerze. Na rynku jest całkiem sporo eksploratorów plików dla Azure. Na blogu zespołu Azure Storage można znaleźć ich listę. Są one o tyle fajne, że często mają całkiem ładny interfejs graficzny, pozwalają w łatwy i przyjemny sposób kopiować pliki do/z Azure’a, a także często umożliwiają obsługę innych komponentów Azure Storage takich jak tabele czy kolejki.

Jeśli jednak zależy nam na wydajności i prędkości kopiowania plików nic na dzień dzisiejszy nie jest w stanie zastąpić AzCopy! To najlepsze narzędzie do tego typu zadania. Jest to narzędzie napisane bezpośrednio przez osoby z grupy Azure Storage. Jest super wydajne i efektywne w tym co robi. Tutaj znajduje się pełen opis możliwości tego narzędzia.

Poniżej podaje przykład wywołania tego narzędzia z dnia dzisiejszego, kiedy to chciałem skopiować 50GB plik .vhd z maszyną wirtualną do Azure. Wydałem takie oto polecenie

azcopy f:\katalog http://mojekonto.blob.core.windows.net/vhds /destkey:mojklucz /blobtype:page /V

I to wystarczyło aby 50GB plik został wgrany do Azuer Storage w czasie 40:57 min! Oczywiście… wiele zależy od łącza jakie mamy dostępne, ale z doświadczenia wiem, że żadna inna aplikacja nie zrobiłaby tego szybciej.

A samo polecenie ma bardzo prostą składnie:

azcopy – wywołanie aplikacji (jeśli nie ma się jej w PATH to trzeba odpalić to ze ścieżki C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy\azcopy.exe)

f:\katalog – katalog, z którego chcemy zgrać pliki. Ja miałem akurat tylko jeden plik więc podałem najprostszą formę

http://mojekonto.blob.core.windows.net/vhds – adres do naszego konta storage oraz kontenera (vhds), do którego mają być wgrane pliki. AzCopy jest oczywiście na tyle sprytny, że jeśli kontenera nie ma na naszym koncie – założy je

/destkey:mojklucz – klucz dostępu do konta storage, które można pobrać z portalu lub za pomocą cmdlet’a PowerShellowego

/blobtype:page – pliki w  blob storage mogą być typu block albo page. Pliki .vhd maszyn wirtualnych muszą być typu page, więc taki ustawiam. Więcej informacji na temat różnic pomiędzy tymi typami znajduje się tutaj

/V – włączam tryb verbose, który zapisuje wszystkie operacje do loga

Ot, cała filozofia działania super przydatnej aplikacji 🙂