Jako správce cloudu je změna velikosti nebo změny zdrojů instance nebo virtuálního počítače jedním z nejběžnějších úkolů.
V prostředí Openstack existují některé scénáře, kdy uživatel cloudu roztočí vm pomocí nějaké varianty (jako m1.smalll), kde je velikost disku kořenového oddílu 20 GB, ale v určitém okamžiku chce uživatel rozšířit velikost kořenového oddílu na 40 GB . Takže změnu velikosti kořenového oddílu vm lze provést pomocí možnosti změny velikosti v příkazu nova. Během změny velikosti musíme určit novou variantu, která bude zahrnovat velikost disku 40 GB.
Poznámka: Jakmile rozšíříte zdroje instance, jako je RAM, CPU a disk pomocí možnosti změny velikosti v openstacku, nemůžete je snížit.
Další informace :Jak vytvořit a odstranit virtuální počítač (VM) z příkazového řádku v OpenStack
V tomto tutoriálu ukážu, jak změnit velikost instance openstack z příkazového řádku. Předpokládejme, že mám existující instanci s názvem „test_resize_vm “ a jeho přidružená varianta je „m1.small“ a velikost disku kořenového oddílu je 20 GB.
Provedením níže uvedeného příkazu z uzlu řadiče zkontrolujte, na kterém výpočetním hostiteli je zřízen náš virtuální počítač „test_resize_vm“ a podrobnosti o jeho variantě
:~# openstack server show test_resize_vm | grep -E "flavor|hypervisor" | OS-EXT-SRV-ATTR:hypervisor_hostname | compute-57 | | flavor | m1.small (2) | :~#
Přihlaste se také k virtuálnímu počítači a zkontrolujte velikost kořenového oddílu
[[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 20G 885M 20G 5% / devtmpfs devtmpfs 900M 0 900M 0% /dev tmpfs tmpfs 920M 0 920M 0% /dev/shm tmpfs tmpfs 920M 8.4M 912M 1% /run tmpfs tmpfs 920M 0 920M 0% /sys/fs/cgroup tmpfs tmpfs 184M 0 184M 0% /run/user/1000 [[email protected] ~]# echo "test file for resize operation" > demofile [[email protected] ~]# cat demofile test file for resize operation [[email protected] ~]#
Získejte dostupný seznam příchutí pomocí níže uvedeného příkazu
:~# openstack flavor list +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+ | 2 | m1.small | 2048 | 20 | 0 | 1 | True | | 3 | m1.medium | 4096 | 40 | 0 | 2 | True | | 4 | m1.large | 8192 | 80 | 0 | 4 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True | +--------------------------------------+-----------------+-------+------+-----------+-------+-----------+
Takže budeme používat variantu „m1.medium“ pro operaci změny velikosti. Spusťte příkaz beneath nova pro změnu velikosti „test_resize_vm“,
Syntaxe:# nova resize {VM_Name} {flavor_id} —poll
:~# nova resize test_resize_vm 3 --poll Server resizing... 100% complete Finished :~#
Nyní potvrďte operaci změny velikosti pomocí „openstack server –confirm“ příkaz,
~# openstack server list | grep -i test_resize_vm | 1d56f37f-94bd-4eef-9ff7-3dccb4682ce0 | test_resize_vm | VERIFY_RESIZE |private-net=10.20.10.51 | :~#
Jak můžeme vidět ve výše uvedeném výstupu příkazu , aktuální stav vm je „verify_resize “, proveďte níže uvedený příkaz pro potvrzení změny velikosti,
~# openstack server resize --confirm 1d56f37f-94bd-4eef-9ff7-3dccb4682ce0 ~#
Po potvrzení změny velikosti bude stav virtuálního počítače aktivní, nyní znovu ověřte podrobnosti o hypervizoru a variantě pro virtuální počítač
:~# openstack server show test_resize_vm | grep -E "flavor|hypervisor" | OS-EXT-SRV-ATTR:hypervisor_hostname | compute-58 | | flavor | m1.medium (3)|
Nyní se přihlaste ke svému virtuálnímu počítači a ověřte velikost kořenového oddílu
[[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 40G 887M 40G 3% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.4M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs tmpfs 380M 0 380M 0% /run/user/1000 [[email protected] ~]# cat demofile test file for resize operation [[email protected] ~]#
Tím potvrdíte, že velikost kořenového oddílu virtuálního počítače byla úspěšně změněna.
Poznámka: Z nějakého důvodu, pokud operace změny velikosti nebyla úspěšná a chcete vrátit vm zpět do předchozího stavu, spusťte následující příkaz,
# openstack server resize --revert {instance_uuid}
Pokud jste si všimli „openstack server show “, po změně velikosti je VM migrován z compute-57 na compute-58. Toto je výchozí chování příkazu „nova resize“ (tj. příkaz nova resize migruje instanci na jiný výpočet a poté změní její velikost na základě podrobností o variantě)
V případě, že máte pouze jeden výpočetní uzel, změna velikosti nova nebude fungovat, ale můžeme to zprovoznit změnou níže uvedeného parametru v souboru nova.conf na výpočetním uzlu,
Přihlaste se do výpočetního uzlu, ověřte hodnotu parametru
[[email protected] ~]# grep -i resize /etc/nova/nova.conf allow_resize_to_same_host = True [[email protected]tack-linuxtechi ~]#
Pokud „allow_resize_to_same_host ” je nastaveno na False, poté jej změňte na True a restartujte výpočetní službu nova.
Další informace Deployment OpenStack pomocí Devstack v systému CentOS 7 / RHEL 7
To je vše z tohoto tutoriálu, v případě, že vám to pomůže technicky, podělte se o své názory a komentáře.