如何调整OpenStack实例/虚拟机的大小

时间:2020-02-23 14:41:12  来源:igfitidea点击:

调整大小/成长openstack实例或者虚拟机的大小是多么容易?
OpenStack Compute是提供根据需求的虚拟机的中央组件。
它使Sysadmins能够创建具有特定硬件规范的实例 - RAM,CPU和磁盘空间。

在OpenStack中,每个创建的实例都有一种风格(资源模板),它决定了实例的大小和容量。
Flavors还可以指定二次暂时存储,交换磁盘,元数据来限制使用,或者特殊项目访问。
必须定义这些额外的属性以存储所需的值。

我们可以使用命令从命令行检查可用的flavor:

$openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 0  | m1.tiny   |  1024 |   10 |         0 |     1 | True      |
| 1  | m1.small  |  2048 |   20 |         0 |     1 | True      |
| 2  | m1.medium |  4096 |   20 |         0 |     2 | True      |
| 3  | m1.large  |  8192 |   40 |         0 |     4 | True      |
| 4  | m1.xlarge | 16384 |   40 |         0 |     4 | True      |
+----+-----------+-------+------+-----------+-------+-----------+

作为OpenStack管理员,我们很可能会遇到基于新兴计算需求的服务器升级或者降级服务器的方案。
例如,我们可以使用2GB的RAM部署服务器,并希望将其升级为4GB的RAM。

我有一个Debian 10服务器在OpenStack Stein平台上运行,具有以下硬件规格。

$openstack server show deb10
+-------------------------------------+----------------------------------------------------------+
| Field                               | Value                                                    |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-AZ:availability_zone         | nova                                                     |
| OS-EXT-SRV-ATTR:host                | server1.theitroad.com                            |
| OS-EXT-SRV-ATTR:hypervisor_hostname | server1.theitroad.com                            |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000024                                        |
| OS-EXT-STS:power_state              | Running                                                  |
| OS-EXT-STS:task_state               | None                                                     |
| OS-EXT-STS:vm_state                 | active                                                   |
| OS-SRV-USG:launched_at              | 2019-09-17T16:34:03.000000                               |
| OS-SRV-USG:terminated_at            | None                                                     |
| accessIPv4                          |                                                          |
| accessIPv6                          |                                                          |
| addresses                           | private=10.10.1.104                                      |
| config_drive                        |                                                          |
| created                             | 2019-09-17T16:33:58Z                                     |
| flavor                              | m1.small (1)                                             |
| hostId                              | da0a05ef20a03e97f301563551bab9b669ef04adbce232d941519946 |
| id                                  | 04ed473d-c889-40c2-9204-3a4544e419dc                     |
| image                               | Debian-10 (f0ac705b-ee73-4de8-95f7-4e06569f0f5c)         |
| key_name                            | mykey1                                                   |
| name                                | deb10                                                    |
| progress                            | 0                                                        |
| project_id                          | 06bcc3c56ab1489282b65681e782d7f6                         |
| properties                          |                                                          |
| security_groups                     | name='default'                                           |
| status                              | ACTIVE                                                   |
| updated                             | 2019-09-17T16:34:57Z                                     |
| user_id                             | 336acbb7421f47f8be4891eabf0c9cc8                         |
| volumes_attached                    |                                                          |
+-------------------------------------+----------------------------------------------------------+

此服务器具有2GB的RAM和20GB的根磁盘。
定义此资源的味道是m1.small。
让我们用4GB RAM和40GB磁盘空间升级它。

对于此任务,我们使用 openstack server resize命令。
这将服务器缩放到新的味道。
这是通过创建新服务器并将原始磁盘的内容复制到新的服务器来实现的。

$openstack server resize --flavor m1.medium deb10
No valid host was found. No valid host found for resize (HTTP 400) (Request-ID: req-b1c22b58-cb3b-4869-80dd-29b300459f5b)

如何解决如何解决任何有效的主机。找不到调整大小的有效主张

在First调整大小试验中,我收到错误消息"未找到有效的主机。
找不到调整大小的有效主机"。
这是因为在我的设置中我有一个计算主机。
解决这个问题,设置 allow_resize_to_same_host参数到 true在Nova配置文件中。

$sudo vi /etc/nova/nova.conf

将行添加到[默认]部分。

[DEFAULT]
allow_resize_to_same_host = True
state_path = /var/lib/nova
enabled_apis = osapi_compute,metadata
log_dir = /var/log/nova
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300
resume_guests_state_on_host_boot = True

可以添加相同的设置

sudo openstack-config --set /etc/nova/nova.conf DEFAULT allow_resize_to_same_host True

显示设置的值:

$openstack-config --get /etc/nova/nova.conf DEFAULT allow_resize_to_same_host
True

重新启动OpenStack Nova服务。

for service in compute api scheduler; do
  sudo systemctl restart openstack-nova-${service}.service
done

重试模拟调整大小。

openstack server resize --flavor m1.medium deb10

第一个是执行调整大小,第二个是确认(验证)成功并释放旧服务器,或者声明恢复释放新服务器并重新启动旧服务器。

确认服务器调整大小完成:

openstack server resize --confirm  deb10

如果要在调整大小之前还原服务器状态,请使用:

openstack server resize --revert deb10

从Horizo n UI调整OpenStack实例大小

对于UI调整大小导航到Project> Compute>实例> InstanceName> Resize实例。

选择新的味道,然后单击"调整大小"按钮。

让我们确认更改。

$openstack server show deb10
+-------------------------------------+----------------------------------------------------------+
| Field                               | Value                                                    |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-AZ:availability_zone         | nova                                                     |
| OS-EXT-SRV-ATTR:host                | server1.theitroad.com                            |
| OS-EXT-SRV-ATTR:hypervisor_hostname | server1.theitroad.com                            |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000024                                        |
| OS-EXT-STS:power_state              | Running                                                  |
| OS-EXT-STS:task_state               | None                                                     |
| OS-EXT-STS:vm_state                 | active                                                   |
| OS-SRV-USG:launched_at              | 2019-09-17T17:24:01.000000                               |
| OS-SRV-USG:terminated_at            | None                                                     |
| accessIPv4                          |                                                          |
| accessIPv6                          |                                                          |
| addresses                           | private=10.10.1.104                                      |
| config_drive                        |                                                          |
| created                             | 2019-09-17T16:33:58Z                                     |
| flavor                              | m1.medium (2)                                            |
| hostId                              | da0a05ef20a03e97f301563551bab9b669ef04adbce232d941519946 |
| id                                  | 04ed473d-c889-40c2-9204-3a4544e419dc                     |
| image                               | Debian-10 (f0ac705b-ee73-4de8-95f7-4e06569f0f5c)         |
| key_name                            | mykey1                                                   |
| name                                | deb10                                                    |
| progress                            | 0                                                        |
| project_id                          | 06bcc3c56ab1489282b65681e782d7f6                         |
| properties                          |                                                          |
| security_groups                     | name='default'                                           |
| status                              | VERIFY_RESIZE                                            |
| updated                             | 2019-09-17T17:24:02Z                                     |
| user_id                             | 336acbb7421f47f8be4891eabf0c9cc8                         |
| volumes_attached                    |                                                          |
+-------------------------------------+----------------------------------------------------------+

我们可以确认风味已更改为M1.medium和OS-EXT-STS:VM_STATE设置为Active。
在VM终端上可以看出相同的相同。

Hyman@theitroad:~$free -h
              total        used        free      shared  buff/cache   available
Mem:          3.9Gi        50Mi       3.7Gi       6.0Mi        80Mi       3.6Gi
Swap:         4.0Gi          0B       4.0Gi
Hyman@theitroad:~$lscpu 
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       39 bits physical, 48 bits virtual
CPU(s):              2
...
$lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0  20G  0 disk 
└─vda1 254:1    0  20G  0 part /
vdb    254:16   0   4G  0 disk [SWAP]