Volumes rozruchowe i nierozruchowe w NSIS
Każdy volume ma wskaźnik o nazwie bootable, który pokazuje, czy można z niego uruchomić system operacyjny. Wskaźnik ten można ustawić ręcznie w dowolnym momencie. Jeśli ustawisz go na volume, który nie zawiera bootowalnego systemu operacyjnego, a następnie spróbujesz uruchomić z niego maszynę wirtualną, w odpowiedzi zobaczysz błąd.
W tym artykule
wyjaśnimy praktyczne różnice między volume bootable i volume non-bootable oraz
przedstawimy procedury w Horizon i OpenStack CLI, aby sprawdzić, czy volume jest bootable, czy nie.
Volume bootable i non-bootable
Volume bootable i non-bootable mają następujące podobieństwa:
Przechowywanie danych: oba typy mogą przechowywać dane (niezależnie od tego, czy są bootable, czy nie).
Odporność: mogą zostać zachowane nawet po usunięciu instancji
Snapshots: umożliwiają tworzenie snapshots, które reprezentują stan volume w określonym momencie.
Ze snapshot można utworzyć dodatkowe volume, dzięki czemu volume działają zarówno jako środek do przechowywania danych, jak i ich przesyłania.
Bootable volume zazwyczaj służą jako dysk rozruchowy dla maszyny wirtualnej, podczas gdy non-bootable volume zazwyczaj działają tylko jako magazyn danych. Volume startowe mogą również zawierać dane, ale jedna część ich pojemności będzie przeznaczona na system operacyjny, który zawierają.
Z drugiej strony, non-bootable mogą
dodać więcej przestrzeni dyskowej do instancji (szczególnie w przypadku aplikacji, które wymagają dużej ilości danych) i
oddzielić dane od systemu operacyjnego, aby ułatwić tworzenie kopii zapasowych i zarządzać danymi.
Co będziemy omawiać
Jakie volume pojawiają się podczas tworzenia maszyny wirtualnej za pomocą Horizon dashboard?
Próba utworzenia maszyny wirtualnej z non-bootable volume przy użyciu interfejsu OpenStack CLI
Sprawdzanie, czy volume jest bootable
Sprawdzanie, czy volume snaphsot został utworzony z volume startowego
Modyfikowanie statusu bootable volume
Co się stanie, jeśli uruchomisz maszynę wirtualną z volume, który nie ma funkcjonalnego systemu operacyjnego?
Wymagania wstępne
Nr 1 Konto
Potrzebne jest konto hostingowe NSIS z dostępem do interfejsu Horizon: https://horizon.cloudferro.com.
Nr 2 Działający klient OpenStack CLI
Zakładamy, że jesteś zaznajomiony z klientem OpenStack CLI. Jeśli nie, oto kilka artykułów, które pomogą ci zacząć:
Po zainstalowaniu tego oprogramowania należy się uwierzytelnić, aby zacząć z niego korzystać: Jak aktywować dostęp OpenStack CLI do chmury NSIS przy użyciu uwierzytelniania dwuskładnikowego.
Nr 3 Znajomość procesu tworzenia maszyn wirtualnych w ramach OpenStack
Podczas tworzenia nowej maszyny wirtualnej w środowisku OpenStack można zdecydować, jakiej pamięci masowej ma ona używać do uruchamiania systemu operacyjnego. Oto niektóre z dostępnych opcji:
ephemeral storage: Opcja pamięci masowej efemerycznej i trwałej - Utwórz nowy volume w NSIS
istniejący volume
istniejący volume snapshot
volume tworzony podczas tworzenia maszyny wirtualnej
Artykuł Jak utworzyć nową maszynę wirtualną Linux w OpenStack Dashboard Horizon na NSIS Cloud pokazuje ogólną procedurę tworzenia maszyny wirtualnej, podczas gdy artykuły Maszyna wirtualna utworzona z opcją Create New Volume ustawioną na Yes na NSIS Cloud i Maszyna wirtualna utworzona z opcją Create New Volume ustawioną na No na NSIS Cloud omawiają różne opcje związane z wolumenami.
Jeśli utworzysz maszynę wirtualną z opcją Create new volume ustawioną na Yes, volume startowy zostanie dodany do listy twoich volume.
Jakie volume pojawiają się podczas tworzenia maszyny wirtualnej za pomocą Horizon dashboard?
Podczas tworzenia maszyny wirtualnej za pomocą pulpitu nawigacyjnego Horizon wyświetlane są tylko volume startowe.
Załóżmy, że mamy dwa volume o nazwach pierwszy volume i drugi volume i powiedzmy, że pierwszy z nich jest non-bootable , podczas gdy drugi, drugi volume, jest bootable.
Tak wyglądają one na pulpicie nawigacyjnym Horizon:
Podczas tworzenia instancji, jeśli wybierzemy Volume z rozwijanego menu Select Boot Source, tylko drugi volume będzie widoczny, ponieważ jest on bootable.
Próba utworzenia maszyny wirtualnej z non-bootable volume przy użyciu interfejsu OpenStack CLI
Klient OpenStack CLI zablokuje również próbę utworzenia instancji z volume nie dającego się uruchomić. Jeśli tak się stanie, zwróci komunikat podobny do tego:
Block Device cf3143bf-d227-4fa3-9224-c078f1ebdbad is not bootable. (HTTP 400) (Request-ID: req-d15e8fd6-028f-4d6b-904f-32dc78ccc3ad)
Sprawdzanie, czy volume jest bootable
Sprawdzanie, czy volume jest bootable przy użyciu pulpitu nawigacyjnego Horizon
Przejdź do Volumes -> Volumes na pulpicie nawigacyjnym Horizon. Powinieneś zobaczyć listę swoich volume:
Na tym ekranie, w wierszu zawierającym volume, który chcesz zmodyfikować, sprawdź wartość kolumny Bootable. Na powyższym zrzucie ekranu status bootable dla volume my-volume został podświetlony niebieskim prostokątem. Pokazuje to, że ten volume jest rzeczywiście bootable.
Sprawdzanie, czy volume jest bootable przy użyciu klienta OpenStack CLI
Wykonaj następujące polecenie, aby wyświetlić listę volume:
openstack volume list
Powinieneś otrzymać wynik podobny do tego:
Zawiera informacje o volume, takie jak ich identyfikatory, nazwy i rozmiary. Aby sprawdzić, czy volume jest bootable, wykonaj poniższe polecenie:
openstack volume show -c bootable <<volume_id>>
Powinna pojawić się informacja, czy volume jest bootable:
Sprawdzanie, czy volume snapshot został utworzony z bootable volume
Jeśli chcesz utworzyć maszynę wirtualną z volume snapshot, upewnij się, że volume, z którego został utworzony volume snapshot, jest bootable.
Sprawdzanie, czy volume snapshot został utworzony z bootable volume przy użyciu pulpitu nawigacyjnego Horizon
Przejdź do sekcji Volume -> Snapshots na pulpicie nawigacyjnym Horizon. Powinna zostać wyświetlona lista volume snapshot:
Kliknij nazwę volume snapshot, z którego chcesz utworzyć maszynę wirtualną:
Powinny zostać wyświetlone informacje o volume snapshot. Kliknij nazwę volume, z którego został utworzony snapshot:
W sekcji Specs sprawdź wartość o nazwie Bootable. Tutaj jest ona podświetlona czerwonym prostokątem:
Sprawdzanie, czy volume snapshot został utworzony z bootable volume przy użyciu klienta OpenStack CLI
Wykonaj następujące polecenie, aby wyświetlić listę volume snapshot:
openstack volume snapshot list
Pojawi się lista volume snapshot, podobna do tej:
Aby zobaczyć konkretne dane o volume, wykonaj to polecenie:
openstack volume snapshot show <<volume_snapshot_id>>
i zastąp <<volume_snapshot_id>> identyfikatorem volume, który chcesz utworzyć.
W tym przykładzie ten identyfikator to cd101818-d690-4905-8b4c-465d868cc07f. W związku z tym tak wyglądałoby wyświetlanie większej ilości informacji o tym volume:
Pole volume_id zawiera identyfikator volume, z którego został utworzony volume snapshot. Poniższe polecenie dostarczy informacji o tym volume (zastąp <<volume_id>> tym identyfikatorem woluminu):
openstack volume show -c bootable <<volume_id>>
Powinna pojawić się informacja, czy volume jest bootable:
Modyfikowanie statusu bootable volume
Modyfikowanie stanu rozruchowego volume przy użyciu pulpitu nawigacyjnego Horizon
Wykonaj czynności opisane w sekcji Sprawdzanie, czy volume jest bootable, metoda Korzystanie z pulpitu nawigacyjnego Horizon - uzyskaj dostęp do listy volume w pulpicie nawigacyjnym Horizon.
Jeśli chcesz zmienić status rozruchowy volume, przejdź do wiersza zawierającego informacje o tym volume. Następnie w kolumnie Actions wybierz Edit Volume:
Powinno zostać wyświetlone następujące okno:
Aby zmienić status bootable, wystarczy zaznaczyć lub odznaczyć (w zależności od tego, co chcemy osiągnąć) pole wyboru Bootable i kliknąć Submit.
W powyższym przykładzie volume o nazwie my-volume miał włączony status bootable. Jeśli chcemy go wyłączyć, możemy odznaczyć pole wyboru Bootable:
i kliknij Submit.
Następujący komunikat powinien pojawić się w prawym górnym rogu pulpitu nawigacyjnego Horizon:
Wartość kolumny Bootable również powinna ulec zmianie:
Modyfikowanie statusu rozruchowego volume przy użyciu klienta OpenStack CLI
Uzyskaj identyfikator i status rozruchowy volume, który chcesz zmodyfikować, postępując zgodnie z sekcją Sprawdzanie, czy volume jest bootable, metoda Użycie klienta OpenStack CLI.
Z non-bootable do bootable
Jeśli twój volume jest obecnie non-bootable i chcesz go zmienić na bootable, wykonaj poniższe polecenie. Zastąp w nim <<volume_id>> identyfikatorem volume, który chcesz zmodyfikować:
openstack volume set --bootable <<volume_id>>
Jeśli polecenie powiodło się, dane wyjściowe powinny być puste. Możesz teraz ponownie sprawdzić status volume, jak wyjaśniono w sekcji Sprawdzanie, czy volume jest bootowalny.
Z bootable do non-bootable
Z drugiej strony, jeśli twój volume jest obecnie bootable i chcesz uczynić go non-bootable, wykonaj poniższe polecenie. Zastąp <<volume_id>> identyfikatorem volume, który chcesz zmodyfikować:
openstack volume set --non-bootable <<volume_id>>
Jeśli polecenie powiodło się, dane wyjściowe powinny być puste. Możesz teraz ponownie sprawdzić status volume, jak wyjaśniono w sekcji Sprawdzanie, czy volume jest bootable.
Co się stanie, jeśli uruchomisz maszynę wirtualną z volume, który nie ma funkcjonalnego systemu operacyjnego?
Technicznie możliwe jest uruchomienie maszyny wirtualnej z volume, który ma status ustawiony na bootable, ale nie zawiera systemu operacyjnego, który można uruchomić.
W takim przypadku maszyna wirtualna powinna zostać uruchomiona, ale jej BIOS nie wykryje możliwego do uruchomienia systemu operacyjnego. W konsoli sieciowej powinieneś zobaczyć, że BIOS wyświetla odpowiedni komunikat, podobny do tego: