Dowiedz się, jak przypisać nowy wolumen do instancji Public Cloud
Wprowadzenie
Możesz utworzyć dodatkowe dyski dla instancji Public Cloud.
Może to być przydatne w następujących przypadkach:
Jeśli chcesz zwiększyć przestrzeń dyskową bez konieczności zmiany szablonu instancji.
Jeśli chcesz dysponować przestrzenią dyskową o wysokiej dostępności i wysokiej wydajności.
Jeśli chcesz przenieść przestrzeń dyskową i dane do innej instancji.
Jeśli chcesz przygotować środowisko do korzystania z Terraform, musisz przygotować środowisko.
Dowiedz się, jak utworzyć dodatkowy dysk i skonfigurować go na Twojej instancji.
Wymagania początkowe początkowe
Posiadanie instancji Public Cloud na koncie OVHcloud
Dostęp administratora (sudo) do Twojej instancji przez SSH
Przygotuj środowisko, jeśli chcesz korzystać z Terraform
Dostęp do Panelu klienta OVHcloud
Link bezpośredni:
Ścieżka nawigacji:Public Cloud > Wybierz projekt
Warning
Ta funkcja nie jest aktualnie dostępna dla instancji Metal.
W praktyce
Rodzaje wolumenów
OVHcloud oferuje trzy rodzaje wolumenów Block Storage, z których każdy jest dostosowany do specyficznych potrzeb w zakresie wydajności, pojemności i kosztów. Rozwiązania te pozwalają na przypisanie trwałych wolumenów przestrzeni dyskowej do Twoich instancji i gwarantują wysoki poziom niezawodności i dostępności. Jeśli ta funkcja jest dostępna, szyfrowanie można włączyć podczas tworzenia woluminu dla wszystkich typów woluminów z wyjątkiem woluminów typu Classic z wieloma atakami w regionach 3AZ.
Classic - 500 IOPS gwarantowanych
Wolumen Classic to niezawodne i ekonomiczne rozwiązanie do przechowywania danych, idealne do obsługi obciążeń o umiarkowanej wydajności. Oferuje 500 gwarantowanych IOPS, dzięki czemu nadaje się do następujących zastosowań:
Hosting klasycznych aplikacji www
Małe i średnie przechowywanie baz danych
Archiwizacja i kopie zapasowe danych
W regionach 3AZ woluminy Classic są usługami regionalnymi, które korzystają z Erasure Coding rozproszonego między kilkoma strefami dostępności. Dzięki temu zyskujesz gwarancję dostępności danych bez wpływu na strefę i bez przerw w jej działaniu, pod warunkiem, że spełnione są wymagania odpornej architektury z możliwością wielokrotnego przyłączenia. Aby uzyskać więcej informacji, zapoznaj się z przewodnikiem "Prawidłowe użycie i ograniczenia pamięci masowej Classic Multi-Attach w regionach 3AZ".
High Speed Gen2 – 30 IOPS/GB i do 20 000 IOPS
Wolumeny High Speed drugiej generacji są zoptymalizowane pod kątem najbardziej wymagających obciążeń. Wydajność skaluje się wraz z rozmiarem wolumenu:
IOPS: 30 IOPS/GB (bazowo 3 000 IOPS dla 10–100 GB, do 20 000 IOPS)
Przepustowość: 0,5 MB/s/GB (bazowo 50 MB/s dla 10–100 GB, do 512 MB/s)
Maksymalny rozmiar: 12 TB
Ten typ wolumenu jest zalecany do następujących zastosowań:
Big Data i analizy w czasie rzeczywistym
Sztuczna inteligencja i Machine Learning
Przetwarzanie dużych baz danych i przestrzeń dyskowa o wysokiej wydajności
Info
Nie można już zamawiać wolumenów High Speed (Gen1) za pośrednictwem Panelu klienta OVHcloud. Zostały one zastąpione przez wolumeny High Speed Gen2 w tej samej cenie, oferujące lepszą wydajność dla wolumenów powyżej 100 GB. Wolumeny High Speed pozostają dostępne za pośrednictwem API, Terraform oraz OpenStack.
Istniejące wolumeny High Speed są nadal obsługiwane. Możesz również zmienić typ wolumenu Block Storage, aby przeprowadzić ich migrację do Gen2.
Info
Każdy typ woluminu jest również dostępny w wersji zaszyfrowanej (LUKS). Wolumeny te zapewniają poufność danych bez wpływu na wydajność. Są one dostępne w Panelu klienta OVHcloud, jak również z narzędziami przedstawionymi w następnej sekcji, wskazując typ:<volume_type>-luks.
Przypisz nowy wolumen
W Panelu klienta OVHcloud
Via Terraform
W interfejsie Horizon
Za pośrednictwem CLI OpenStack
Przez OVHcloud CLI
Otwórz Block Storage w menu po lewej stronie, pod Storage & backup.
W tej części kliknij przycisk Utwórz wolumen.
Postępuj zgodnie z kolejnymi instrukcjami, aby wybrać lokalizację, typ dysku, szyfrowanie i pojemność dysku. Wprowadź nazwę wolumenu i zatwierdź, klikając Utwórz wolumen.
Warning
Uwaga: Wolumen musi być utworzony w tym samym regionie, co instancja, do której ma zostać przypisany. Jeśli utworzysz ją w innym regionie, możesz ją usunąć i odtworzyć w odpowiednim regionie.
Nowy dysk pojawi się wówczas w panelu klienta.
Po prawej stronie wolumenu kliknij przycisk... i wybierz Przypisz do instancji.
W oknie, które się pojawi, wybierz instancję z listy i kliknij na Potwierdź, aby przyłączyć dysk.
Rozpocznie się proces przyłączania dysku do instancji. Może to potrwać kilka minut.
Warning
Nie opuszczaj bieżącej strony w Panelu klienta OVHcloud, gdy dysk jest podłączony. Mogłoby to spowodować przerwanie procesu.
Warning
Należy pamiętać, że typy woluminów "high-speed-gen2" i "luks" mogą nie być dostępne we wszystkich regionach.
Typy woluminów:
Classic
High-speed
High-speed-gen2
Classic-luks
High-speed-luks
High-speed-gen2-luks
Typy kończące się na -luks są zaszyfrowane (LUKS).
Nie modyfikuj ani nie usuwaj tego klucza, jeśli jest on związany z wolumenem Block Storage. Dzięki temu dane znajdujące się na tym woluminie oraz wszystkie migawki będą definitywnie nieodwracalne.
Aby utworzyć prosty wolumen Block Storage, potrzebujesz 3 elementów:
Nazwa wolumenu
Region
Rozmiar wolumenu w GB
W naszym przykładzie utworzymy block storage w regionie GRA11 o rozmiarze 10 GB. Dodaj następujące linie w pliku o nazwie simple_blockstorage.tf:
# Creation of a block storage volumeresource "openstack_blockstorage_volume_v3" "terraform_blockstorage" { name = "terraform_blockstorage" # Name of the block storage volume size = 10 # Volume size region = "GRA11" # Region where the volume must be created volume_type = "volume_type" # classic, high-speed, high-speed-gen2 or equivalent `-luks`}
Następnie przypiszemy ją do instancji docelowej.
Warning
Instancja i wolumin muszą znajdować się w tym samym regionie.
Dodaj następujące wiersze poniżej poprzednich:
# Attach the volume to the instanceresource "openstack_compute_volume_attach_v2" "volume_attach" { instance_id = "<your_instance_id>" volume_id = openstack_blockstorage_volume_v3.terraform_volume.id}
Możesz utworzyć wolumen block storage i przypisać go do wybranej instancji. W tym celu wprowadź następującą komendę:
terraform apply
Wyjście powinno wyglądać tak:
$ terraform applyTerraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + createTerraform will perform the following actions: # openstack_blockstorage_volume_v3.terraform_blockstorage will be created + resource "openstack_blockstorage_volume_v3" "terraform_blockstorage" { + attachment = (known after apply) + availability_zone = (known after apply) + id = (known after apply) + metadata = (known after apply) + name = "terraform_blockstorage" + region = "GRA11" + size = 10 + volume_type = "high-speed-gen2" } # openstack_compute_volume_attach_v2.volume_attach will be created + resource "openstack_compute_volume_attach_v2" "volume_attach" { + device = (known after apply) + id = (known after apply) + instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780" + region = (known after apply) + volume_id = (known after apply) }Plan: 2 to add, 0 to change, 0 to destroy.Do you want to perform these actions in workspace "test_terraform"? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yesopenstack_blockstorage_volume_v3.terraform_blockstorage: Creating...openstack_blockstorage_volume_v3.terraform_blockstorage: Still creating... [10s elapsed]openstack_blockstorage_volume_v3.terraform_blockstorage: Creation complete after 12s [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]openstack_compute_volume_attach_v2.volume_attach: Creating...openstack_compute_volume_attach_v2.volume_attach: Still creating... [10s elapsed]openstack_compute_volume_attach_v2.volume_attach: Creation complete after 14s [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Przejdź do sekcji rozwijanej Volumes, kliknij Volumes, a następnie Create Volume.
Wpisz pole Volume Name i wybierz rodzaj wolumenu, który chcesz wybrać. Następnie kliknij Create Volume.
Warning
Pamiętaj, że jeśli typ woluminu "high-speed-gen2" lub "luks" nie pojawia się na liście, oznacza to, że nie jest dostępny w tym regionie.
Aby przypisać wolumen do instancji, w linii wolumenu kliknij strzałka znajdująca się na końcu linii obok Edit Volume. Następnie kliknij Manage Attachments
Wybierz instancję, do której chcesz przypisać wolumen, następnie kliknij Attach Volume.
Warning
Pamiętaj, że jeśli typ woluminu "high-speed-gen2" lub "luks" nie pojawia się na liście, oznacza to, że nie jest dostępny w tym regionie.
Typy woluminów:
Classic
High-speed
High-speed-gen2
Classic-luks
High-speed-luks
High-speed-gen2-luks
Typy kończące się na -luks są zaszyfrowane (LUKS).
Nie modyfikuj ani nie usuwaj tego klucza, jeśli jest on związany z wolumenem Block Storage. Dzięki temu dane znajdujące się na tym woluminie oraz wszystkie migawki będą definitywnie nieodwracalne.
Wyświetl dostępne typy woluminów w regionie:
openstack volume type list
Utwórz wolumen, określając przynajmniej jego rozmiar (w GB) oraz jego typ spośród wcześniej wymienionych. Możesz również wskazać nazwę wolumenu na końcu zamówienia.
Aby przypisać wolumen do instancji dostępnej w regionie, użyj następującego polecenia:
openstack server add volume <server-id|server-name> <volume-id|volume-name>+-----------+-------------------------------------+| Field | Value |+-----------+-------------------------------------+| ID | 7d3d670f- ****-****-****-60dd1e6**** || Server ID | 74317f97-****-****-80cf2d4**** || Volume ID | 7d3d670f-****-****-****-60dd1e6**** || Device | /dev/sdb || Tag | None |+-----------+-------------------------------------+
Warning
Jeśli typ woluminu high-speed-gen2 lub luks nie pojawia się na liście, oznacza to, że nie jest dostępny w tym regionie.
Opcja
Opis
<region>
Region, w którym wolumen zostanie utworzony (np. GRA11)
--name
Nazwa wolumenu
--size
Rozmiar wolumenu w GB
--type
Typ wolumenu: classic, high-speed, high-speed-gen2 lub równoważny wariant -luks
--wait
Poczekaj na zakończenie tworzenia przed wyjściem
Utwórz wolumen, podając region, nazwę, rozmiar w GB oraz typ:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 254:0 0 10G 0 disk└─vda1 254:1 0 10G 0 part /vdb 254:16 0 10G 0 disk
Info
W tym przykładzie vda odnosi się do dysku domyślnego instancji. Dodatkowy dysk zostanie nazwany vdb.
Utwórz partycję na dodatkowym dysku za pomocą poniższych poleceń.
Jeśli dodatkowy dysk jest mniejszy niż 2 TB:
sudo fdisk /dev/vdb
Welcome to fdisk (util-linux 2.25.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition table.Created a new DOS disklabel with disk identifier 0x95c4adcc.Command (m for help): nPartition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions)Select (default p):Using default response p.Partition number (1-4, default 1):First sector (2048-20971519, default 2048):Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519):Created a new partition 1 of type 'Linux' and of size 10 GiB.Command (m for help): wThe partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.
Jeśli dodatkowy dysk jest większy niż 2 TB:
sudo parted /dev/vdb
GNU Parted 3.5Using /dev/vdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkpart PART-TYPE [FS-TYPE] START END make a partition name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all] display the partition table, or available devices, or free space, or all found partitions quit exit program rescue START END rescue a lost partition near START and END resizepart NUMBER END resize partition NUMBER rm NUMBER delete partition NUMBER select DEVICE choose the device to edit disk_set FLAG STATE change the FLAG on selected device disk_toggle [FLAG] toggle the state of FLAG on selected device set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted(parted) mklabel gpt (parted) mkpart primary 0 3750G Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0sIgnore/Cancel? I (parted) quit
Następnie utworz nową partycję vdb, używając polecenia:
sudo mkfs.ext4 /dev/vdb1
mke2fs 1.42.12 (29-Aug-2014)Creating filesystem with 2621184 4k blocks and 655360 inodesFilesystem UUID: 781be788-c4be-462b-b946-88429a43c0cfSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done
Zamontuj partycję za pomocą następujących poleceń:
sudo mkdir /mnt/disk
sudo mount /dev/vdb1 /mnt/disk/
Sprawdź punkt montowania za pomocą tego polecenia:
Kliknij prawym przyciskiem myszy na dysk i wybierz Online.
Jeśli dysk jest pokazany tutaj jako offline, jest to prawdopodobnie wynikiem polityki uruchomionej na instancji. Aby rozwiązać ten problem, kliknij prawym przyciskiem myszy na dysk i wybierz Online.
Kliknij prawym przyciskiem myszy i wybierz tym razem Zainicjuj dysk.
Następnie wybierz MBR, jeśli dodatkowy dysk ma mniej niż 2 TB, lub GPT, jeśli ma więcej niż 2 TB, a następnie kliknij OK.
Zainstaluj dysk za pomocą DISKPART
Kliknij prawym przyciskiem myszy przycisk Start i otwórz Uruchom.
Wpisz cmd i kliknij OK, aby otworzyć aplikację wiersza poleceń.
Na zamówienie otwórz DISKPART:
C:\> diskpart
Użyj następującej serii poleceń DISKPART, aby umieścić dysk online:
DISKPART> sanSAN Policy : Offline SharedDISKPART> san policy = OnlineAllDiskPart successfully changed the SAN policy for the current operating system .- Implementation of the strategy on the extra disk:[Code] DISKPART> list diskDisk ### Status Size Free Dyn Gpt-------- ------------- ------- ------- --- ---Disk 0 Online 200 GB 0 B* Disk 1 Offline 10 GB 1024 KBDISKPART> select disk 1Disk 1 is now the selected disk.DISKPART> attributes disk clear readonlyDisk attributes cleared successfully.DISKPART> attributes diskCurrent Read-only State : NoRead-only : NoBoot Disk : NoPagefile Disk : NoHibernation File Disk : NoCrashdump Disk : NoClustered Disk : NoDISKPART> online diskDiskPart successfully onlined the selected disk.
Formacja dysku
W narzędziu Zarządzanie dyskami kliknij prawym przyciskiem myszy nowy dysk i wybierz Nowy prosty wolumen....
W asystencie kliknij Dalej, aby określić rozmiar woluminu. Domyślnie musi być maksymalnie. Kliknij na Dalej, aby kontynuować.
Pozostaw nowy domyślny list odtwarzacza lub wybierz inny, a następnie kliknij Dalej.
Nazwij wolumen (opcjonalnie) i potwierdź opcje formatowania, klikając Dalej.
W ostatnim oknie kliknij Zakończ, aby sformatować dysk.
Dysk będzie następnie dostępny jako dysk w eksploratorze plików.
Odłącz wolumen
Jeśli chcesz odłączyć wolumen od instancji, najlepszym rozwiązaniem jest odmontowanie wolumenu systemu operacyjnego przed odłączeniem go od instancji.
Warning
Wyświetli się komunikat o błędzie, jeśli na dodatkowym dysku uruchomione jest oprogramowanie lub proces. W takim przypadku zaleca się zatrzymanie wszystkich procesów przed kontynuowaniem.
Oto jak odmontować wolumin z systemu operacyjnego przed odłączeniem go od instancji:
Wprowadź następujące polecenie, aby sprawdzić, czy poprawny zasób zostanie usunięty:
terraform plan
Wyjście powinno wyglądać tak:
$ terraform planopenstack_compute_volume_attach_v2.va_1: Refreshing state... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]openstack_blockstorage_volume_v3.terraform_volume: Refreshing state... [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: - destroyTerraform will perform the following actions: # openstack_compute_volume_attach_v2.va_1 will be destroyed # (because openstack_compute_volume_attach_v2.va_1 is not in configuration) - resource "openstack_compute_volume_attach_v2" "va_1" { - device = "/dev/sdb" -> null - id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null - instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780" -> null - region = "GRA11" -> null - volume_id = "daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null }Plan: 0 to add, 0 to change, 1 to destroy.
Następnie zastosuj zmiany, wprowadzając następującą komendę:
terraform apply
Wyjście powinno wyglądać tak:
$ terraform applyopenstack_compute_volume_attach_v2.va_1: Refreshing state... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]openstack_blockstorage_volume_v3.terraform_volume: Refreshing state... [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: - destroyTerraform will perform the following actions: # openstack_compute_volume_attach_v2.va_1 will be destroyed # (because openstack_compute_volume_attach_v2.va_1 is not in configuration) - resource "openstack_compute_volume_attach_v2" "va_1" { - device = "/dev/sdb" -> null - id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null - instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780" -> null - region = "GRA11" -> null - volume_id = "daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null }Plan: 0 to add, 0 to change, 1 to destroy.Do you want to perform these actions in workspace "test_terraform"? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yesopenstack_compute_volume_attach_v2.va_1: Destroying... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]openstack_compute_volume_attach_v2.va_1: Still destroying... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806, 10s elapsed]openstack_compute_volume_attach_v2.va_1: Destruction complete after 17sApply complete! Resources: 0 added, 0 changed, 1 destroyed.
Parametr
Opis
<volume_id>
ID wolumenu, który ma zostać odłączony
<instance_id>
ID instancji, od której wolumen ma zostać odłączony