Skip to main content
  • »
  • CHMURA OPENSTACK »
  • Jak utworzyć instance snapshot przy użyciu Horizon na NSIS Cloud

Jak utworzyć instance snapshot przy użyciu Horizon na NSIS Cloud

W tym artykule dowiesz się, jak utworzyć instance snapshot na chmurze NSIS Cloud, używając dashboardu Horizon.

Instance snapshot pozwalają archiwizować stan maszyny wirtualnej. Następnie można je wykorzystać do:

  • tworzenia kopii zapasowych,

  • migracji między chmurami,

  • odzyskiwania po awarii oraz

  • klonowania środowisk do testowania lub rozwoju.

Są dostępne dwa typy storage dla instancji, ephemeral i persistent.

Plan

W rzeczywistości będziesz używał procedur opisanych w tym artykule z już istniejącymi instancjami.

Jednak aby uzyskać jasne zrozumienie procesu, podczas przeglądania tego artykułu utworzysz dwie nowe instancje, jedną z ephemeral i drugą z persistent typem storage. Nazwij je instance-which-uses-ephemeral i instance-which-uses-volume. Utworzysz instance snapshot dla każdej z nich.

Jeśli interesuje cię tylko jeden z tych typów instancji, możesz przeczytać odpowiednią sekcję tego tekstu.

Jasne jest, że po przeczytaniu sekcji o jednym typie maszyny wirtualnej możesz usunąć zasoby, które utworzyłeś, aby na przykład zaoszczędzić koszty.

Możesz też je zachować i wykorzystać do utworzenia instancji przy użyciu jednego z artykułów wymienionych w Co można zrobić dalej.

Co obejmuje ten artykuł

  • Utwórz instance snapshot, która używa storage ephemeral

    • Przejdź do listy instancji w Horizon

    • Wyłącz maszynę wirtualną

    • Utwórz snapshot

    • Pokaż, co zawiera snapshot dla storage ephemeral

  • Utwórz instance snapshot, która używa storage persistent

    • Przejdź do listy instancji w Horizon

    • Wyłącz maszynę wirtualną

    • Utwórz snapshot

    • Co robi utworzenie instance snapshot ze storage persistent?

    • Przegląd instance snapshot i volume snapshot, które zostały utworzone wraz z nią

    • Co się dzieje, kiedy istnieje wiele volume?

  • Pobieranie instance snapshot

Wymagania wstępne

Nr 1 Konto

Potrzebujesz konta hostingowego NSIS Cloud z dostępem do dashboardu Horizon: https://horizon.cloudferro.com.

Nr 2 Storage ephemeral vs. Storage persistent

Zobacz artykuł Opcja pamięci masowej efemerycznej i trwałej - Utwórz nowy volume w NSIS, aby zrozumieć podstawową różnicę między storage ephemeral a storage persistent w OpenStack.

Nr 3 Instancja ze storage ephemeral

Potrzebujesz maszyny wirtualnej hostowanej na chmurze NSIS Cloud.

Korzystając z któregokolwiek z następujących artykułów, utworzysz instancję ze storage ephemeral:

Ze storage ephemeral, tworzona jest tylko jedna nowa instancja. Jest to uruchomiona instancja.

Nr 4 Instancja ze storage persistent

Podczas tworzenia instancji ze storage persistent, wszystkie kroki w artykułach z Wymagania wstępnego Nr 3 są takie same, z wyjątkiem jednego: ustawiasz opcję Create New Volume na Yes. Szczegóły znajdziesz w: Opcja pamięci masowej efemerycznej i trwałej - Utwórz nowy volume w NSIS.

Ze storage persistent, tworzone są instancja i volume:

  • specjalny rodzaj instancji (bez storage ephemeral) oraz

  • volume, który jest dołączony do tej instancji.

Instancja będzie uruchamiana z volume, który został dołączony podczas tworzenia instancji.

W przeciwnym razie, instancja może mieć dwa lub więcej volume dołączonych do niej, jednak tylko jeden z nich będzie jej startowym volume.

Nr 5 Jak usunąć zasoby

Jeśli chcesz usunąć instancje, snapshot, volume i inne obiekty OpenStack, zobacz następujące artykuły:

Jak poprawnie usunąć wszystkie zasoby projektu za pomocą klientów wiersza poleceń OpenStack na NSIS.

Tworzenie instance snapshot, który używa storage ephemeral

Wykonaj Wymaganie wstępne numer 3 i utwórz instancję o nazwie instance-which-uses-ephemeral.

Przejdź do listy instancji w Horizon

Przejdź do sekcji Compute -> Instances dashboardu Horizon i zobacz listę swoich instancji.

../_images/uses_ephemeral.png

Wyłącz maszynę wirtualną

Pierwszym krokiem podczas tworzenia snapshot jest wyłączenie maszyny wirtualnej. Najlepszą metodą jest użycie funkcji jej systemu operacyjnego. Jeśli, jak tutaj, obrazem używanym był Ubuntu 22.04. LTS, można było użyć konsoli Horizon lub dostępu SSH, aby wykonać polecenie takie jak

sudo shutdown now

Istnieje wiele takich poleceń i będą one zależały od rodzaju obrazu użytego, więc dalsze wyjaśnienia są poza zakresem tego artykułu.

Innym sposobem wyłączenia jest ten dostępny w Horizon. Można kliknąć w menu rozwijane po prawej stronie i stąd wybrać opcję Shut Off Instance.

../_images/shut_off_instance.png

Gdy instancja jest wyłączona, jej Status (na zrzucie ekranu poniżej oznaczonym czerwoną ramką) powinien być Shutoff:

../_images/instance_ephemeral_shut_off.png

Utwórz snapshot

W wierszu zawierającym twoją maszynę wirtualną, z menu rozwijanego w kolumnie Actions wybierz Create Snapshot:

../_images/instance_ephemeral_create_snapshot.png

Powinno pojawić się okno z prośbą o podanie nazwy snapshot:

../_images/instance_ephemeral_snapshot.png

Długoterminowe podejście polega na tym, aby do tej nazwy włączyć

  • datę,

  • godzinę oraz

  • wersję snapshot.

Albo może to być cokolwiek innego, co później przypomni ci, którą wersję snapshot użyć. Tutaj po prostu wprowadź opisową nazwę, taką jak instance_ephemeral_snapshot, i kliknij Create Snapshot.

Powinno cię teraz przekierować do sekcji Compute -> Images dashboardu Horizon. Jeśli nie, przejdź tam sam.

W tej sekcji powinieneś zobaczyć swój nowo utworzony snapshot, wraz z innymi obrazami, w tym tymi, które są dostępne domyślnie na chmurze NSIS Cloud. Poczekaj, aż jej Status (tutaj oznaczony ciemnozieloną ramką) będzie Active:

../_images/instance_blue_green.png

Jeśli okno twojej przeglądarki internetowej jest wystarczająco rozszerzone, powinieneś również zobaczyć rozmiar twojego snapshot, oznaczony ciemno niebieską ramką. Powinien on pokrywać się z wielkością flavora Twojej maszyny wirtualnej. W tym przykładzie wybranym flavorem był eo2a.large o rozmiarze 32 GB. Taką właśnie liczbę widzimy w niebieskiej ramce na powyższym zrzucie ekranu.

Co zawiera snapshot dla storage ephemeral

Ten instance snapshot powinien zawierać zawartość dysku startowego twojej maszyny wirtualnej. Nie będzie ona jednak zawierać zawartości żadnych volume, które mogłyby być podłączone do tej maszyny wirtualnej.

Zasada: Zawsze sprawdzaj, czy istnieją volumes podłączone do instancji. Jeśli chcesz je zachować, skopiuj lub utwórz snapshot każdego z nich.

instance snapshot, która używa storage persistent

Wykonaj Wymaganie wstępne numer 4 i utwórz instancję o nazwie instance-which-uses-volume.

Przejdź do listy instancji w Horizon

Przejdź do Compute -> Instances i zobacz listę istniejących maszyn wirtualnych. Poniższy zrzut ekranu przedstawia obie instancje utworzone w tym artykule – instance-which-uses-ephemeral i instance-which-uses-volume.

../_images/instance_persistent_created.png

Volume, na którym zainstalowany jest system operacyjny instance-which-uses-volume, można znaleźć w sekcji Volumes -> Volumes i ma taką samą nazwę, jak jego ID – 5f92521d-6e71-4d58-a3d9-171eeb9c1e77:

../_images/instance_persistent_volumes_volumes.png

Wyłącz maszynę wirtualną

Wyłącz instance-which-uses-volume. Ponownie, wybór jest między użyciem funkcji jej systemu operacyjnego a użyciem poleceń Horizon. W Horizon, najpierw wyświetl listę instancji z Compute -> Instances, a następnie użyj polecenia Shut Off Instance na instance-which-uses-volume.

Gdy jest wyłączona, jej Power State (na zrzucie ekranu poniżej oznaczonym ciemnozieloną ramką) powinien być Shut Down:

../_images/instance_persistent_shut_down_indees.png

Utwórz Snapshot

W wierszu, który zawiera twoją maszynę wirtualną, z menu rozwijanego w kolumnie Actions, wybierz Create Snapshot:

../_images/instance_persistent_create_shanpshot_button.png

Powinno pojawić się okno, w którym zostaniesz poproszony o podanie nazwy twojego snapshot:

../_images/instance_persistent_new_name.png

Wprowadź opisową nazwę według własnego uznania (w tym przypadku używamy instance_persistent_snapshot) i kliknij Create Snapshot.

Powinieneś teraz zostać przekierowany do sekcji Compute -> Images na dashboardzie Horizon. Jeśli tak się nie stało, przejdź tam samodzielnie.

W tej sekcji powinieneś zobaczyć swój nowo utworzony snapshot, obok innych obrazów, w tym tych, które są dostępne domyślnie w chmurze NSIS Cloud. Pozzekaj, aż jego Status (oznaczony tutaj ciemnozielonym prostokątem) będzie Active.

../_images/instance_persistent_active_0bytes.png

Ponieważ ten snapshot nie zawiera danych zapisanych na dysku twardym maszyny wirtualnej, jego rozmiar (na powyższym zrzucie ekranu oznaczony ciemnoniebieskim prostokątem) wynosi 0 bajtów.

Co się dzieje podczas tworzenia instance snapshotu z storage persistent?

Podczas tworzenia snapshotu instancji ze storage persistent tworzone są następujące elementy:

  • Snapshot volume, który służy jako dysk startowy instancji

  • Snapshot innych volume podłączonych do maszyny wirtualnej (jeśli istnieją).

  • instance snapshot, który wydaje się mieć rozmiar 0 bajtów (ponieważ nie zawiera danych przechowywanych na twojej maszynie wirtualnej). Ten snapshot zawiera listę wszystkich innych (snapshot) w swoich metadanych.

Zwróć uwagę, że nazwy volume, które były połączone z maszyną wirtualną w momencie tworzenia snapshot, nie zostaną zachowane.

Jeśli w przyszłości chcesz utworzyć maszynę wirtualną z tego instance snapshot:

  • Jeśli nie masz snapshot volume, który instance używał jako dysk startowy, nie będziesz w stanie odtworzyć instancji tego snapshot.

  • Jeśli snapshot któregoś z dołączonych volume nie istnieje, maszyna wirtualna zostanie odtworzona bez tego volume.

Eksplorowanie instance snapshot i volume snapshot, które zostały utworzone

Podczas gdy nadal znajdujesz się w sekcji Compute -> Images na dashboardzie Horizon, kliknij na nazwę instance snapshot, który właśnie utworzyłeś. Powinieneś zobaczyć jego właściwości, w tym:

../_images/instance_persistent_show_data.png

W sekcji Custom Properties powinieneś zobaczyć właściwość o nazwie block_device_mapping. Ta właściwość powinna zawierać listę innych snapshot volume, które zostały utworzone.

W tym przykładzie, ponieważ instancja miała tylko jeden dołączony volume, ta lista zawiera tylko jeden element:

[
     {"guest_format": null,
     "volume_id": null,
     "disk_bus": "scsi",
     "device_type": "disk",
     "device_name": "/dev/sda",
     "image_id": null,
     "volume_type": null,
     "snapshot_id": "562cf0d4-0598-4bea-a4b0-c85660341e33",
     "volume_size": 18,
     "delete_on_termination": false,
     "destination_type": "volume",
     "no_device": null,
     "tag": null,
     "boot_index": 0,
     "source_type": "snapshot"
     }
]

Wartość klucza snapshot_id to identyfikator tego volume snapshot. Aby zobaczyć ten snapshot volume, nawiguj do sekcji Volume -> Snapshots.

../_images/instance_persistent_volume_shapshot.png

Co się dzieje, gdy istnieje wiele volumes?

Jeśli wiele volumes było dołączonych do twojej instancji, snapshot każdego z nich powinien pojawić się na liście. Na przykład, tak mogłaby wyglądać ta lista, gdyby były dwa volume:

../_images/how-to-create-instance-snapshot-horizon-13_creodias.png

W tym przykładzie mamy dwa snapshot volume, każdy utworzony dla jednego z volume naszej maszyny wirtualnej:

  • jeden z ID 8c158dce-2a98-47ab-8c17-eeab88376e95 i rozmiarem 16 GB, oraz

  • inny z ID 9599d9e7-f556-4cd3-ab15-61969f6d7344 i rozmiarem 5 GB.

Co można zrobić dalej?

Aby utworzyć nową maszynę wirtualną z instance snapshot, zobacz

Można utworzyć instance snapshot również przy użyciu OpenStack CLI. Zobacz Jak utworzyć instance snapshot za pomocą OpenStack CLI na NSIS

Dyskusja na temat volume startowych i niestartowych znajduje się w Volumes rozruchowe i nierozruchowe w NSIS.

Pobieranie instance snapshot

Storage ephemeral

To polecenie powinno działać poprawnie dla pobierania snapshot, który używa storage ephemeral.

Storage persistent

Wykonanie tego polecenia w celu pobrania snapshot, który używa storage persistent, spowoduje pobranie pustego pliku.