Migracja maszyny z ASM (Classic) do ARM. Niezgodnie z procedurą ale skutecznie.

Zanim zaczniesz czytać dalej muszę Cię ostrzec.

To, co zobaczysz, nie jest zgodne z oficjalną procedurą Microsoft a być może nie zostało tylko opisane. Zapraszam Cię, jeśli chcesz dowiedzieć się jak „zmigrować” maszynę z ASM, która jest w sieci ale.. nie migrować tej sieci i utrzymać ten sam adres IP. Tekst by nie powstał, gdyby nie Paweł Wieczorek.

Jeśli tak „brzydkie” słowa jak ASM, ARM nie wiele Ci mówią to zanim pójdziesz dalej przeczytaj dwa słowa tutaj. W szczególności zobacz, czym różnią się oba modele „deploymentu” w Azure.

Ale do rzeczy…

Problem:

  1. masz maszyny w ASM w zdefiniowanej sieci
  2. chcesz maszyny zmigrować z ASM do ARM
  3. przy tej okazji, nie chcesz migrować sieci, w której maszyny pracują. Z różnych powodów, sieć ta nadal jest Ci potrzebna w modelu ASM.
  4. chcesz nadal przenieść publiczne adresy IP, których maszyny aktualnie używają

Co więc nie jest wspierane?

Według dokumentacji, możesz przenieść maszynę, która nie ma sieci (nie występuje w vnet’cie) lub maszynę w sieci ale wtedy zawsze z nią. Nie można zostawić sieci w ASM, co akurat nam w czasie migracji było niezbędne.

Rozwiązanie, które nie jest zgodne z procedurą ale działa. Opiszę tutaj tylko główne kroki. Jeśli będziesz miał problem z którymś z nich, daj znać.

  1. Wyłącz maszynę, którą chcesz „zmigrować”. Nie musisz na niej wykonywać żadnych operacji wcześniej. Po prostu ją zatrzymaj (stan Deallocated). Proponuję też byś zrobił jej backup za pomocą Azure Backup, zanim pójdziemy dalej. Tak na wszelki wypadek 🙂
  2. Zanim zaczniesz, załóż nowe konto (Storage Account) używając oczywiście modelu ARM. W ramach tego konta utwórz kontener, w którym będzie dysk twardy migrowanej maszyny.
  3. Otwórz narzędzie Azure Storage Explorer. Więcej o narzędziu jak i link do pobrania znajdziesz na tym blogu
  4. W Azure Storage Explorer znajdź konto na którym aktualnie znajduje się dysk maszyny i skopiuj go do kontenera, w ramach nowo założonego konta z pkt 3. Do tego procesu możesz równie dobrze użyć AzCopy. Testowaliśmy oba scenariusze.
  5. Jeśli chcesz by maszyna miała ten sam publiczny adres IP co wcześniej, wtedy wykorzystaj polecania opisane tutaj, by wykonać migrację samego PIP.
  6. Stwórz nową maszynę wirtualną, wykorzystując jako dysk systemowy, ten który aktualnie skopiowałeś oraz zmigrowany adres IP. Do tego celu najlepszy będzie PowerShell. Możesz wykorzystać tę procedurę.
  7. Uruchom maszynę i trzymaj kciuki by „wstała”.

Koniec! Gratulacje! Już! 

Twoja maszyna powinna poprawnie wstać i działać.

Proces testowaliśmy na kilku maszynach z Windows i Linux (Ubuntu). W mojej opinii jest tylko jeden punkt całej procedury, o którym oficjalnie nie pisze MS. Jest to kopiowanie dysku pomiędzy kontem w ASM i ARM. Sama jednak migracja kont danych z ASM do ARM jest wspierana więc nie widzę zagrożenia.

Powodzenia w Twoich migracjach.

Ten wpis został opublikowany w kategorii Migration i oznaczony tagami , , , . Dodaj zakładkę do bezpośredniego odnośnika.