Jak przenieść data volume między dwiema maszynami wirtualnymi przy użyciu OpenStack Horizon na NSIS
Volume są używane do przechowywania danych, a dostęp do nich można uzyskać z maszyny wirtualnej, do której volume jest podłączony. Aby uzyskać dostęp do danych przechowywanych na volume z innej maszyny wirtualnej, należy odłączyć ten volume od maszyny wirtualnej, do której jest aktualnie podłączony, i podłączyć go do innej instancji.
Ten artykuł wykorzystuje pulpit nawigacyjny Horizon do przesyłania volume między maszynami wirtualnymi, które znajdują się w tym samym projekcie.
Wymagania wstępne
Nr 1 Hosting
Potrzebne jest konto hostingowe NSIS z interfejsem Horizon https://horizon.cloudferro.com.
Nr 2 Źródłowa maszyna wirtualna i volume
Zakładamy, że masz maszynę wirtualną (którą nazwiemy źródłową maszyną wirtualną), do której dołączony jest volume.
Nr 3 Docelowa maszyna wirtualna
Zakładamy również, że chcesz uzyskać dostęp do danych przechowywanych na volume wspomnianym w Wymaganiu wstępnym nr 2 z innej instancji, która znajduje się w tym samym projekcie - nazwiemy tę instancję docelową maszyną wirtualną.
Co obejmuje ten artykuł?
Upewnij się, że transfer jest możliwy
Projekty muszą znajdować się w tej samej chmurze
Volume nie może być używany do uruchamiania systemu operacyjnego
Zgodność z systemem plików
Upewnienie się, że źródłowa maszyna wirtualna nie próbuje uzyskać dostępu do volume
Inne warunki volume i instancji dla pomyślnego transferu
Wyłączanie źródłowej maszyny wirtualnej
Wyłączanie źródłowej maszyny wirtualnej przy użyciu pulpitu nawigacyjnego Horizon
Odłączanie volume
Dołączanie volume do docelowej maszyny wirtualnej
Niektóre części zrzutów ekranu w tym artykule są wyszarzone ze względu na ochronę prywatności.
Upewnij się, że transfer jest możliwy
Przed faktycznym transferem należy sprawdzić stan volume i instancji oraz stwierdzić, czy transfer jest możliwy od razu, czy też należy najpierw wykonać inne operacje:
Projekty muszą znajdować się na tej samej chmurze
Jeśli projekty nie znajdują się na tej samej chmurze, nie należy korzystać z tego artykułu, a zamiast tego zapoznać się z jednym z tych artykułów:
Volume nie może być używany do uruchamiania systemu operacyjnego
Jeśli volume nie jest używany do uruchamiania systemu operacyjnego na maszynie wirtualnej, wymóg ten jest spełniony.
Jeśli jednak volume jest używany do uruchamiania systemu operacyjnego, można przekonwertować go na zwykły volume.
Konwersja volume rozruchowego do zwykłego volume uratuje sytuację, jeśli system operacyjny na volume zacznie działać nieprawidłowo i konieczne jest przynajmniej zapisanie danych; wystarczy dołączyć zwykłą wersję tego volume do innej maszyny wirtualnej i skopiować dane.
Jeśli przekonwertowałeś ten volume i wszystkie inne warunki wymienione w sekcji Upewnij się, że transfer jest możliwy są spełnione, nie musisz odłączać volume od maszyny wirtualnej i możesz zignorować części artykułu dotyczące tego procesu.
Zgodność z systemem plików
Aby uzyskać dostęp do danych, system plików na volume musi być zgodny z systemem plików w docelowej wirtualnej maszynie.
Najprostszym przypadkiem jest użycie systemu plików NTFS, ponieważ zarówno Windows, jak i Linux mogą uzyskać dostęp do danych w tym formacie. Nie jest to gwarantowane, więc może być wymagane zainstalowanie dodatkowych sterowników w celu zapewnienia kompatybilności.
Należy również pamiętać, że system Windows domyślnie nie obsługuje formatu ext4, który jest systemem plików powszechnie używanym w systemie Linux.
Upewnienie się, że źródłowa maszyna wirtualna nie próbuje uzyskać dostępu do volume
Należy upewnić się, że źródłowa maszyna wirtualna nie próbuje ponownie uzyskać dostępu do volume.
Dokładne kroki będą się różnić w zależności od systemu operacyjnego i wykraczają poza zakres tego artykułu. Mogą one obejmować:
usunięcie volume z pliku /etc/fstab
usunięcie pliku systemd .mount
i tak dalej.
Inne warunki volume i instancji dla pomyślnego transferu
Volume musi:
być podłączony do maszyny wirtualnej,
mieć status in use, a nie, powiedzmy, error lub inny
nie może być używany przez żadną instancję do uruchamiania z niego systemu operacyjnego.
Możesz sprawdzić Status volume w sekcji Volumes -> Volumes na pulpicie nawigacyjnym Horizon. Na poniższym zrzucie ekranu status jest oznaczony zielonym prostokątem.
Instancja musi być:
włączona lub wyłączona
nie może mieć innego statusu, takiego jak error, suspended lub paused.
Status instancji można sprawdzić w sekcji Compute -> Instances na pulpicie nawigacyjnym Horizon. Na poniższym zrzucie ekranu status jest oznaczony niebieskim prostokątem.
Aby dowiedzieć się więcej o różnych stanach, w których może znajdować się maszyna wirtualna, zobacz Status Power State oraz zależności w rozliczaniu instancji VM na NSIS Cloud
Jeśli wszystkie te warunki są spełnione, poniżej znajduje się instrukcja jak przenieść volume z instancji źródłowej do instancji docelowej w tym samym projekcie.
Zamykanie źródłowej maszyny wirtualnej
Volume i jego maszyna wirtualna są ze sobą połączone, więc nagłe ich odłączenie może spowodować utratę niektórych danych na volume. Aby zachować bezpieczeństwo, maszyna wirtualna powinna być wyłączona podczas odłączania.
Przejdź do Compute -> Instances. Powinieneś zobaczyć tabelę zawierającą twoje maszyny wirtualne:
Sprawdź Status i Power State źródłowej maszyny wirtualnej. Na tym zrzucie ekranu wartości te są oznaczone odpowiednio zielonym i czerwonym prostokątem.
Jeśli Status twojej źródłowej maszyny wirtualnej to Shutoff, a jej Power State to Shut Down, zignoruj resztę tej sekcji (a także sekcję Wyłączanie maszyny wirtualnej za pomocą pulpitu Horizon i przejdź bezpośrednio do sekcji Odłączanie volume.
Jeśli jednak Status maszyny wirtualnej to Active, a Power State to Running, wyłącz maszynę wirtualną.
Takie wyłączenie można przeprowadzić na dwa sposoby:
- Korzystanie z pulpitu nawigacyjnego Horizon
OpenStack najpierw zażąda wyłączenia maszyny wirtualnej. Jeśli maszyna wirtualna nie zdoła tego zrobić, po okresie karencji OpenStack wymusi jej wyłączenie.
- Korzystanie z systemu operacyjnego maszyny wirtualnej
W rzadkich przypadkach to wymuszone wyłączenie może prowadzić do utraty danych, więc alternatywą jest użycie natywnych poleceń systemu operacyjnego. Szczegóły techniczne są jednak poza zakresem tego artykułu.
Zamykanie maszyny wirtualnej przy użyciu pulpitu nawigacyjnego Horizon
Pomiń tę sekcję, jeśli źródłowa maszyna wirtualna jest już wyłączona lub jeśli zdecydowałeś się użyć funkcji zainstalowanego na niej systemu operacyjnego, aby ją wyłączyć.
Z rozwijanego menu w sekcji Actions źródłowej maszyny wirtualnej wybierz Shut Off Instance:
Poczekaj, aż źródłowa maszyna wirtualna będzie miała następujący Power State: Shut Down. Może być konieczne wielokrotne odświeżenie strony.
Odłączanie volume
Przejdź do sekcji Volumes -> Volumes na pulpicie nawigacyjnym Horizon. Powinieneś zobaczyć listę swoich volumes:
W kolumnie Actions wiersza reprezentującego volume, który chcesz przenieść, użyj strzałki, aby wyświetlić menu rozwijane:
Wybierz Manage Attachments. Następne okno powinno informować, do której maszyny wirtualnej dołączony jest volume:
Kliknij przycisk Detach Volume. Zostaniesz poproszony o potwierdzenie:
Aby potwierdzić, kliknij Detach Volume.
Volume nie powinien mieć teraz żadnej wartości w sekcji Attached To:
Dołączanie volume do docelowej maszyny wirtualnej
Upewnij się, że nadal znajdujesz się w sekcji Volumes -> Volumes pulpitu nawigacyjnego Horizon. W wierszu reprezentującym volume, z rozwijanego menu w kolumnie Actions, ponownie wybierz Manage Attachments:
Powinno pojawić się to okno:
Z rozwijanego menu Attach to Instance wybierz instancję, do której chcesz dołączyć volume - docelową maszynę wirtualną.
Kliknij przycisk Attach volume.
Poczekaj, aż dołączanie zostanie zakończone. Jeśli proces zakończył się pomyślnie, w kolumnie Attached To powinna pojawić się odpowiednia informacja:
Co można zrobić dalej?
Teraz, gdy volume został podłączony do docelowej maszyny wirtualnej, można zezwolić lub uprościć dostęp do niego z tej maszyny wirtualnej. Może to obejmować:
przypisanie litery dysku do volume (w przypadku systemu Windows)
utworzenie punktu montowania i dodanie volume do pliku /etc/fstab (w przypadku systemu Linux)